Category Archives: Communication Protocols

MQTT Retained Messages Explained: Last Known Value

In MQTT, a publishing client has no guarantee that a subscribing client will actually receive its message, because pub/sub decouples them. The publisher’s only guarantee is that the message arrives at the broker; from there, delivery to subscribers depends on who is currently subscribed. Similarly, a client that has just connected and subscribed has no guarantee about when… Read More »

MQTT Persistent Sessions & Message Queuing Explained

MQTT does not behave like a classical message queue, but under specific conditions it can queue messages for clients. That capability is one of the protocol’s most important reliability features for devices on unreliable networks, and it depends entirely on a concept called the persistent session. Understanding when a session is persistent, what the broker stores in it,… Read More »

MQTT QoS Levels Explained: QoS 0, 1 and 2

Quality of Service, almost always written QoS, is the agreement between the sender of a message and its receiver about the guarantee of delivery for that specific message. It is one of MQTT’s defining features and the single biggest reason the protocol works well over networks that are slow, congested, or unreliable. Rather than forcing every application to… Read More »

MQTT Topics and Wildcards Explained

Topics are how MQTT decides which client receives which message. Because MQTT uses topic-based filtering (sometimes called subject-based filtering), the topic attached to every message is the entire basis for routing: the broker matches published topics against the topic filters that clients have subscribed to, and delivers accordingly. One distinction is worth fixing in your mind from the… Read More »

MQTT Publish, Subscribe & Unsubscribe: Packets Explained

Once a client has connected to a broker, almost everything it does comes down to three operations: publishing messages, subscribing to topics, and unsubscribing from them. Each operation has its own control packet, and most are confirmed by an acknowledgement packet from the broker. Understanding the fields these packets carry, and the acknowledgements they trigger, is what lets… Read More »

MQTT Clients, Brokers & Connection Establishment Explained

Every MQTT system is built from two kinds of participant: clients and a broker. A client is any device that speaks MQTT; the broker is the central hub that every message passes through. Before any messages can flow, a client must establish a connection to the broker, and that handshake, the CONNECT and CONNACK exchange, carries the settings… Read More »

MQTT Publish/Subscribe Pattern Explained: How Pub/Sub Works

The single most important idea in MQTT is that clients do not talk to each other directly. They talk through an intermediary, and they do so using a messaging pattern called publish/subscribe, almost always shortened to pub/sub. Every other feature of the protocol, from Quality of Service to retained messages to shared subscriptions, is built on top of… Read More »

What Is MQTT? Protocol Architecture, Packets & How It Works

MQTT is a lightweight, publish/subscribe network protocol that transports messages between devices. It was built to move small amounts of data across networks where bandwidth is limited, latency is variable, and connections drop without warning. Those constraints, first encountered on remote industrial sites, are exactly the conditions found across the modern Internet of Things, which is why MQTT… Read More »

Process Bus vs Station Bus: IEC 61850 Architecture Explained

A complete reference for substation engineers comparing the IEC 61850 process bus and station bus — what each bus does, protocols used, hardware requirements, time synchronization needs, redundancy strategies, bandwidth, topology, and procurement considerations Quick Comparison Table Aspect Process Bus Station Bus Purpose Real-time measurement + trip SCADA, configuration, supervisory Replaces Analog CT/VT wiring + binary trips Conventional… Read More »

PROFINET CC-C Hardware Requirements: IRT-Capable Ethernet Cards, ASICs, and Switches

PROFINET defines three Conformance Classes — CC-A, CC-B, and CC-C — that determine what a device can do. CC-A handles basic real-time communication. CC-B adds network diagnostics and topology discovery. CC-C adds Isochronous Real-Time (IRT) — the hardware-scheduled, sub-microsecond-jitter communication required for motion control, synchronized drives, and time-critical process control. CC-C cannot be implemented with standard Ethernet hardware.… Read More »