MQTT : Différence entre versions

De Les Fabriques du Ponant
Aller à : navigation, rechercher
(Principaux concepts de MQTT)
Ligne 43 : Ligne 43 :
  
 
Il est possible d'installer un broker MQTT sur un serveur : par exemple https://mosquitto.org/
 
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) :
 +
<html>
 +
<!DOCTYPE html>
 +
<html>
 +
  <head>
 +
    <meta charset="utf-8" />
 +
    <title>Example</title>
 +
    <script src="https://unpkg.com/mqtt/dist/mqtt.min.js"></script>
 +
  </head>
 +
  <body>
 +
    <button id="button">Clicke Moi</button>
 +
 +
    <script>
 +
      const client = mqtt.connect('wss://public:public@public.cloud.shiftr.io', {
 +
        clientId: 'TestFabriquesDuPonant'
 +
      });
 +
 +
      client.on('connect', function() {
 +
        console.log('connected!');
 +
        client.subscribe('Coucou');
 +
      });
 +
 +
      client.on('message', function(topic, message) {
 +
        console.log(topic + ': ' + message.toString());
 +
      });
 +
 +
      document.querySelector('button').addEventListener('click', function() {
 +
        client.publish('Coucou', 'Le monde !');
 +
      });
 +
    </script>
 +
  </body>
 +
</html>
 +
</html>

Version du 1 avril 2021 à 22:23

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 </html>