What are the IoT protocols that are used for IoT connectivity? Find out the most important IoT data protocols and IoT network protocols
This article provides an IoT protocols list. There are several IoT protocols that are widely used in IoT connectivity with different features. This article wants to be an essential guide describing the most important IoT protocols, that enable data exchange between different IoT devices and between IoT devices and IoT cloud platforms.
IoT protocols can be grouped into two different categories:
- IoT data protocols
- IoT network protocols
IoT is gaining appeal and the most important players are investing in IoT. Internet of things promises to be a technological revolution that will invest in every area:
- everyday life and so on.
As we have seen in previous posts there are several IoT definitions highlighting different aspects and there are many solutions to implement IoT projects.
IoT promises to connect all the devices together and enable them to exchange information like wearable, home devices, smart objects. If you are new to Internet of thing, you should read before going on, what is IoT and how it will impact our everyday life and work.
But how these devices send and receive data? We all know HTTP protocol that makes possible to browse the net, opens web pages and so on. Is this still useful for IoT?
Well, the answer is yes but there are other IoT protocols that can be more efficient and suitable for low power devices. Before reading this article you should read how to use 8 IoT prototyping boards that make Internet of things easier.
IoT protocols List – IoT data protocols
In this IoT protocols guide, you will find a list to the most “important” IoT data protocols used in IoT ecosystem:
MQTT is an IoT data protocols. It stands for Message Queuing Telemetry Trasport. MQTT is a publish/subscribe message lightweight protocol. MQTT is a M2M (Machine to Machine) oriented protocol. Now it is an open standard maintained by OASIS group. The reference architecture is very simple and it is based on client/server. The client is generally a sensor that “publish” the information to the server (broker) that receives the information and dispatch it to the subscribers. The underlying communication is based on TCP.
Generally speaking, MQTT protocol uses a many-to-many paradigm and the broker decouples the publisher to the subscriber and acts as a message router. This protocol implements QoS, secure communication, persistence and so on. There is another version of this MQTT IoT protocol called MQTT-SN (or MQTT-S) that stand for Sensor network. Eclipse has released an open source implementation of MQTT called Mosquitto. Maybe MQTT is the most known IoT protocols among other IoT protocols.
COAP stands for Constrained Application Protocol. This is another interesting IoT data protocols. This protocol was designed by IETF. It is a M2M protocol, defined by RFC7252, and it is web transfer protocol. This protocol is very similar to HTTP and it uses the document transfer paradigm. Moreover, It uses request/response model and supports built-in service discovery. Respect to HTTP protocol, COAP is lightweight with smaller packets.
COAP uses UDP as the underlying network protocol. COAP is basically a client-server IoT protocol where the client makes a request and the server sends back a response as it happens in HTTP. The methods used by COAP are the same used by HTTP.
AMQP stands for Advanced Message Queue Protocol. It is maintained by OASIS as MQTT. AMQP is an open standard to exchange messages between applications (M2M). In other words, it is a message-oriented protocol that provides features like routing and queuing. The key factors of AMQP are:
We all know Rest protocol. Rest stands for (Representational state transfer). This protocol is exploited to exchange data between applications and to integrate applications belonging to different domains. Moreover, it uses HTTP as based protocol. Rest uses client/server paradigm. Rest is widely used not only in IoT ecosystem. We discussed how to use Rest to integrate Arduino with Android. Recently, Google has released a new OS based on Android to simplify the process of developing IoT app. It is very easy to expose a Rest API in Android Things and integrate it with external systems like apps.
XMPP (Extensible Messaging and Presence Protocol) is an open standard for presence and messaging. This protocol uses XML messages The XMPP-IoT is designed specifically for IoT environment. Basically, this protocol enables users to send real-time messages and handles the user presence (Online, Offline, Busy). The IoT version enables users to send and receive messages from machines. Moreover, it is eXtensbile easily. The key factors are:
- Open standard
Stomp is a text-oriented messaging protocol. It is very easy to use. Clients connect to a message broker to exchange messages.
IoT network protocols guide
While data protocols enable devices to exchange information, IoT network protocols work at a lower level connecting IoT devices each other and with IoT cloud platforms. There are several IoT network protocols that work in a short or wide range. This IoT protocols guide will name the most important.
This is one of the most widely used protocol in short-range communication WPAN (Wireless Personal Area Network). It plays an important role among IoT network protocols. It is a standard for wireless data transmission. It plays an important role in connecting wearable devices. The BLE (Bluetooth Low Energy) is a low-energy version of the Bluetooth protocol that reduces the power consumption and plays an important role in connecting devices.
Another IoT network protocol is Zigbee. This is another wireless protocol widely used in WPAN. It is a standard maintained by Zigbee Alliance. Zigbee works at RF area, and it is commonly used in home automation and in the smart energy area. It is built to reduce power consumption and for low rate data transfer.
It is a low power consumption protocol that operates using Ultra Narrow Band modulation (around 200KHz). Sigfox was developed with the main target to transmit small messages without the need to keep the network connection. It is used in M2M data exchange.
LoRaWAN is a WAN (Wide Area Network) protocol maintained by LoRa Alliance. It is a low power protocol. It supports a secure bi-direction communication between IoT devices in M2M, smart cities and Industrial applications. Communications between IoT devices and gateway happen at a different frequency and data rates.
In the end, finally, you gained an overview of IoT protocols and what are their key points. As you have seen in this IoT protocol guide there are some protocols we have used and we still use in different scenarios while some IoT protocols are IoT specific. As you have noticed there two different kinds of IoT Protocols: one oriented to the data that we can call IoT data protocols and another one at the lower level that we can call IoT network protocols.