Most people working with industrial automation equipment are familiar with OPC UA
While OPC UA has long been an industry standard, work is now beginning on a broad standardization of MQTT communications via Sparkplug, the open source software specification that enables applications, sensors, devices or gateways to integrate data within an MQTT communications infrastructure. Sparkplug defines MQTT topics namespace, payload, and session state management.
At the ARC Forum 2020, the Eclipse Foundation—an independent, not-for-profit corporation that supports a vendor-neutral community of software developers for the development of open source technology—announced the launch of the Sparkplug Working Group to drive the evolution and broad adoption of the Eclipse Sparkplug Specification. According to the Eclipse Foundation, Sparkplug “enables the creation of open, interoperable, Industrial IoT (IIoT) solutions utilizing MQTT.”
The Sparkplug Working Group will focus on “the definition of technical specifications and associated implementations that rationalize access to industrial data, improve the interoperability and scalability of IIoT solutions, and provide an overall framework for supporting Industry 4.0 for oil and gas, energy, manufacturing, smart cities, and other related industries,” says the Eclipse Foundation in its release announcing the formation of the working group.
This work will address the issue of MQTT ‘s undefined topics structure and data types—a key differentiator from OPC UA which “provides a framework for standard and custom datatypes, a defined (hierarchical) namespace and a definition for request/response style communication patterns,” as noted by Jen Reiman in ctron’s blog post about OPC UA implementation with the Eclipse Foundation’s Milo (an open source communication stack for developing OPC UA clients and servers).
Founding members of the Sparkplug Working Group include Chevron, Canary Labs, Cirrus Link Solutions, HiveMQ, Inductive Automation, and ORing.
Explaining the complimentary roles of MQTT with Sparkplug and OPC UA in industrial communication, Frederic Desbiens, IoT and edge program manager at the Eclipse Foundation says “Sparkplug is lightweight enough for use with edge nodes and sensors. OPC servers are too heavyweight for these kinds of applications.”
Desbiens says the Eclipse Foundation sees Sparkplug and OPC UA co-existing for many years, with Sparkplug and MQTT forming the backbone [of industrial device communication] and OPC UA being used to integrate with systems that require OPC communications.
“MQTT can integrate with OPC UA communications using software bridges,” Desbiens says. “We have implementations with all the major protocols, even with DDS via Cyclone. We’re not playing favorites. We’re giving developers the toolkit. We want to be the leading alternative for an IoT system backbone. To do that, we’re focused on putting together a compatibility program, which is an open-source kit that users can download to certify that the products they create using MQTT are compatible with our spec. That way we can bring clarity to the markets around what is Sparkplug-compatible in a verifiable way.”
Desbiens adds that developers do not have to be an Eclipse Foundation member to get the specification or contribute ideas to it. “But you do have to be a member of the working group to have say in discussions about acceptance of ideas into spec,” he said.