MQTT protocol features
MQTT protocol is widely used for communication between Internet of Things (IoT) devices. It is reliable, secure, and optimized to work on networks with even the scarcest of bandwidth. Renowned for its scalability, MQTT offers a myriad of use cases that utilize IoT devices. The protocol provides two-way communication between devices and the service and is the established standard for IoT messaging. This is why MQTT is widely adopted in pretty much any industry.
MQTT protocol history
The purpose of MQTT is to transport messages across devices. It is designed to be lightweight which makes it perfect for small microcontrollers. Originally, the protocol was created in 1999 by two engineers: Andy Stanford-Clark and Arlen Nipper, with the intention of using it to monitor oil pipelines in SCADA systems. Since Andy Stanford-Clark was an engineer at IBM, the “MQ” prefix comes from the IBM MQ product line. The entire abbreviation stands for “MQ Telemetry Transport” and the protocol complies with the OASIS standard. The latest version is 5.0 and was released in 2019 by the OASIS consortium.
MQTT broker
The way MQTT works is standard in its client-server communication concept. Each device in the network acts as a client, and the service uses the so-called message broker that sits in the middle and listens for messages which it routes to the appropriate destination clients. The broker software can run on-premises or in the cloud and is available as both open source and proprietary implementations. A major advantage with the broker is that you can easily add more and more devices without affecting operations. The messages exchanged with clients are TLS (Transport Layer Security) encrypted using username and password and optionally can utilize certificates for verification against the broker. In this way, the clients are agnostic of the other clients’ IP addresses. MQTT also utilizes authentication protocols such as OAuth which makes it quite robust security-wise. It also keeps track of information about sessions, as well as connection states of clients.
MQTT client
MQTT clients can vary from tiny microcontrollers to any computer running an MQTT library. Messaging uses TCP (Transmission Control Protocol) for data transmission but there is an option to communicate over Bluetooth as well. Yet another perk of MQTT is the low usage of battery power.
This makes for countless use cases, including complex setups using backend systems and multiple components. This is why the protocol has gained so much popularity and is here to stay. Industries that utilize MQTT messages include transportation, manufacturing, automotive, smart home, consumer appliances, and virtually any industry that requires automation.
Teracom devices that support the MQTT protocol are TCW140-4 and TCW260.