Ceci est une ancienne révision du document !
Mosquitto est un broker MQTT. Il réceptionne et redistribue les messages via le protocole MQTT.
Une solution simple pour tester le service est d'utiliser Docker:
docker image pull eclipse-mosquitto:2.0.14 docker container run --detach --rm --name test_mosquitto --publish 127.0.0.1:1883:1883 eclipse-mosquitto:2.0.14
L'image Docker contient également des commandes permettant d'envoyer ou de recevoir facilement des messages depuis la ligne de commandes:
Créer un processus souscripteur qui recevra les messages
# ouvrir un shell interactif dans le conteneur docker container exec -it test_mosquitto /bin/sh # Pour recevoir les messages on s'inscrit auprès du serveur (souscription aux topics). # Ici on souhaite recevoir tous les topics. Les messages seront affichés sur la console: mosquitto_sub --id receiver_test --topic '#' --verbose
Pour envoyer un message, on procède de façon similaire:
# Ouvrir un autre shell interactif dans le conteneur docker container exec -it test_mosquitto /bin/sh # Pour envoyer un message au Broker on utilise la commande **mosquitto_pub** (publish) mosquitto_pub --id message_emitter -h localhost -r -t "test/light/salon" -m '{ "status": "on"}'
Si on affiche la console du processus souscripteur, on voit alors apparaître le message:
test/light/salon { "status": "on"}
Pour envoyer des messages MQTT via une application Python, voir note Publier des messages MQTT en Python.