Designed about 20 years ago by Arlen Nipper and Andy Stanford-Clark (IBM), MQTT (Message Queue Telemetry Transport) has established itself as the most widespread communication protocol in industrial IoT, due to its nature as a lean and intelligent mechanism given by the lightness and efficiency of bandwidth.
Both specialists were trying to figure out how to get more information on a limited bandwidth, making response times from their field control equipment even faster.
This is especially true in the latest scenario of IoT, embedded electronics and interconnected industrial devices that see an enormous amount of data to manage.
In 2016 the transnational organization OASIS (Organization for the Advancement of Structured Information Standards) stated that the MQTT protocol is the reference standard for communication for the Internet of Things.
In turn the MQTT version 3.1.1 released by OASIS was also approved by the technical committees of ISO (International Organization for Standardization) and IEC (International Electrotechnical Commission), introducing the ISO/IEC 20922 standard. In April 2019 OASIS released version 5.0 specifications.
The message exchange model
Unlike HTTP (the other more widespread TCP/IP-based communication protocol), which is based on a request/response model, MQTT uses the publish/subscribe mechanism to exchange messages through a “message broker”. Instead of sending messages to a certain set of recipients, senders publish messages on a certain topic on the message broker, each recipient subscribes to the topics that interest them and the message broker distributes it to the recipients (whenever a new message is published on that topic). In this way it is very easy to set up one-to-many messaging. In fact, asynchronous communication between objects is allowed, integrating different sources. This system greatly lightens the bandwidth, allowing only useful information to be transferred, making the system scalable, a fundamental requirement for the installation of interconnected systems.
The success of the MQTT protocol in IoT/M2M comes from a number of important features. Let’s see briefly the main ones.
MQTT provides for the use of efficient binary coding for message serialization. The size of the fixed part of the MQTT message header is 2 bytes, which is equivalent to a very low overhead. This makes MQTT an ideal protocol for exchanging large amounts of data in small packets over low-performance networks.
Low power consumption
MQTT has independent performance with respect to the type and format of data exchanged. It is in fact designed for communication in almost real-time mode, between heterogeneous devices characterized by reduced computational capacity and often battery powered. This is the case for example of M2M applications with high latency networks and limited or expensive available bandwidth.
MQTT assumes an event-oriented Publish/Subscribe communication model. This model does not require clients to polling the server for new information. Thanks to the presence of the Message Broker, the MQTT protocol guarantees a perfect decoupling between who publishes (publisher) and who consumes (subscriber) the information, supporting both the cases of use in which the clients are always connected (“always-connected”) and those in which, because of the unreliability of the underlying network, they can disconnect and reconnect continuously (“sometimes-connected”).
Quality of service
Another technologically significant aspect of MQTT is the possibility to use three different levels of QoS (Quality of Service), which publishers and subscribers can negotiate through the Broker during the connection phase, depending on the specifications.
Last but not least, from the security point of view with MQTT you can implement authentication mechanisms, taking advantage of the possibility to transfer user name and password within the transmitted messages. It is also possible to use communication encryption techniques such as TLS (Transport Layer Security) connections.
The SENECA approach
The SENECA MQTT is supported by data loggers, controllers, gateways/routers and multifunction HMI. In addition to OPC UA, http post and other standards, this technology can also spread the IIoT
System integrators, machine and technology manufacturers can immediately benefit from the fact that with MQTT, data from an industrial device communicating over industrial Ethernet or fieldbus can be transmitted to IT / IoT systems simply and securely.
In addition, beyond the dynamics of data generation, MQTT enables data loggers, gateways, controllers and HMIs that support it to integrate and analyze data from machines, plants and installations in order to improve productivity, sustainability and decision-making processes,