MQTT (Message Queuing Telemetry Transport) is a lightweight, publish/subscribe messaging protocol used extensively in industrial automation, IoT, and SCADA systems for real-time, efficient, and reliable data communication.
<ul><li>Pub/Sub Architecture: Devices publish messages to topics, and other devices subscribe to those topics.</li><li>Broker-based: All messages are routed through a broker (e.g., Mosquitto, HiveMQ, EMQX).</li><li>Lightweight and efficient: Designed for low-bandwidth, low-power, and high-latency networks.</li><li>Uses TCP/IP (and optionally WebSockets)</li><li>Standard Port: TCP 1883 (unencrypted), TCP 8883 (with TLS encryption)</li></ul>
MQTT is becoming popular in automation systems as industries move toward Industry 4.0 and IIoT (Industrial Internet of Things). It’s supported by major automation platforms including:<table><thead><tr><th>Platform</th><th>MQTT Support</th></tr></thead><tbody><tr><td>Ignition SCADA</td><td>Built-in MQTT Transmission & Engine modules</td></tr><tr><td>Siemens</td><td>Via IoT2040, SIMATIC IoT Gateway, or Edge apps</td></tr><tr><td>Rockwell/AB</td><td>Via FactoryTalk Edge Gateway or 3rd-party bridges</td></tr><tr><td>Arduino/Pi/ESP32</td><td>Natively via libraries</td></tr><tr><td>Kepware</td><td>Via MQTT client and server drivers</td></tr></tbody></table>
Pub/Sub Model Example<ol><li>Sensor publishes:<br>Topic: factory/machine1/temperature<br>Payload: 72.4</li><li>PLC or SCADA subscribes to:<br>factory/machine1/#</li><li>Broker receives and routes messages between devices.</li></ol>
<ul><li>TLS encryption for data security</li><li>Username/password authentication</li><li>Access Control Lists (ACLs) for topic-level restrictions</li></ul>
<table><thead><tr><th>Term</th><th>Description</th></tr></thead><tbody><tr><td>Broker</td><td>Server that routes messages (e.g., Mosquitto)</td></tr><tr><td>Client</td><td>Device or application that publishes/subscribes</td></tr><tr><td>Topic</td><td>Hierarchical string path (e.g., plant1/line2/temp)</td></tr><tr><td>QoS</td><td>Quality of Service levels (0, 1, 2) for message delivery reliability</td></tr><tr><td>Retain</td><td>Broker stores the last message for new subscribers</td></tr><tr><td>LWT</td><td>Last Will and Testament — notifies others if a client disconnects unexpectedly</td></tr></tbody></table>
Ideal for:<ul><li>Connecting remote sensors to SCADA</li><li>Cloud-to-edge data flows</li><li>Real-time telemetry from PLCs, HMIs, or devices</li><li>Bridging OT (Operational Technology) to IT systems</li></ul>Less ideal for:<ul><li>Deterministic, hard real-time control</li><li>High-speed closed-loop feedback without buffering</li></ul>