Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

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.which is called Sparkplug B.

  • Sparkplug
  • Sparkplug A
    • Based on the open source Eclipse Kura Google Protobuf payload definition.
    • Simple design that supports metrics with a name, a datatype, and a value.
    • Native GPS support
  • Sparkplug B
    • Open source Google Protobuf definition specifically designed for Sparkplug.
    • Simple design that supports metrics with a name, a datatype, and a value.
    • Additional datatype support over what was included in Sparkplug A.
    • Supports metadata around metrics for null values, timestamps per metric, historical messages, and custom properties.
    • Supports metric name aliases to reduce bandwith usage.
    • Template support for complex data types.
    • Dataset support

...

  • client_libraries - These are libaries in various languages to aid in development
    • c - C client library
    • c_sharp - C# client library - coming soon...
    • java - Java client library
    • javascript - Javascript client library
    • python - Python client library
    sparkplug_a
    • raspberry_pi_examples - This is a set of reference implementations for use with the Raspberry Pi Model 2 B.
    • stand_alone_examples - Examples which can run on multiple platforms (no hardware specific I/O requirements)
    • tools - Utilities including a listener to view messages
  • sparkplug_b
    • raspberry_pi_examples - This is a set of reference implementations for use with the Raspberry Pi Model 2 B.
    • stand_alone_examples - Examples which can run on multiple platforms (no hardware specific I/O requirements)
    • tools - Utilities including a listener to view messages

...