1.9 KiB
MQTT
MQTT (Message Queuing Telemetry Transport) est un protocole léger et ouvert de communication entre machines, devenu un standard international largement adopté dans l'industrie et l'Internet des objets (IoT).
Origines
MQTT a été conçu en 1999 par Andy Stanford-Clark (IBM) et Arlen Nipper (alors chez Arcom Control Systems), pour permettre la supervision de pipelines pétroliers via des liaisons satellites à très faible bande passante. Initialement propriétaire, le protocole est devenu un standard ouvert OASIS en 2014, puis une norme ISO/IEC en 2016.
Principe de fonctionnement
MQTT repose sur un modèle publication/abonnement (pub/sub) :
- les périphériques publient des messages sur des sujets (topics) ;
- les autres périphériques s'abonnent aux sujets qui les intéressent pour recevoir les messages correspondants ;
- un broker central assure le routage des messages entre publieurs et abonnés.
Ce découplage permet à des dizaines de milliers d'appareils de communiquer sans se connaître directement.
Pourquoi MQTT convient à l'IoT
Plusieurs caractéristiques rendent le protocole particulièrement adapté aux objets connectés :
- En-têtes minimaux (2 octets), donc faible consommation de bande passante et d'énergie ;
- Qualité de service configurable (QoS 0, 1, 2) pour garantir la livraison des messages même sur des réseaux instables ;
- Mécanisme de testament (Last Will and Testament) qui signale automatiquement la déconnexion d'un client ;
- Scalabilité jusqu'à des millions de clients connectés ;
- Compatibilité avec la plupart des langages et plateformes (Python, C, JavaScript, microcontrôleurs, etc.).
Cas d'usage
MQTT est aujourd'hui utilisé dans la domotique, l'agriculture connectée, l'industrie 4.0, les villes intelligentes et de nombreux services connectés grand public.