MQTT is the lightweight, secure, publish-subscribe protocol that unifies Allen-Bradley, Siemens, Beckhoff, and every other PLC under one standard. No proprietary lock-in. Native JSON. Cloud-ready from day one.
Industrial protocols weren't designed for the cloud era. MQTT was. Here's how they stack up across the attributes that matter for modern manufacturing.
MQTT provides the transport. Sparkplug B adds the industrial semantics. Together, they give you a standardized, interoperable data layer across every machine.
MQTT's minimal 2-byte header and binary protocol means less bandwidth, less CPU, and lower latency than OPC-UA or HTTP-based alternatives.
Unlike binary-only protocols (Modbus, PROFINET), MQTT carries JSON natively. No custom parsers, no binary-to-text converters, no middleware translation layers.
TLS 1.3 encryption, certificate-based authentication, and topic-level ACLs. Modbus TCP has zero security. PROFINET and EtherNet/IP treat security as optional.
Every PLC vendor speaks a different language. MQTT acts as the universal translator — one protocol from shop floor to cloud, regardless of PLC brand.
MQTT unifies all your PLCs into a single data stream. On-premise broker for local speed, AWS IoT Core for cloud persistence and analytics.
MQTT payloads map directly to NoSQL documents. No translation, no middleware, no data loss.
// Direct to DynamoDB - no conversion needed { "topic": "spBv1.0/CUST00/DDATA/LOC01/MACH02", "metrics": [ { "name": "machine_state", "value": 1, "type": "Int32" }, { "name": "line_speed", "value": 12.4, "type": "Float" }, { "name": "temperature", "value": 185.2, "type": "Float" }, { "name": "fabric_length", "value": 4521, "type": "Float" } ], "timestamp": 1710288000000 }
// Requires custom parser + register mapping // Register 40001: 0x0001 (machine_state?) // Register 40002: 0x4148 0xCCCD (line_speed?) // Register 40004: 0x4339 0x3333 (temperature?) // Register 40006: 0x458D 0x2000 (fabric_length?) // No field names, no types, no timestamps // Must maintain register map spreadsheet // Byte order varies by vendor (big/little endian) // Changes require rewriting parser code 01 03 00 00 00 08 44 0C // raw bytes
Sparkplug B (Eclipse Foundation, v3.0) adds industrial semantics on top of MQTT. It defines topic structure, metric types, birth/death certificates, and state management — turning raw MQTT into a plug-and-play industrial data bus.
Edge node comes online. Declares all available devices and their metric definitions. Acts as the birth certificate for the gateway.
Edge node goes offline (via MQTT Last Will & Testament). Broker publishes automatically — no code needed. All device data marked stale.
Device (PLC) comes online. Publishes complete metric list with names, types, and initial values. Defines the data contract for this machine.
Runtime data. Only publishes changed values (report by exception). Minimizes bandwidth while keeping all subscribers current.
Device goes offline. Published by the edge node (not the device itself). Dashboard instantly shows machine as disconnected.
Write command to device. MES sends recipe parameters, batch commands, or state transitions to the PLC. Bidirectional control.
When a device connects, DBIRTH publishes every metric with name, type, and initial value. Subscribers instantly know the data contract — zero configuration.
MQTT Last Will & Testament triggers NDEATH/DDEATH automatically on disconnect. Dashboard shows offline state within seconds — no polling.
DDATA only sends changed metrics. If temperature hasn't changed, it's not in the payload. Reduces bandwidth by 80-95% vs polling protocols.
Every message has a seq number (0-255). If a gap is detected, subscriber requests a rebirth — self-healing data.
MQTT was designed with security from the ground up. Modbus has none. PROFINET and EtherNet/IP treat it as an afterthought.
Every message encrypted in transit. Mutual TLS (mTLS) with X.509 certificates ensures both client and broker verify each other's identity.
Fine-grained access control per device, per topic. Machine MACH02 can only publish to its own topics. Operators can subscribe but not command.
Per-thing policies in AWS IoT Core. Each device gets its own certificate, its own permissions, and its own audit trail. Compromised device? Revoke instantly.
MQTT's JSON payloads map directly to NoSQL documents — no ORM, no schema migration, no ETL pipeline. Store locally for speed, replicate to the cloud for analytics.
PulseMQ uses MQTT + Sparkplug B to give you one unified data layer from every PLC to the cloud — with native JSON, enterprise security, and zero proprietary lock-in.
Request a Demo