Eclipse recently announced a working group to drive the adoption of the Eclipse Sparkplug specification to standardise interoperability in the Industrial Internet of things arena.
The MQTT protocol has fast become the de facto standard for messaging in IOT applications.
However MQTT was designed to be as open as possible and didn’t provide any restrictions on topic names and message structures.
The Sparkplug specification was introduced by Cirrus link in 2016 as version A and upgraded shortly afterwards to version B.
The specification provides:
- A topic name space structure as shown below:
2. A Mechanism for state management that uses birth messages and the existing last will and testament message.
3. A payload structure using Google protocol buffers.
What Does it Mean?
It means that developers and planners have clear guidelines when designing there topic namespace, packaging their message payloads, and maintaining and communicating client state which will aid interoperability of systems.
Client state is important and was an inherent feature of polled systems which MQTT replaced.
MQTT partially catered for this with last will messages and keepalives but Sparkplug extends this to include birth messages.