Industrial Internet of Things (IIoT) is a nice concept, but is this technology ready to handle your critical data and control? Can it withstand network faults and reliably communicate data where you need it? A key element to successful data handling and communication is MQTT with Sparkplug B.
At its heart, MQTT was designed for unreliable networks. Back in the ’90s, Phillips 66 needed a way to improve telemetry reporting over its supervisory control and data acquisition (SCADA) network based on low-bandwidth dial-up and expensive VSAT (small satellite dish) technology. IBM partnered with system integrator Arcom Control Systems (now Cirrus Link Solutions) to develop a minimalist communication protocol for Phillips 66 that could gracefully handle intermittent network outages and high latency among many distributed devices over TCP/IP.
Twenty years later, MQTT had caught on in the information technology world as a flexible, efficient transport for Internet of Things (IoT) data, but these applications didn’t necessarily take advantage of MQTT’s rigorous state management and data integrity features. Cirrus Link knew that for MQTT to thrive in an industrial environment, reliability was critical; so it developed the Sparkplug B (or SpB) companion specification to address that need.
SpB-compatible devices and applications follow a standard MQTT topic format, a data-rich but efficient payload format, and enforce state management practices. These adjustments guarantee that an MQTT network is interoperable and state-aware, ready for demanding industrial applications.
By combining an industrial MQTT broker with industrially hardened SpB-compatible equipment like Opto 22’s groov EPIC [Edge Programmable Industrial Controller] and groov RIO, you can create scalable, efficient IIoT systems that resist cyberattack and provide high data integrity and availability. Let’s see how these pieces come together.
The brokered publish-subscribe communication model of MQTT improves security by design, since each network client can create bi-directional communication to many endpoints using only one outgoing connection and no open firewall ports. The MQTT server (called the broker) fully manages routing, allowing the details of each client to remain private.
Industrial-grade broker software, like Cirrus Link’s Chariot or Inductive Automation’s Ignition MQTT Distributor, provide additional security features, like access control lists (ACLs) and SSL/TLS encryption. TCP port 8883 is registered for MQTT TLS communication.
Opto 22’s groov devices, the final piece of the solution, let you configure encrypted broker communication and upload corresponding certificates of trust for identity verification and key generation.
Sparkplug B enhances MQTT messages with metadata, allowing for interesting new applications, like store-and-forward historization.
If groov devices lose connection with an MQTT server, they can queue outgoing messages in volatile or non-volatile storage, flag them as historical records, then forward them to the broker when the connection is restored. On the other side of the network, SpB-compatible MQTT subscribers, such as Inductive Automation’s Ignition MQTT Engine or Canary Labs’s MQTT Sparkplug B Data Collector, can recognize and archive these historical records.
Non-volatile groov device storage uses a power-fail-safe file system, providing additional fault tolerance.
Industrial MQTT clients and brokers also support redundancy for high availability, either by using multiple MQTT brokers or true redundant servers like Ignition MQTT Distributor. These brokers can be installed on premises or in the cloud, and groov devices can be configured with connections to as many as needed, whether over wired Ethernet, Wi-Fi, or cellular radio.
Additionally, groov devices take advantage of a Sparkplug B feature that allows them to designate and maintain connectivity with a primary back-end client, like a SCADA, historian, or IoT platform. If either the groov device or back-end client loses its connection to the current broker, the groov device rotates through available connections until it finds the back-end client again. If the store-and-forward history queue is in use, the groov device begins storing records as soon as that connection is interrupted and continues until it can deliver its records to the target application.
Building industrial internet of things
MQTT with Sparkplug B is an efficient, interoperable, and reliable communications protocol for industrial automation and IoT. It is the backbone of scalable, many-to-many data sharing across the organization. For mission-critical systems, the combination of Sparkplug B-compatible devices and an industrial MQTT broker offers security, data integrity, and high availability.
Unlike consumer IoT systems, industrially hardened devices like Opto 22’s groov EPIC and groov RIO provide complementary reliability features like a wide operating temperature range, UL hazardous locations and ATEX approvals, and a fault-tolerant file system.