At Pupa Clic internet of things (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 every area: industrial, transportation, energy everyday life and so on. 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 protocol 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.
MQTT 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 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, used as IoT 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.
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.
You can find works of Pupa Clic in IoT here.