Internet of things (IoT) is the latest buzzword that has been dominating tech news. IoT in short is a collection of sensors or devices connected to a network. These sensors are embedded in everyday consumer objects or industrial equipment and send important information that can be used for data mining or service improvements. While IoT devices have been around for a long time, with the advances in technology, they have been getting smaller and smaller and are now in a position to dominate consumer market.
The best example of a consumer IOT device available is Google’s Nest. Nest has three connected devices (camera, smoke alarm, and thermostat). The Nest thermostat collects and sends out information about the usage pattern of the user to Nest back-end servers. The back end crunches the data over a period of time and automatically configures the thermostat with the best possible schedule. In the example the device communicates with Nest back end and vice-versa. This type of communication is not new with modern day computers and smartphones – these are powerful devices. IOT devices, on the other hand, are tiny low powered devices with much less processing power.
Messaging between open systems has traditionally been either HTTP or a messaging mechanism like the MQ series. While most of the IOT devices can use HTTP for data transfers, it is not recommended due to the load it puts on the device for processing huge payloads, and it is very document centric. Traditional message queuing like Active MQ and IBM MQ series are not recommended due to the complexities involved in moving them into tiny Internet-connected devices.
Application modernization is a growing area of focus for enterprises. If you’re considering this path to cloud adoption, this guide explores considerations for the best approach – cloud native or legacy migration – and more.
To fill this gap, a small lightweight machine-to-machine messaging connectivity protocol has been invented by Dr Andy Stanford-Clark of IBM and Arlen Nipper of Arcom. MQTT or MQ Telemetry Transport is a lightweight transport protocol that only does publish-subscribe that can be used to continuously send and receive small chucks of data collected by the devices.
Key Features of MQTT:
- Low overhead where the smallest possible payload is only 2 bytes.
- Asynchronous communication.
- Secure and reliable quality of service.
- Uses TCP for communication.
- Optimized for high-latency unreliable networks.
Here’s a high-level overview of how MQTT works:
In the next blog, I’ll discuss how to create a simple sensor device and connecting it to the Internet using MQTT.