MQTT
Message Queue Telemetry Transport (MQTT en abrégé) est un protocole de souscription binaire qui transmet des messages entre différentes machines. Le protocole MQTT est particulièrement utilisé dans l’Internet des objets et la communication de machine à machine (M2M). Le protocole est adapté à la transmission de messages dans des réseaux relativement peu fiables, avec une faible bande passante et une latence élevée. Par conséquent, MQTT est un modèle client-serveur. Depuis les clients, après l’établissement d’une connexion, des messages structurés hiérarchiquement sont envoyés au serveur (“broker”). Les messages contiennent un en-tête, un sujet et le contenu proprement dit du message. Par exemple, le message peut être structuré sous la forme “Rez-de-chaussée-cuisine-frigo-congélateur-température”. Dans cet exemple, le message réel est la température du compartiment congélateur. Les messages MQTT se composent de trois niveaux de qualité de service (QoS). Ceux-ci sont spécifiés dans l’en-tête. Selon le niveau de QoS dans lequel se trouvent les messages, ils sont envoyés au maximum une fois et peuvent donc être perdus ou ils sont envoyés plusieurs fois jusqu’à ce qu’une confirmation correspondante soit reçue.
Voici quelques exemples d’applications du protocole MQTT :
- Transmission des données des capteurs, telles que la température et les niveaux de remplissage
- Les informations standard telles que le cours de l’action et les flashs d’information.
- Applications mobiles de Facebook
Les ports réservés au serveur MQTT (également appelé broker) sont les ports 1883 et 8883, définis par l’IANA (Internet Assigned Numbers Authority).
Le protocole MQTT a été développé par IBM et Cirrus Link Solutions en 1999. Depuis 2013, l’OASIS (Organization for the Advancement of Structured Information Standards) s’occupe du protocole. En 2018, une nouvelle norme a été publiée avec la norme MQTT5, qui a apporté de nombreuses améliorations à son prédécesseur, la version 3.1.1.