Glossary · Industrial communication
Sparkplug B
Also known as: Sparkplug, MQTT Sparkplug
German: Sparkplug B
In IIoT communication, Sparkplug B is an open specification of the Eclipse Foundation that defines a topic namespace, a Protocol Buffers payload format and state management (birth and death certificates) for MQTT, so that industrial devices and applications interoperate over an MQTT broker.
- Industrial communication
- Standards
In one sentence
Sparkplug B defines topic structure, payload encoding and device state handling on MQTT for interoperable IIoT data.
Example
An edge gateway publishes a birth certificate listing all metrics of a press, then only reports changed values; SCADA marks the data stale when the death certificate arrives.
How it applies
- Engineering: Plain MQTT leaves topic names and payloads open; Sparkplug fixes them (namespace spBv1.0/group/message type/edge node/device). This lets SCADA and MES discover metrics automatically.
- State management: Birth, death and last-will messages tell consumers whether data are current. Consumers can mark values as Stale data when a node goes offline, instead of showing the last value as valid.
- Operation: Report-by-exception reduces traffic: only changed values are published after the birth message.
- Documentation: The documentation team documents group and node IDs, the metrics with names, data types and units, and the host application's behavior. Sparkplug defines a message structure but not the meaning of metrics, so a Data model is still needed.
Sparkplug B vs. OPC UA PubSub
Both give MQTT messages a defined structure. Sparkplug focuses on simple metrics and state awareness; OPC UA PubSub links messages to a full OPC UA information model.