Aller au contenu principal

3. Protocole MQTT


3.1 Principes​

Il s'agit d'un acronyme celui de Message Queue Telemetry Transport . La définition de ce protocole sur le site anglais de Wikipedia http://en.wikipedia.org/wiki/MQTT et le site du référentiel de ce protocole est http://mqtt.org/

  • un site superbe qui explique tout ce qu'il faut savoir et ne pas hesiter à visiter toutes les rubriques de l'onglet à https://www.hivemq.com/mqtt/

Le principe est basé sur un middleware : ou Broker (terme anglais pour désigner un serveur qui joue le role de distributeur de message et gère une file d'information qui arrive : personnelement je nomme ce type d'intergiciel "répartiteur") Le mécanisme est basé sur 2 volets indépendants de la notion d'adressage : un "publisher" qui envoie des data sur un "topic" au broker; et un ou de nombreux "subscriber" ou abonnés qui s'inscrivent à un "topic" : c'est le meme principe qu'une revue papier, ou un journal !!

3.2 Serveur MQTT​

Les 2 brokers testés et que je mets habituellement en oeuvre :

3.3 Clients​

Pour s'abonner, il y a de nombreuses possibilités

  1. Les "connecteurs" pour la programmation : ils existent dans tous les langages !! voir la mise en oeuvre sur les Pycom par exemple (rubrique enseignement)
  2. Une application dans votre navigateur : exemple de l'application MQTTBox pour Chrome il y en d'autres.. mais j'ai testé celle-ci qui fonctionne simplement
  3. Une application sur smartphone
  4. Un client local, il y en a plusieurs, ma preférée en 2022 : MQTTX à https://mqttx.app/ je l'utilise sous WIndows, linux..

3.4 Utilisation​

Exemple de NodeRed qui possède un connecteur..

3.4.1 Messages​

de préference envoi de messages formattés en Json.. si toutefois le réseau radio le supporte, faire un bilan energétique et latence dans les autres cas..