Overview:

The open source Sparkplug sample code can be downloaded here.  Sparkplug consist of three primary features in its definition.  The first is the MQTT topic namespace definition.  The second is the definition of the order and flow of MQTT messages to and from various MQTT clients in the system.  The final is the payload data format.  There are two Sparkplug data formats as of this writing which are explained below.  Both formats are supported by MQTT Engine.  Due to advanced features supported by Sparkplug B, MQTT Transmission uses it for its message encoding.

The Sparkplug source code is laid out with the following directories.

Implementation notes and useful tools: