MQTT

De Les Fabriques du Ponant
Aller à : navigation, rechercher

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).

Principaux concepts de MQTT

Il y en a 3 :

  1. publish/subscribe
  2. topic : La catégorie
  3. 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) : Example

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

https://nodered.org/docs/

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