Vous êtes sur la page 1sur 8

MQTT (Message Queue Telemetry Transport)

Dans ce TP vous allez apprendre à utiliser un des protocoles les plus utilisés pour la mise
en œuvre d’IoT, il s’agit de MQTT . Vous allez avoir également l’occasion de manipuler eclipse
paho et le broker eclipse Mosquitto.

Des fichiers nécessaires au bon déroulement du TP seront fournis pendant la séance du TP.

Installation de Mosquitto.
 Aller à la page :
https://mosquitto.org/download/
 Une fois le téléchargement terminé, faire un
double clique sur le fichier mosquitto.

 Clic sur Next


 Faire un clique sur Next

Il se peut que les deux boites de dialogue suivantes vont s’afficher. En effet, l’installation dans
l’environnement Windows pose ce genre de problème. Continuer à lire pour comprendre
comment résoudre ce problème.

Deux choix se présentent à vous : Installer openSSL, etc. comme indiqué dans la première boite
de dialogue. Ou bien, copier le contenu de répertoire (mosquitto) fournit pendant le TP dans le
répertoire cible Mosquitto (il s’agit du répertoire créé sur le C de votre PC).

 Ré exécuter une seconde fois l’installation (refaites tout). Et à chaque fois valider en cliquant
sur Next, jusqu’à l’obtention d’une boite de dialogue comme celle présentée par la figure
suivante.

S. LYAZID 2
1. Aller dans la variable d’environnement.
2. Ajouter à la variable path le chemin où mosquitto est
installé

Lancer le broker.
 Deux méthodes sont proposées :
o Première méthode : A partir de l’administration des services Windows
o Seconde méthode : lancer en ligne de commande à partir du répertoire Mosquitto

 Aller dans services


 Faites un clic sur Démarrer

S. LYAZID Internet of 3
Things
Seconde méthode : aller dans le répertoire où Mosquitto est installé

Si vous avez lancer le broker mosquitto.

Exécuter un cmd et saisir mosquitto -v sur la ligne de commande

avant d’arrêter le service mosquitto, il est conseillé de fermes toutes les CMS déjà lancés.

Avant de commencer :
Mosquitto offre de type de clients : Publisher et Subscriber. Ces deux clients peuvent
être lancés en ligne de commande, suivie de plusieurs paramètres (en options). Vous pouvez
avoir une idée sur ce que vous pouvez faire avec le protocole MQTT en tapant
mosquitto_pub.exe --help. Une liste d’options sera affichée sur la ligne de commande. Prenez le
temps de lire et de comprendre chacune des options offertes.

S. LYAZID Internet of 4
Things
mosquitto_pub --help

mosquitto_sub --help

Exemple pour commencer :

Lancer un CMD .
Saisir la commande suivante : mosquitto_sub -d -t /home/kitchen

S. LYAZID Internet of 5
Things
Lancer un autre CMS,
saisir la ligne suivante (attention ne pas copier les message, il faut le saisir) , le copie-coller
fonctionne si la source commandes est dans notPad ou bloc note. Avant d’exécuter la commande
suivante, garder en visuelle l’autre cmd.
mosquitto_pub -t /home/kitchen –m "salut"

-m : le message sera saisi sur la ligne de commande

Exercice 1:

Lancer plusieurs cmd (autant que nécessaire) et essayer d’exécuter ce qui suit :

1. Plusieurs cmd de type Publisher qui envoie des messages sur différents topic :
a. /local/Couloir/CameraF12
b. /local/Entrée/Robot56
c. /Extérieur/Robot/GPS69
d. /Extérieur/Agent89
2. Un cmd de type Subscriber qui reçoit des messages sur les différents Topic. Cela signifie que
vous pouvez lancer un subscriber avec listener sur plusieurs topic

S. LYAZID Internet of 6
Things
3. Envoyer des messages, que remarquez-vous.
4. Créer un autre cmd de type Subscriber qui reçoit des messages sur le Topic /local/#
5. Refaire l’étape 2 et 3 ci-dessus, que remarquer vous ?

Exercice 2

Pour cet exercice vous pouvez vous contenter de deux clients souscripteur et un ou deux

producteurs. Il vous est demandé d’utiliser les options suivantes :

-c, --disable-clean-session (côté Subscriber)


-I, --id-prefix
-q, --qos
-v,
--will-payload
--will-topic
Par exemple,
1. Lancer un cmd Subscriber comme suit : mosquitto_sub -c -i "fenetre" -q 1 -t /Salle
2. Ensuite lancer un autre cmd Publisher comme suit : mosquitto_pub -q 1 -t /Salle -m "……."

S. LYAZID Internet of 7
Things
3. Envoyer des messages à partir du Publisher, ensuite, faire un CTRL+C dans cmd de Subscriber
pour tuer le processus Subscriber.
4. Envoyer d’autres messages à partir du Publisher, ensuite ré exécuter le cmd Subscriber

Remarquer que les messages ont été récupérer.


5. Essayer de mettre –q 0 et 2. Exécuter les autres étapes ?que remarquez-vous ?
(q=0 au plus 1, q=1 au moins un, q=2 exactement une fois).

S. LYAZID Internet of 8
Things

Vous aimerez peut-être aussi