Exchanging data and messages on the Internet between computers and network servers is done mainly using the HTTP protocol.
However today’s message exchange takes place between high powered resource rich devices.
The IOT will comprise of many small devices. The main characteristics of these devices are likely to be.
- They will be low powered – battery or solar.
- Probably low unit cost
- They will have limited processing power and memory.
In addition they will be connected to the Internet through networks that are likely to be:
- low bandwidth
Because of these requirements the http protocol is not considered as a suitable protocol for connecting IOT devices to the Internet.
There are several messaging protocols currently in use that are being considered for the IOT. Many of these protocols were designed and developed before the IOTs became a buzz word, and were designed for other purposes
However some messaging protocols e.g. COAP have been developed specifically for the IOTs.
The main ones that are being considered are:
- MQTT– (Message Queuing Telemetry Transport) Uses TCP/IP. Publish subscribe model requires a message broker (switch). Works over TCP and also UDP. See an Introduction to MQTT for beginners
- AMQP -( Advanced Message Queuing Protocol) Uses TCP/IP. Publish subscribe model and Point to Point .
- COAP-(Constrained Application Protocol) -Uses UDP designed specifically for IOT uses request response model like HTTP. RFC 7252 -Works over UDP.
- DDS– (Data Distribution Service) –
This article covers the main protocols and their main uses.
The conclusion of this articles seems to be that the IOT will consist of a collection of protocols depending on their intended use.
However if you look back to the early days of the Internet HTTP was just one of many protocols but it has become the dominant one.
Even though HTPP wasn’t designed for file transfer it is used for file transfer. It wasn’t designed for email either, but it is used for email.
IMO IOT messaging protocols will follow a similar pattern with most of the services using 1 dominant protocol.
Below are the Google trend charts showing how the popularity of MQTT,COAP and AMQP has changed over the last few years.
Google Trends Overview
Over the last few years MQTT has emerged as the most popular, and is the one I’m currently focusing on on this site.
- IOT and Messaging
- What’s the Right Messaging Standard for the IoT?
- real-time protocols IOT
- Slideshare overview of main IOT messaging Protocols Good comparison of MQTT and DDS
- Comparison of Modbus and MQTT IOT protocols