Protocole MQTT

Qu’est-ce que MQTT ?

MQTT ou Message Queue Telemetry Transport est un protocole de messagerie extrêmement simple et léger conçu pour les appareils à faible ressources et des réseaux bas débit. Ce protocole est idéal pour l’internet des objets.

Principe

Regarder la vidéo Principe de MQTT:

MQTT permet à divers appareils de publier des informations (par exemple une sonde d’humidité peut publier des données vers les clients qui sont abonnés au service). Pour différencier les différents services, les objets publient leurs résultats dans des « topics ». Les topics s’écrivent en utilisant un format permettant plusieurs niveaux, chaque niveau est séparé par un slash « / »

Le « Broker » est un serveur qui enregistre les données publiées sur un topic. Il se charge ensuite de distribuer ces données aux abonnés. Sur un topic un appareil peut être « publisher » ou « subscriber ».

Travail à effectuer

Après visionnage de la vidéo qui présente MQTT et la lecture des informations qui précèdent, compléter le schéma de parcours de l’information (Figure 1) entre le smartphone « publisher » et les smartphones « subscriber » :

  • Dessiner une flèche entre le publisher et le bloc de l’arborescence qui va recevoir la donnée.
  • Écrire le message sous le bloc où il est publié.
  • Dessiner les flèches vers les téléphones « subscriber » qui vont recevoir l’information.

Figure 1: parcours de l’information d’un message MQTT

Proposer un topic adapté au lycée, respectant les règles suivantes :

  • Ville du lycée
  • Nom du lycée
  • Nom ou numéro de la salle

Les sujets (topics) ne doivent pas contenir d’accents ni d’espace. D’autre part JeanMarc et différent de jeanmarc car l’un comporte des majuscules et pas l’autre.

Votre topic :

Regarder la vidéo 02-IHM et communication entre 2 portables

 

En s’inspirant de la vidéo

Installer IoT MQTT Panel (Android) ou MQTTool (iPhone)

Par binôme, reproduire ce qui est fait dans la vidéo en l’adaptant avec le topic au format suivant
[monLycee]/[maClasse]/[nomEleve].

Ecrire le topic :

Enrichir l’application

  • Élève 1 : rajouter un panel avec un « switch » qui publie sur le topic au format [monLycee]/[maClasse]/[nomEleve1]/switch.

Ecrire le topic :

    • Le paramètre « Payload on » sera réglé avec on et le paramètre « Payload off » avec off.
  • Elève 2 : rajouter un panel avec une « led » qui est abonnée au topic de l’élève 1.
    • Le paramètre « Payload on » sera réglé avec on et le paramètre « Payload off » avec off.
    • La couleur de la « led on » sera réglée sur #FF0000, la couleur de la « led off » sera réglée sur #00FF00.
  • Vérifier que la commutation du switch sur fait changer la couleur de la led sur l’autre smartphone.

Créer une ihm NODE-RED utilisant le protocole MQTT.

Rappels de la vidéo précédente :

  • Sur un téléphone connecté à un réseau 3G/4G on utilise l’application IoT MQTT Panel
  • On crée une connexion sur le broker broker.hivemq.com port 1883
  • On crée un « panel » qui contient un curseur qui publie sa donnée sur le « topic » [monLycee]/[maClasse]/[nomEleve]

Cela se traduit visuellement par :

Figure 2 : le curseur publie sur le topic de mohamed sa valeur est 33

En respectant la règle de construction du topic, indiquer le votre :

Visionnez la vidéo suivante et adaptez-la à votre topic.

Vous devez obtenir un visuel ressemblant à celui-ci :