MQTT Sparkplug

A smart MQTT broker for Sparkplug B

Sparkplug B is a specification for MQTT that defines how data is sent and received.  Devices and sensors at the edge of a network can use Sparkplug B to communicate with applications like SCADA systems, historians, and analytics programs.  All of this communication goes through an MQTT broker.

DataHub SmartBroker diagram

The DataHub is a smart MQTT broker for Sparkplug B.  Unlike other MQTT brokers, rather than simply passing data along, the DataHub interprets the Sparkplug B message payloads and gives you these advantages:

Responds to errors

The DataHub can identify out-of-order or lost messages from a device.  When that occurs, the DataHub disconnects the device and allows it to reconnect.  This causes the device to re-send its startup (BIRTH) message, which will resynchronize all receiving applications, maintaining a single version of the truth.

Keeps all applications synchronized

Whenever a new application connects, the DataHub synthesizes a BIRTH message for each connected device, allowing the application to receive and process DATA messages for those devices.  This feature works even for non-primary applications, and eliminates start-up order issues between devices and applications.

Resolves failed writes to devices

The DataHub can use a timer to check all write requests to devices, to see whether the data value actually changed on the device.  If not, the DataHub can force the device to disconnect, causing it to retransmit its BIRTH message.  This will resynchronize all applications listening to that device, maintaining a single version of the truth.

Adds data quality information

When converting Sparkplug B to other protocols, the DataHub can add quality information.  For example, when it converts Sparkplug B data to OPC, the DataHub can add OPC data quality.  It can set the data quality to Good for BIRTH or DATA messages, and to Not Connected for DEATH (shutdown) messages.

A versatile client for Sparkplug B

In addition to being a smart broker, the DataHub can also act as a Sparkplug B client, in several ways:

Primary Application:

DataHub SmartBroker - Primary Application diagram

If you are building a Sparkplug B based system, the DataHub can serve as your primary application. It can provide the WebView HMI, data logging, historian and Excel connectivity, alarms, email notifications, and more.

Non-Primary Application:

DataHub SmartBroker - Non-primary Application diagram

In a similar way, if you already have a primary application, the DataHub can connect to your Sparkplug B system as a non-primary application, and provide any DataHub feature, such as WebView, data logging, historian and Excel connectivity, alarms, and email notifications.

Edge of Network Device:

DataHub SmartBroker - EoN Device diagram

If you need to feed non-Sparkplug data into a Sparkplug B system, you can connect the DataHub as an Edge of Network (EoN) device.  This will allow you to send data from sources like OPC DA and UA, Modbus TCP, database data, custom programs to your Sparkplug B applications.