L’Internet des objets (IoT) a redéfini la connectivité, en particulier dans les environnements où des appareils contraints communiquent sur des réseaux peu fiables ou à faible bande passante. Un protocole s’impose comme le choix incontournable de cette nouvelle frontière : MQTT (Message Queuing Telemetry Transport).
Dans les applications IoT cellulaires, surtout celles qui s’appuient sur des technologies LPWAN comme le NB-IoT et le LTE Cat-M1, l’usage d’un protocole de communication léger est essentiel pour garantir une utilisation efficace de la bande passante, une consommation d’énergie réduite et des performances fiables sur des réseaux contraints. Ces appareils fonctionnent souvent avec des forfaits de données limités, restent en veille pendant de longues périodes pour économiser la batterie et se connectent via des liaisons de qualité variable, ce qui exige un protocole capable de réduire la charge tout en préservant l’intégrité des messages et la garantie de livraison. Les protocoles légers comme MQTT et MQTT-SN sont conçus pour réduire la taille des paquets, prendre en charge les opérations basse consommation et assurer une communication solide même en cas de latence élevée ou de connectivité intermittente, ce qui les rend indispensables pour faire évoluer les solutions IoT cellulaires aussi bien sur le plan économique que technique.
Que vous déployiez des capteurs sur le terrain, que vous connectiez des machines industrielles ou que vous construisiez une infrastructure de ville intelligente, MQTT fait probablement partie de l’histoire. Cet article explore les rouages de MQTT, ses variantes de transport et une comparaison avec des protocoles concurrents comme CoAP, ainsi que son adéquation avec les technologies IoT cellulaires telles que NB-IoT, Cat-M1 et LTE Cat-1.
Qu’est-ce que MQTT, vraiment ?
MQTT est un protocole de messagerie léger, basé sur le standard ouvert OASIS, conçu pour les appareils contraints et les réseaux à faible bande passante, à latence élevée ou peu fiables. Il repose sur le modèle publication/abonnement, qui découple les producteurs de messages (publishers) des consommateurs (subscribers) par l’intermédiaire d’un broker central.
Décryptage du modèle Pub/Sub :
Publisher : envoie des messages sur un sujet (topic) précis.
Subscriber : reçoit les messages en s’abonnant à ce topic.
Broker : gère l’ensemble du routage des messages, les sessions clients et les niveaux de QoS.
Variantes de MQTT et types de transport
1. MQTT sur TCP/IP (MQTT 3.1.1 / MQTT 5.0 standard)
MQTT sur TCP/IP est un protocole de messagerie léger en mode publication/abonnement qui s’appuie sur la couche de transport TCP, fiable et orientée connexion, pour garantir une livraison ordonnée et assurée des données entre les appareils IoT et les serveurs.
-
Couche de transport : TCP
-
Chiffrement : TLS (Transport Layer Security)
-
Surcharge du protocole : modérée
-
Taille de payload typique : 2 octets minimum
Atouts :
-
Livraison des messages garantie (QoS 1 et 2)
-
Conservation de l’état de session
-
Mécanismes intégrés de keep-alive et de message Last Will
-
Propriétés de message optionnelles (dans MQTT 5.0)
Cas d’usage :
-
Systèmes basés sur la communication cellulaire et satellite
-
Suivi d’actifs à distance
2. MQTT-SN (réseaux de capteurs)
MQTT-SN est idéal pour les petits microcontrôleurs et les environnements à faible bande passante, car il a été conçu dès le départ pour minimiser la charge et tenir compte des contraintes de ressources. Contrairement au MQTT standard, MQTT-SN utilise un format d’en-tête binaire et prend en charge l’enregistrement d’identifiants de topic, ce qui évite de transmettre à répétition de longues chaînes de topic et réduit considérablement la taille des paquets. Il fonctionne sur UDP, ce qui le rend adapté aux réseaux où TCP est trop lourd ou indisponible, et sa capacité à fonctionner avec des clients en veille ou intermittents en fait un choix parfait pour les appareils alimentés par batterie. Ensemble, ces caractéristiques permettent à des microcontrôleurs à très faible consommation, dotés d’une RAM, d’un CPU et d’une connectivité limités (comme ceux utilisés en Zigbee, BLE ou LoRa), de communiquer efficacement dans les déploiements IoT.
Couche de transport : UDP (mais aussi adaptable à Zigbee, BLE, etc.)
Caractéristique clé : des alias de topic remplacent les chaînes complètes pour gagner de l’espace
Caractéristiques clés de MQTT-SN :
-
En-tête de taille minimale (~2 octets)
-
Optimisé pour les appareils à très faible consommation
-
Prise en charge des clients en veille via des gateways
Cas d’usage :
-
Réseaux de capteurs sans fil
-
Éclairage intelligent en Zigbee
MQTT-SN nécessite une gateway pour assurer la traduction entre MQTT-SN et un broker MQTT complet.
3. MQTT sur WebSockets
MQTT sur WebSockets est une version du protocole MQTT qui transmet les messages via le protocole WebSocket, permettant une communication bidirectionnelle en temps réel entre les appareils IoT et les applications web, à travers les pare-feu et les navigateurs.
-
Transport : WebSocket sur TCP (souvent le port 443)
-
Cas d’usage : permet la communication MQTT depuis les navigateurs ou les dashboards web
Usage concret :
-
Dashboards IoT et applications mobiles
-
Environnements de débogage pour développeurs
MQTT vs CoAP vs UDP brut
Fonctionnalité
MQTT (TCP)
MQTT-SN (UDP)
CoAP (UDP)
UDP brut
Transport
TCP
UDP
UDP
UDP
Fiabilité
Oui (TCP + QoS)
Moyenne (QoS, ACK applicatif)
Moyenne (messages confirmables)
Non
Sécurité
TLS
DTLS (via gateway)
DTLS
Aucune (manuelle)
Asynchrone
Oui
Oui
Oui
Non
Compatible veille
Oui
Oui
Non (avec état)
Oui
Surcharge de payload
Faible (~2 octets)
Très faible
Faible (~4 octets)
Aucune
Cas d’usage : utiliser Cat-M1 et MQTT pour le suivi d’actifs
Imaginons que vous déployiez un traceur de flotte :
-
Utilise Cat-M1 (pour fonctionner même en mouvement)
-
Envoie le GPS et le niveau de batterie toutes les 60 secondes via MQTT
-
Publie les données sur la plateforme TagoIO
-
Visualisé dans des dashboards ; déclenche des alertes si la vitesse dépasse 120 km/h
Comme MQTT permet des sessions persistantes et la fiabilité de TCP, le traceur conserve sa connexion même en passant d’une antenne à l’autre : pas de nouveau handshake, pas de paquets perdus.
Pourquoi MQTT est idéal pour NB-IoT, Cat-M1 et Cat-1
NB-IoT, Cat-M1 et Cat-1 sont des technologies LPWAN cellulaires conçues pour une connectivité basse consommation et longue portée, mais elles diffèrent par leur bande passante, leur latence et leur débit de données :
Technologie
Bande passante
Latence
Cas d’usage
NB-IoT
< 100 Kbps
Élevée
Compteurs intelligents, capteurs distants statiques
Cat-M1
~375 Kbps
Faible
Capteurs distants mobiles
LTE Cat-1
Jusqu’à 10 Mbps
Faible à moyenne
Télématique, terminaux de paiement
Pourquoi MQTT l’emporte dans l’IoT cellulaire :
1. Livraison fiable des messages
MQTT garantit la livraison des messages grâce à TCP et aux niveaux de QoS. La QoS (Quality of Service) dans MQTT définit le niveau de garantie de livraison des messages entre l’émetteur et le destinataire, allant de au plus une fois (QoS 0), à au moins une fois (QoS 1), jusqu’à exactement une fois pour les systèmes critiques (QoS 2), selon la fiabilité requise par l’application.
2. Prise en charge de la veille pour économiser l’énergie
MQTT prend en charge les sessions persistantes et les timers de keep-alive, permettant aux appareils de rester en veille pendant de longues périodes, ce qui est essentiel pour les appareils NB-IoT alimentés par batterie.
3. Traversée des pare-feu et du NAT
MQTT utilise des connexions TCP de longue durée, plus faciles à faire passer dans les réseaux cellulaires soumis au NAT que des messages UDP sans état.
4. Sécurité intégrée
L’intégration TLS/SSL rend MQTT adapté à la transmission sécurisée de données sensibles, souvent exigée dans les secteurs réglementés comme la santé ou l’énergie.
Adoption par l’industrie : qui utilise MQTT pour l’IoT ?
Nous avons étudié, sous l’angle du protocole, plusieurs entreprises qui conçoivent et fabriquent des modules cellulaires pour l’IoT. Voici un résumé de nos observations :
1. Quectel Wireless Solutions
-
Modules : BG95, EC25, BG600L
-
Prise en charge de MQTT avec TLS et sessions persistantes
-
SDK intégrés pour AWS IoT Core, Azure IoT Hub, et connexion facile avec TagoIO
2. u-blox
-
Modules : SARA-R4, LARA-R6
-
Proposent MQTT-SN pour les applications à très faible consommation
-
Firmware avec clients MQTT intégrés
3. Telit Cinterion (Thales)
-
Modules : ME910G1, LE910C1
-
Fournissent des clients MQTT et MQTT-SN
-
Orientés télématique et comptage intelligent
4. Sierra Wireless
-
Modules : HL7800, WP7702
-
Prise en charge d’un client MQTT pré-certifié
-
Ces modules servent au suivi d’actifs et au contrôle industriel
5. Nordic Semiconductor
-
SoC : nRF9160 SiP
-
Propose à la fois MQTT et CoAP pour plus de flexibilité
-
Intégré à Zephyr RTOS et au nRF Connect SDK
En conclusion
Que vous ayez affaire à des capteurs distants à faible autonomie ou à des systèmes industriels sensibles à la latence, MQTT est un protocole polyvalent et prêt pour la production. Pour l’IoT cellulaire, en particulier sur NB-IoT ou Cat-1, il offre le bon équilibre entre fiabilité, gestion de session et efficacité énergétique.
Si votre appareil doit se mettre en veille et se réveiller tout en maintenant un flux de données fiable sur des réseaux à pertes, MQTT est presque toujours le meilleur protocole sur lequel s’appuyer.
L’intégration MQTT fluide de TagoIO
TagoIO propose une implémentation MQTT complète qui simplifie la connectivité des appareils IoT sur toutes les technologies cellulaires. Avec un broker MQTT dédié, disponible pour les comptes Starter et Scale dans la région US (via mqtt.tago.io), la plateforme élimine la complexité liée à la gestion de votre propre infrastructure de messagerie. Le service utilise une authentification sécurisée basée sur des tokens pour simplifier la gestion des appareils, et prend en charge les connexions standard (port 1883) comme les connexions chiffrées SSL (port 8883).
Ce qui distingue l’approche de TagoIO, c’est son intégration avec l’ensemble de la plateforme : lorsque les appareils publient des messages MQTT, le Live Inspector de la plateforme donne une visibilité immédiate sur les données entrantes, tandis que des Actions configurables peuvent automatiquement traiter, transformer et stocker ces informations dans les buckets des appareils. Pour ceux qui ont besoin de brokers tiers, la fonctionnalité MQTT Relay relie les services MQTT externes aux puissantes capacités de traitement des données de TagoIO. Pour en savoir plus, consultez l’intégration TagoIO avec MQTT et le MQTT Relay.


