What is MQTT?
Message Queuing Telemetry Transport3 minute read
MQTT is a machine-to-machine (M2M) data transfer protocol that is quickly becoming the leading messaging protocol for the Industrial Internet of Things (IIoT).
MQTT: The Leading Messaging Protocol for IIoT
What is MQTT and Why is it Ideal for SCADA?
While there are currently a number of competing IIoT technologies and protocols in play, the extremely lightweight overhead (2-byte header), publish/subscribe model, and bidirectional capabilities of MQTT are uniquely suited to meet the demands of industrial control systems.
The newest version, MQTT Version 3.1.1, is an OASIS standard that is open and royalty-free. (OASIS is the Organization for the Advancement of Structured Information Standards, an international consortium that promotes the adoption of product-independent standards for information formats.)
What are the Advantages of MQTT?
The MQTT protocol allows your SCADA system to access IIoT data. MQTT brings many powerful benefits to your process:
- Distribute information more efficiently
- Increase scalability
- Reduce network bandwidth consumption dramatically
- Reduce update rates to seconds
- Very well-suited for remote sensing and control
- Maximize available bandwidth
- Extremely lightweight overhead
- Very secure with permission-based security
- Used by the oil-and-gas industry, Amazon, Facebook, and other major businesses
- Saves development time
- Publish/subscribe protocol collects more data with less bandwidth compared to polling protocols
Why Was MQTT Created?
MQTT was created with the goal of collecting data from many devices and then transporting that data to the IT infrastructure. It is lightweight, and therefore ideal for remote monitoring, especially in M2M connections that require a small code footprint or where network bandwidth is limited.
MQTT was invented in 1999 by Dr. Andy Stanford-Clark and Arlen Nipper. Co-inventor Arlen Nipper is the president of Cirrus Link Solutions, the company which developed the Cirrus Link MQTT Modules for Ignition.
How Does MQTT Work?
MQTT is a publish/subscribe protocol that allows edge-of-network devices to publish to a broker. Clients connect to this broker, which then mediates communication between the two devices. Each device can subscribe, or register, to particular topics. When another client publishes a message on a subscribed topic, the broker forwards the message to any client that has subscribed.
MQTT is bidirectional, and maintains stateful session awareness. If an edge-of-network device loses connectivity, all subscribed clients will be notified with the “Last Will and Testament” feature of the MQTT server so that any authorized client in the system can publish a new value back to the edge-of-network device, maintaining bidirectional connectivity.
The lightweightness and efficiency of MQTT makes it possible to significantly increase the amount of data being monitored or controlled. Prior to the invention of MQTT, approximately 80% of data was being left at remote locations, even though various lines of business could have used this data to make smarter decisions. Now MQTT makes it possible to collect, transmit, and analyze more of the data being collected.
Unlike the usual poll/response model of many protocols, which tend to unnecessarily saturate data connections with unchanging data, MQTT's publish/subscribe model maximizes the available bandwidth.
To find out more about how MQTT works go to: http://mqtt.com
Who Uses MQTT?
MQTT was originally developed for the low-bandwidth, high-latency data links used in the oil and gas industry. However, MQTT is now used in many applications beyond oil and gas — from controlling smart lighting systems to the Facebook Messenger application. Amazon Web Services recently announced that Amazon Internet of Things (IoT) is based on MQTT, as well. Overall, MQTT appears to be the protocol best suited for the control systems used by industrial organizations, and we can expect that its rapid rate of adoption will only increase in the future.
You can find more information about MQTT at: http://mqtt.org