Cours:BUTiot MQTT : Différence entre versions
(8 révisions intermédiaires par le même utilisateur non affichées) | |||
Ligne 5 : | Ligne 5 : | ||
</center> | </center> | ||
− | Le travail de cette étape va consister à envoyer et recevoir des messages via le protocole MQTT, en ligne de commande | + | Le travail de cette étape va consister à envoyer et recevoir des messages via le protocole MQTT, en ligne de commande avec mosquitto: |
+ | * ''broker'' (serveur) mosquitto | ||
+ | * publication de message | ||
+ | * souscription à des topics | ||
=== Exercice 1 === | === Exercice 1 === | ||
− | Lire | + | {{Todos| |
+ | Lire le document et faire les exercices (partie 2.5) : [[Fichier:tutorial_mqtt.pdf]] (source J.Y. Tigli : http://www.tigli.fr) | ||
+ | }} | ||
''Note pour les utilisateurs de Windows'' : il sera préférable d’utiliser la console ''powerShell'' en mode administrateur (intégré à Windows) en guise de terminal plutôt que la rustique invite de commande. | ''Note pour les utilisateurs de Windows'' : il sera préférable d’utiliser la console ''powerShell'' en mode administrateur (intégré à Windows) en guise de terminal plutôt que la rustique invite de commande. | ||
Ligne 23 : | Ligne 28 : | ||
=== Exercice 2 === | === Exercice 2 === | ||
− | Échanger des informations entre deux machines (par binôme) | + | {{Todos| Échanger des informations entre deux machines (par binôme)}} : |
− | * Faire simple : envoyer un message sur un seul topic | + | * Faire simple dans un premier temps : envoyer un message sur un seul topic |
* En utilisant une des deux machines (ou les deux) en broker : | * En utilisant une des deux machines (ou les deux) en broker : | ||
** L'IP de votre machine est accessible par la commande <code>ipconfig</code> | ** L'IP de votre machine est accessible par la commande <code>ipconfig</code> | ||
** Il sera nécessaire de : | ** Il sera nécessaire de : | ||
− | |||
− | |||
*** de modifier au préalable le fichier <code>mosquitto.conf</code> | *** de modifier au préalable le fichier <code>mosquitto.conf</code> | ||
<source lang=bash> | <source lang=bash> | ||
− | listener 1883 # vers la ligne 232 : permet l'acces sur le port 1883 par IP | + | listener 1883 0.0.0.0 # vers la ligne 232 : permet l'acces sur le port 1883 par IP |
allow_anonymous true # vers la ligne 529 : autorise les connections externes | allow_anonymous true # vers la ligne 529 : autorise les connections externes | ||
</source> | </source> | ||
+ | *** interrompre et relancer le service <code>mosquitto</code>. Pour windows : <code>net stop mosquitto</code> puis <code>net start mosquitto</code> | ||
+ | |||
=== Ressources externes === | === Ressources externes === | ||
* MQTT Explorer : http://mqtt-explorer.com/ | * MQTT Explorer : http://mqtt-explorer.com/ | ||
+ | * Comprendre MQTT : https://www.lemagit.fr/conseil/Internet-des-Objets-bien-comprendre-MQTT | ||
+ | * (Si besoin) Installation des outils (plusieurs windows 10 + 1 W7+ 1 linux) | ||
+ | ** Informations sur https://mosquitto.org pour tous les os | ||
+ | * Un tuto MQTT : https://hackmd.io/@pmanzoni/BJ9hwSfhG |
Version actuelle datée du 27 novembre 2023 à 16:33
MQTT : envoyer/recevoir des données
Le travail de cette étape va consister à envoyer et recevoir des messages via le protocole MQTT, en ligne de commande avec mosquitto:
- broker (serveur) mosquitto
- publication de message
- souscription à des topics
Exercice 1
Lire le document et faire les exercices (partie 2.5) : Fichier:Tutorial mqtt.pdf (source J.Y. Tigli : http://www.tigli.fr)
Note pour les utilisateurs de Windows : il sera préférable d’utiliser la console powerShell en mode administrateur (intégré à Windows) en guise de terminal plutôt que la rustique invite de commande.
Vous testerez ces brokers :
- Broker de test :
test.mosquitto.org
- Broker graphique : https://lp-iot.cloud.shiftr.io : (visualisation des messages entrants et sortants).
- Il est nécessaire de fournir un numéro d’utilisateur et un mot de passe.
- Exemple
mosquitto_pub -u lp-iot -P vHm5YuMEPJcpNfss -h lp-iot.cloud.shiftr.io -t NomDuTopic -m ContenuDuMessage
- Broker lancé par défaut sur chaque machine
- Broker interne (10.98.35.245)
Exercice 2
Échanger des informations entre deux machines (par binôme) :
- Faire simple dans un premier temps : envoyer un message sur un seul topic
- En utilisant une des deux machines (ou les deux) en broker :
- L'IP de votre machine est accessible par la commande
ipconfig
- Il sera nécessaire de :
- de modifier au préalable le fichier
mosquitto.conf
- de modifier au préalable le fichier
- L'IP de votre machine est accessible par la commande
listener 1883 0.0.0.0 # vers la ligne 232 : permet l'acces sur le port 1883 par IP
allow_anonymous true # vers la ligne 529 : autorise les connections externes
- interrompre et relancer le service
mosquitto
. Pour windows :net stop mosquitto
puisnet start mosquitto
- interrompre et relancer le service
Ressources externes
- MQTT Explorer : http://mqtt-explorer.com/
- Comprendre MQTT : https://www.lemagit.fr/conseil/Internet-des-Objets-bien-comprendre-MQTT
- (Si besoin) Installation des outils (plusieurs windows 10 + 1 W7+ 1 linux)
- Informations sur https://mosquitto.org pour tous les os
- Un tuto MQTT : https://hackmd.io/@pmanzoni/BJ9hwSfhG