Support Sparkplug MQTT protocol
amotl opened this issue · comments
About
"I am so pleased to see the Sparkplug specification bring MQTT back to the market sector it was developed for in the first place."
-- Arlen Nipper, Co-inventor of MQTT
-- https://sparkplug.eclipse.org/
Cirrus Link created Sparkplug an open source software specification, to help clients seamlessly integrate data between their sensors, devices or gateways and applications within an MQTT infrastructure.
Sparkplug is rapidly becoming the standard for the Industrial Internet of Things (IIoT) to achieve cross industry interoperability and digital transformation.
History of MQTT and Sparkplug
MQTT is a publish/subscribe messaging protocol developed over 20 years ago to address the need for lightweight communications over low bandwidth networks. The need for an MQTT definition for the IIoT was critically overdue, [and Sparkplug fills that gap].
Idea
The Internet expanded rapidly thanks to two technologies. First HTTP, a data exchange protocol, and then HTML, which was used to define the data sent by HTTP. Both technologies were needed, and the explosion of the Internet was made possible, and interoperable, by the uniform adoption of these common standards.
The same is happening today with MQTT and Sparkplug, where MQTT is the exchange protocol and Sparkplug defines the data sent. It is expected that this will provide the same explosion of interoperability and adoption for IIoT.
Resources
- https://sparkplug.eclipse.org/specification/
- https://github.com/eclipse-sparkplug/sparkplug
- https://www.eclipse.org/tahu/spec/sparkplug_spec.pdf
- https://www.hivemq.com/blog/whats-new-eclipse-sparkplug-30-specification-iiot-industry-40/
- https://www.hivemq.com/article/starter-guide-sparkplug-3-0-certification-technology-compatibility-kit-tck-industry-40/
- https://newsroom.eclipse.org/news/announcements/eclipse-sparkplug-specification-honored-iot-business-impact-award
Details
Just looking up the details, I run across that in the Sparkplug 3.0.0 specification document:
4.1. All MQTT clients that communicate using the Sparkplug B principle use the following MQTT Topic structure:
namespace/group_id/message_type/edge_node_id/[device_id]
-- https://www.eclipse.org/tahu/spec/sparkplug_spec.pdf, p. 18
It looks like the MQTT topic structure of the Sparkplug specification is not that far away from the SensorWAN addressing scheme. That's sweet.
Cheers, @einsiedlerkrebs.
The current version is Sparkplug 3, but apparently, Sparkplug 4 is coming.