by Andy Stanford-Clark Published January 3, 2019
Before the Internet of Things was a thing, or really back around the time that the term Internet of Things was first mentioned in print (late 90s), I was collaborating with Arlen Nipper (now of CirrusLink) on devising a protocol to communicate with SCADA systems in the oil and gas industry. What started out as a highly niche protocol for a specific industry quickly became THE open-source protocol for any IoT device communication out in the wild.
MQTT is a messaging protocol, built on top of TCP/IP, that is based on the publish-subscribe messaging model. Publishers send the messages, subscribers receive the messages they are interested in, and brokers pass the messages from the publishers to the subscribers. Publishers and subscribers are MQTT clients, which only communicate with an MQTT broker. MQTT clients can be any device or application (from microcontrollers like the Arduino to a full application server hosted in the Cloud) that runs an MQTT library and that connects to an MQTT broker over a network. MQTT brokers manage the receiving of messages from publishers and the sending of messages to the subscribers (as well as managing the the lists of topics subscribers are interested in).
MQTT is the leading protocol for connecting IoT devices, overtaking HTTP, a mainstay in the Internet realm, in 2017. What’s more, MQTT has been chosen as the messaging protocol for IoT platforms for Amazon, Microsoft, and (of course) IBM, as well as many open source and other commercial broker products. IBM’s Watson IoT Platform provides not only massive-scale secure connectivity for MQTT devices, but also device management, data storage, and data analytics in the IBM Cloud. MQTT has also stood the test of scalability by becoming the messaging protocol behind Facebook Messenger.
What’s next for MQTT? We didn’t make any changes to the MQTT protocol for the first ten years of its life, suggesting we did a pretty good job of anticipating the needs of the market and its users. As the Internet matured, along with industrial devices and connectivity, and the advent of high-scale hosting in the Cloud, we realized that MQTT needed some additional features. It was important to me that we stayed true to the “founding principles” of MQTT: mainly that it was a compact, easy to understand and easy to implement specification. MQTT v5 was published in late 2018, and is on track to be ratified as an OASIS, and then ISO, standard in early 2019.
Meanwhile, every day, hundreds of millions of devices and applications send and receive data and commands across the Internet of Things, using MQTT.
This article provides a technical introduction to the MQTT protocol. You learn what is MQTT, what makes MQTT suitable for…
Get the Code »
Back to top