The widely used MQTT communication protocol has been supported by AnyViz for five years. In contrast to fieldbus protocols, it enables direct communication between the end device and the cloud. In the second half of the year, we upgraded the implementation to the latest version and added new functionality.
Payload encoding
The MQTT specification defines how topics are transmitted according to the publisher/subscriber model. What it doesn’t define at all is the encoding of the payload. AnyViz supports efficient encoding in binary format, the interpretation of strings and the deserialization of JSON objects. With Sparkplug and OPC-UA, there are now two more ways to transfer tags via the MQTT protocol.
Sparkplug B
Sparkplug B is an open standard from the Eclipse Foundation. It has addressed the problem that the payload is not specified in the MQTT protocol. With Sparkplug B, sensors and IIoT devices can transmit their metrics efficiently and standardized within the MQTT payload. The metrics are grouped by node and device and are available without further configuration. Writing values is also straightforward. There are currently two coding schemes. AnyViz supports the improved Sparkblug B coding scheme.
OPC UA Pub/Sub
As the OPC UA protocol is a classic client/server protocol, it is not suitable for communication to the cloud. This is solved by the Pub/Sub extension, which can be used to transfer data to the cloud via the MQTT protocol. So-called DataSetWriters must be defined for this. All variables of the DataSet are then available in the portal. AnyViz supports both JSON encoding and UADP encoding.
The new MQTT 5
Version 5 of the MQTT standard was also implemented in conjunction with the new MQTT functionality. It enables better understanding of failures with reason codes, lower data consumption by using topic aliases and improved extensibility. All features are now available with protocol versions 3.1, 3.1.1 and 5.0 to ensure maximum compatibility.
You can find further details on MQTT in the online help.