Applez Nous: +41 22 518 70 00
Le protocole HTTP traditionnel repose sur une architecture client-serveur synchrone requête/réponse avec des en-têtes textuels volumineux (plusieurs centaines d’octets). Pour un capteur distant fonctionnant sur batterie qui ne transmet que 4 octets de température une fois par minute, HTTP gaspille inutilement de la bande passante et vide prématurément la pile.
Le protocole MQTT (Message Queuing Telemetry Transport), inventé pour la surveillance d’oléoducs par satellite, est un protocole extrêmement léger (en-tête minimal de 2 octets seulement) fonctionnant au-dessus de TCP/IP selon le paradigme Publish / Subscribe (Publication / Souscription).
Dans un système MQTT, les appareils ne communiquent jamais directement entre eux :
[ Capteur Température ESP32 ] ──── Publish: "usine/batA/zone1/temperature" (21.4°C) ───┐
│
▼
┌───────────────────────┐
│ Broker MQTT Central │
│ (Eclipse Mosquitto) │
└───────────────────────┘
│
[ Tableau de bord Grafana ] ◄──── Reçoit la mesure en temps réel ───────────────────────┼── Souscrit à: "usine/batA/+/temperature"
[ Serveur d'alerte SMS ] ◄──── Reçoit la mesure si > seuil ───────────────────────────┘
Les topics MQTT adoptent une structure hiérarchique similaire aux dossiers d’un système de fichiers, séparés par des barres obliques (/) :
+ (Wildcard mono-niveau) : suisse/geneve/+/temperature recevra les données des capteurs de tous les bâtiments de Genève au niveau immédiatement inférieur.# (Wildcard multi-niveaux) : suisse/lausanne/# recevra absolument tous les messages émis sous la branche de Lausanne sans exception.Fonctionnalité LWT (Last Will and Testament) : Un client enregistre lors de sa connexion un message testamentaire. Si le nœud perd subitement sa connexion Internet sans se déconnecter proprement, le broker publie automatiquement ce message d’alerte pour avertir les systèmes de supervision.