300+ SCADA Protocol Articles & Guides
Deep dives on Modbus, DNP3, IEC 60870-5-101/104, IEC 61850, OPC UA, Profinet, MQTT, IEC 62443, and substation automation — written for practicing engineers.
MQTT 5 Payload Format Indicator & Content Type Explained
How MQTT 5 payload format description works: the Payload Format Indicator (0/1) and Content Type property, MIME types, encoding, and interoperability use cases.
MQTT 5 Maximum Packet Size Explained: Property 0x27
MQTT 5 Maximum Packet Size (Property 0x27): declare per-connection packet limits, Reason Code 0x95, tuning for embedded to high-throughput, worked examples.
MQTT 5 Request Response Pattern Explained: RPC Over MQTT
MQTT 5 request/response pattern: Response Topic (0x08), Correlation Data (0x09), Request Response Information (0x19), Response Information (0x1A), RPC patterns.
MQTT 5 Correlation Data Explained: Request/Response Pattern
MQTT 5 Correlation Data (Property 0x09) and Response Topic (0x08): how request/response messaging works in MQTT 5, patterns, examples, common mistakes.
MQTT 5 Topic Aliases Explained: Per-Connection Bandwidth
MQTT 5 Topic Aliases: Property 0x23, Topic Alias Maximum 0x22, per-connection state, bandwidth reduction, Reason Code 0x94, mapping rules, examples.
Enhanced Authentication in MQTT 5 Explained
MQTT 5 Enhanced Authentication: AUTH packet, SASL flows, SCRAM, OAUTHBEARER, GSSAPI, re-authentication. Multi-step challenge-response auth in MQTT 5.0.
MQTT 5 Flow Control Explained: Receive Maximum
MQTT 5 Flow Control: Receive Maximum (Property 0x21), Maximum Packet Size, in-flight QoS 1 and QoS 2 limits, Reason Code 0x93, tuning, examples.
MQTT 5 Negative Acknowledgements: Reason Codes Explained
MQTT 5 negative acknowledgements: how Reason Codes signal failure in PUBACK, PUBREC, SUBACK, CONNACK, DISCONNECT. Complete failure handling reference.
MQTT 5 Reason Codes, Reason Strings, and Negative Acknowledgements
How MQTT 5 improved client feedback: expanded reason codes, reason strings, server-initiated DISCONNECT, negative acknowledgements, and CONNACK capability advertisements.
MQTT 5 User Properties Explained: Custom Metadata
How MQTT 5 user properties work: arbitrary UTF-8 key-value metadata attached to most packets, with use cases for routing, traceability, payload context, and limits.
MQTT 5 Session & Message Expiry Intervals Explained
How MQTT 5 session and message expiry intervals work: bounding stored session lifetime and per-message TTL, with the values, defaults, and broker behavior explained.
What's New in MQTT 5? Features, Changes & Why Upgrade
MQTT 5.0 explained: foundational changes (properties, reason codes, Clean Start, AUTH packet), new features, why the version jumped from 3.1.1 to 5, and migration notes.