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.

  • Pub/Sub Architecture: Devices publish messages to topics, and other devices subscribe to those topics.
  • Broker-based: All messages are routed through a broker (e.g., Mosquitto, HiveMQ, EMQX).
  • Lightweight and efficient: Designed for low-bandwidth, low-power, and high-latency networks.
  • Uses TCP/IP (and optionally WebSockets)
  • Standard Port: TCP 1883 (unencrypted), TCP 8883 (with TLS encryption)

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:

Platform MQTT Support
Ignition SCADA Built-in MQTT Transmission & Engine modules
Siemens Via IoT2040, SIMATIC IoT Gateway, or Edge apps
Rockwell/AB Via FactoryTalk Edge Gateway or 3rd-party bridges
Arduino/Pi/ESP32 Natively via libraries
Kepware Via MQTT client and server drivers

Pub/Sub Model Example

  1. Sensor publishes:
    Topic: factory/machine1/temperature
    Payload: 72.4
  2. PLC or SCADA subscribes to:
    factory/machine1/#
  3. Broker receives and routes messages between devices.

  • TLS encryption for data security
  • Username/password authentication
  • Access Control Lists (ACLs) for topic-level restrictions

Term Description
Broker Server that routes messages (e.g., Mosquitto)
Client Device or application that publishes/subscribes
Topic Hierarchical string path (e.g., plant1/line2/temp)
QoS Quality of Service levels (0, 1, 2) for message delivery reliability
Retain Broker stores the last message for new subscribers
LWT Last Will and Testament — notifies others if a client disconnects unexpectedly

Ideal for:

  • Connecting remote sensors to SCADA
  • Cloud-to-edge data flows
  • Real-time telemetry from PLCs, HMIs, or devices
  • Bridging OT (Operational Technology) to IT systems

Less ideal for:

  • Deterministic, hard real-time control
  • High-speed closed-loop feedback without buffering