MQTT : comment ce protocole fait-il communiquer les objets connectés ?

MQTT : comment ce protocole fait-il communiquer les objets connectés ? Le MQTT est un protocole qui assure une communication entre deux appareils utilisant des technologies différentes. Quels sont ses caractéristiques, qu'est-ce que les QoS et quel usage sur Raspberry Pi ?

Caractéristiques

Utilisé dans la communication M2M (Machine to Machine), le MQTT signifie Message Queuing Telemetry Transport. Il a été créé en 1999 par un employé d’IBM (Andrew Stanford-Clark) et d’Eurotech et Arlen Nipper. Ayant un rôle important dans l'Internet des objets, le MQTT est un protocole standardisé reposant sur TCP/IP qui permet à des clients de publier et/ou de s’abonner à des informations. Ces clients communiquent avec un broker ; c’est un programme en charge de la réception des informations publiées afin de la transmettre aux clients abonnés. Un processus MQTT se divise en quatre étapes distinctes : connexion, authentification, communication, terminaison. Il est conçu pour être léger et n’utilise qu’une bande passante réseau faible ; le chiffrement via TLS/SSL est une de ses caractéristiques. Il permet la gestion des déconnexions et des reconnexions de manière simplifiée, le rendant ainsi utile pour les connexions instables. La taille maximale du payload d’un message est de 256 Mo.

Qu'est-ce que les QoS (Qualité de Service) pour le broker ?

Un serveur (ou broker) se charge donc de faire la liaison entre les publieurs et les souscripteurs. La Qualité de Service (QoS) est une caractéristique clé du protocole MQTT. C’est un accord entre le message et le destinataire d'un message qui définit la garantie de livraison d'un message spécifique. Il y a trois niveaux de QoS dans MQTT : plus une fois, au moins une fois et exactement une fois. Les deux côtés d’un message envoyé sont à prendre en compte : la remise du message du client au broker et le message du broker au client abonné. Le client qui publie le message sur le broker définit le niveau de QoS du message lorsqu'il envoie le message au broker. Le courtier transmet ce message aux clients abonnés, tout en utilisant le niveau de QoS que chaque client abonné définit au cours du processus d'abonnement. Si le client abonné définit une qualité de service "inférieure" à celle du client, le broker transmet le message avec un QoS inférieur. La QoS donne ainsi au client le pouvoir de choisir un niveau de service correspondant à la fiabilité de son réseau ainsi qu’à sa logique d’application.

MQTT sur Raspberry Pi

Il existe plusieurs types de brokers : ActiveMQ, JoramMQ, Mosquitto ou encore, RabbitMQ. Mosquitto est le plus souvent utilisé pour les projets ESP8266 (Arduino et Raspberry). Il est disponible sur toutes les plateformes (MacOS, Windows XP-10, Linux). Deux méthodes sont possibles pour l’installer : depuis le terminal d’un ordinateur (en connectant au préalable le clavier, la souris et le moniteur à un Pi), avant de le lancer depuis le terminal, ou (toujours par le biais d’un ordinateur) de l’installer en utilisant putty (SSH) et en accédant au Root.

Et aussi : 

Dictionnaire de l'IoT

MQTT : comment ce protocole fait-il communiquer les objets connectés ?
MQTT : comment ce protocole fait-il communiquer les objets connectés ?

Caractéristiques Utilisé dans la communication M2M (Machine to Machine), le MQTT signifie Message Queuing Telemetry Transport. Il a été créé en 1999 par un employé d’IBM (Andrew Stanford-Clark) et d’Eurotech et Arlen Nipper. Ayant un rôle important...