Sparkplug – developed for the industry
With digitalization and global networking, the importance of a lightweight and efficient communication method for machines and devices with less power is increasing. The MQTT Sparkplug specification complements the MQTT message protocol and makes this type of communication attractive for industry. You can read everything important about Sparkplug and how you can also benefit from it in this article.
1. What is Sparkplug?
Sparkplug is a specification developed by the Eclipse Foundation for the industry that integrates certain standards and structures into MQTT communication.
Eclipse Foundation
The Eclipse Foundation is a non-profit community that supports open source projects worldwide. Founded in January 2004, it provides an open and transparent community around the Eclipse project. Based in Europe, the Foundation has several hundred members, all of whom see open source projects as an important factor in the industry.
The Eclipse Foundation is funded by annual contributions from its members. It has full-time staff dedicated to supporting and maintaining the community.
Sparkplug
In 2020, many of the Eclipse Foundation members created the Sparkplug Working Group. The goal is to develop a standard that makes it easier for vendors, manufacturers, and users to work in the Internet of Things (IoT). Working closely together, many experts have developed the open-source Sparkplug specification. A member of this working group is also inray partner HiveMQ.
Industries and distribution
The Sparkplug specification has already secured its firm place in the industry. In the IT and OT industries, one frequently encounters the use of Sparkplug. There are many different industries that use Sparkplug. Areas of application can be found, for example, in geo-information systems or in the automotive industry.
In summary, Sparkplug can be used wherever OT talks to IT.
What question do you have about MQTT Sparkplug?
2. How Sparkplug works
Communication with the Sparkplug specification is based on the MQTT principle. Several communication participants send their data and information to an MQTT broker, which then distributes it. The communication participants in Sparkplug are divided into nodes and applications.
Nodes make non-sparkplug capable machines and devices sparkplug capable in the OT. They are responsible for connected devices and take care of sending and receiving data. If a device or machine is capable of implementing the Sparkplug specification, this device is traded as its own node and can communicate directly with the MQTT broker. Example nodes in Sparkplug communication are IoT gateways, or a machine itself that speaks Sparkplug.
Applications (Application Nodes) are communication nodes that reside in IT and can receive and process information from the MQTT broker. For example, ERP systems or databases that are MQTT-capable are called applications in the network.
3. Unified Namespace (UNS)
The Unified Namespace (UNS) is a concept in the field of data management that aims to unify different data sources and types under a common namespace. Essentially, UNS provides a unified view of data, regardless of its physical storage or structure. Instead of having separate namespaces for each data source, all data is organized under a single umbrella, making it much easier to manage and access information. By creating a coherent data landscape, UNS enables seamless data integration and improves the transparency and accessibility of information for organizations and applications.
A significant use of UNS can be found in the area of Sparkplug. Sparkplug uses the ideas of the Unified Namespace to provide a standardized method for transferring data between industrial devices and applications. By creating a unified namespace for devices, sensors and controllers, Sparkplug enables smooth integration and interoperability in complex IIoT ecosystems. This not only simplifies the development and implementation of IIoT solutions, but also increases the efficiency and reliability of industrial processes.
4. Sparkplug A vs B
The Sparkplug specification is equipped with two definitions for the MQTT payload. Thus, Sparkplug A and Sparkplug B also result in two versions for industrial use. Sparkplug A is based on the open source definition of the Google Protocol Buffer from Kura. The Google Protocol Buffer is a data format for serialization with an admixture language for interfaces. Sparkplug B has been developed by many system integrators, experts and end users and provides a comprehensive data model for MQTT communication. Sparkplug version B is much more widely used in industry. When Sparkplug is mentioned, it is usually Sparkplug B that is being referred to.
5. Sparkplug in the industry
The Sparkplug specification was developed for industry and easy deployment in the field level (OT). The lightweight communication creates many different application areas. By using Sparkplug nodes, non-Sparkplug capable devices become communication participants in the Sparkplug network. Therefore, the Sparkplug specification can be used in any industry.
Companies with the goal of digitization, for example from the automotive industry, the oil industry or system integrators, rely on the Sparkplug specification. The lightweight and standards-based communication protocol has quickly secured its place since its development.
What question do you have about MQTT Sparkplug?
6. Sparkplug advantages
The Eclipse Foundation created the Sparkplug Working Group because the industry was looking for a complement in MQTT communication. Allowing machines and devices to communicate with MQTT brings numerous benefits. However, manually creating structured MQTT topics and MQTT payloads at the field level (OT) is very cumbersome. Many machines and devices do not provide the ability to add structure to MQTT messages.
Sparkplug already brings the required structure, ensuring little programming effort and easy and fast deployment in practice.
The MQTT topic and the MQTT payload have a fixed standard in the Sparkplug specification that is consistent throughout the communication. Together with the MQTT technology, Sparkplug accelerates and simplifies internal communication.
7. What is Sparkplug needed for?
The defined structures of the Sparkplug specification facilitate and accelerate internal communication. Machines and devices can thus communicate with IT by sending their data to an MQTT broker. Databases, cloud environments or other Sparkplug-enabled systems can then receive this data and use it for further processing. One cloud environment that can already receive data using the Sparkplug structure is the HiveMQ cloud. The co-founder of the Sparkplug Working Group is making MQTT data available via Sparkplug around the world. Being able to access data around the world is just one of the many benefits of digitization. Sparkplug makes it even easier to implement digitization in your own company.
The lightweight and efficient MQTT communication in combination with the Sparkplug specification offers a fast and secure transfer of data from OT to IT.
8. Safety
Since Sparkplug communicates using the MQTT message protocol, it also benefits from MQTT’s high security standards. MQTT builds a TCP/IP transport layer with which no information is sent unencrypted on the network. In addition, SSL/TLS ensures that the connection of all communication participants is encrypted and secured. This encryption prevents third parties from interfering with the network by posing as communication partners. The encryption detects this attempt and protects the internal communication. An authorization framework divides communication participants into a white and black list and additionally increases security with MQTT.
9. Sparkplug in comparison
Sending data via MQTT from the OT to the IT does not only work with Sparkplug. Data can also be shared via MQTT or OPC UA Pub/Sub. The relevant differences to the Sparkplug specification are shown here.
Sparkplug vs MQTT
Communication via MQTT offers the possibility to individually design the MQTT topic and the MQTT payload free of specifications and structures. Machines and devices that cannot be bound to a structure can thus still operate in the MQTT network. A company’s own standard can also be integrated in this way. This standard is specified for machines and devices as well as systems in IT. In this way, it is possible to communicate internally with the company’s own standard.
Sparkplug vs OPC UA Pub/Sub
With OPC UA Pub/Sub, communication is also based on the MQTT principle. With this type of communication, the data is given the OPC UA standard. Machines and devices can share their OPC UA data directly with the network via MQTT. This standard ensures little programming effort and offers fast deployment in practice. Via the MQTT broker, other devices or systems such as ERP or SQL can be connected and integrated into the network.
How to implement your digitalization strategy with MQTT Sparkplug – we will be happy to help you!
10. Sparkplug example
Sparkplug-Topic
All MQTT clients that communicate using the Sparkplug B principle use the following MQTT Topic structure:
[namespace]/[group_id]/[message_type]/[edge_node_id]/{[device_id]}
Sparkplug-payload
A Sparkplug payload consists of the following five components.
- Timestamp: The timestamp is represented as a 64-bit integer indicating milliseconds.
- Metrics: Information is passed here that describes, for example, data types present in the message.
- SEQ: The SEQ is the sequence number. All messages in the Sparkplug network are assigned a sequence number and counted in ascending order.
- UUID: UUID is used to represent a message scheme. For example, an encoding mechanism, should the message content be encoded.
- Body: Body is the message content that can be individually felt and used by the user with data.
Sparkplug Payload Example
The Sparkplug payload is sent in binary form, in protobuff format. Although the structure resembles a JSON structure, this is not the JSON format.
{
“timestamp” : 1486144502122,
“metrics” : [ {
“name” : “algorithm”,
“dataType” : “string”,
“value” : “GZIP”
} ]
“seq” : 0,
“uuid” : “SPBV1.0_COMPRESSED”,
“body” :
}
Easy communication with Sparkplug in practice
Sparkplug provides the necessary standards for the MQTT communication protocol to make it profitable to use in practice.
In practice, Sparkplug is often used for internal communication. The lightweight MQTT communication network and the standards that Sparkplug brings to the network make this type of communication lucrative. Software such as OPC Router can be used to distribute data and information from the machine throughout the network. Machine data can be sent to ERP systems such as SAP via an MQTT broker, such as the one from HiveMQ. Databases such as MongoDB or InfluxDB or cloud environments such as AWS Cloud or Microsoft Azure Cloud can also be integrated into the internal communication.
Weitere Informationen
Read what MQTT is and how it can speed up your internal communication. Our “What is MQTT” post explains everything you need to know.
Read how the use of the OPC Router from inray at the bicycle manufacturer corratec creates fail-safety and avoids downtimes. The OPC Router and the visualization software FAS create more transparent data transfers from the ERP system to the control level in perfect interaction.
Learn more about Industry 4.0! The fourth industrial revolution through digitalization: people, machines and products are directly networked with each other. Read more in our article!
Further interesting articles on the topics of Industry 4.0, cloud, technology, alerting and practical application examples as well as case studies can be found in our Knowledge Base.