Sparkplug B Publishers
For the following example, eACM is collecting data from a device named “Device1”.
AUTOSOL MQTT’s SparkplugB publisher has a GroupID of “LocalGroup” and NodeID of “FirstNode” (set on the SparkplugB Sparkplug B tab).
What topics should appear in the broker?
When the publisher first starts, there will be a node birth:
...
Followed by a birth message for our the device(s). These will contain the initial values for all of the tags associated with each device:
...
Finally, in the course of normal operation, there will be a series of data messages. These are published at a the rate defined by the Publish Interval in the device object, assuming if any tag’s value has changed within that interval:
...
If communications are lost, or AUTOSOL MQTT is stopped, a node death message will arrive, signalling signaling to all subscribers that the node is down:
Code Block |
---|
spBv1.0/LocalGroup/NDEATH/FirstNode |
Info |
---|
As |
...
Sparkplug B is not a human readable format, a Sparkplug Decoder is needed to resolve the contents of these messages. |
Standard Publishers
For the following example, eACM is collecting data from a device named “Device1”, with the tag “Tag1”.
AUTOSOL MQTT’s Standard publisher has a NodeID of “LocalNode” (set on the MQTT tab).
What topics will appear in the broker?
When AUTOSOL MQTT starts up, tag data will appear with the topic:
Code Block |
---|
LocalNode/Device1/Tag1 |
It has a timestamp reflecting time of publication and the payload is the value of the tag.
When AUTOSOL MQTT stops, or when communication with the end device is lost, a death message will indicate that the node is offline with the topic:
Code Block |
---|
LocalNode/DEATH |
To write to a tag using the standard publisher, publish to the topic below with the value in clear text.
Code Block |
---|
LocalNode/Device1/WRITE/Tag1 |