# MQTT ![MQ Telemetry Transport](mqtt_dash.png) **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. ## Table des matières ### Les pages ### Les sous-catégories