MQTT
MQTT, d'après Wikipédia (le 1er avril 2021) :
C'est un protocole de message.
Il est conçu pour les connexions avec des sites distants où la bande passante du réseau est limitée.
Ce protocole est dit "publier-s’abonner" : c'est un mécanisme de publication de messages et d’abonnement à ces derniers.
- Les diffuseurs ne destinent pas a priori les messages à des destinataires.
- À la place, une catégorie est associée aux messages émis (sans savoir s’il y a des destinataires).
- Des destinataires s’abonnent aux catégories les intéressant (sans savoir s’il y a des diffuseurs).
Par exemple :
- Camille est abonnée à la catégorie "Température".
- Robert envoie le message "32°C" à la catégorie "Température".
- Elsa envoie le message "27°C" à la même catégorie.
- Camille reçoit donc les messages "32°C" et "27°C"
MQTT signifie : Message Queuing Telemetry Transport (Transport de télémétrie par file d'attente de messages). est un protocole de messagerie publish-subscribe basé sur le protocole TCP/IP (Transfert Control Protocol/Internet Protocol).
Sommaire
Principaux concepts de MQTT
Il y en a 3 :
- publish/subscribe
- topic : La catégorie
- Broker : le logiciel MQTT
1 – publish/subscribe
un client peut publier et tous les client qui ont souscrit recevrons la publication.
2 - Topics représentés par des suites de caractères séparés par des slash : Home/office/lamp
Home et office sont des « topics »
Attention c'est sensible à la casse !! (ça tient compte des majuscules et minuscules).
3 – Broker : le logiciel MQTT
- il reçoit les messages
- les filtres
- publie les messages à tous les clients qui ont souscrits.
Un broker en ligne libre et gratuit : https://www.shiftr.io/try
Il est possible d'installer un broker MQTT sur un serveur : par exemple https://mosquitto.org/
Faisons un Test
ouvrez la page suivante pour l'observer : https://public.cloud.shiftr.io/
Ensuite cliquez sur ce bouton (en observant la page ouverte précédemment) :
Deployer un serveur MQTT pour les POCL
Pistes : installer node-red sur un serveur (raspberry pi ou VPS) et installer MQTT dessus
Quelques Tutos
https://peyanski.com/mqtt-home-assistant-and-node-red-integration/
http://stevesnoderedguide.com/configuring-the-mqtt-publish-node
https://flows.nodered.org/node/node-red-contrib-mqtt-broker
Un client MQTT
Multiplateforme : https://mqttx.app/
Permet de s'abonner à un serveur, de recevoir et émettre.
idéal pour voir ce qui se passe