This is an old revision of the document!
⇒ /!\ Cette page a été écrite rapidement, il serait bon d'y apporter plus de détails.
MQTT est un protocole relativement léger, où il est possible pour un utilisateur de soit surveiller un “topic” sur le serveur, soit d'y envoyer des messages. L'utilisateur surveillant le topic le reçoit si il est connecté au même moment que l'envoi.
nous avons choisis d'installer mosquitto comme serveur mqtt.
sudo apt install mosquitto
l'install de mosquitto donne un serveur fonctionnel, mais sans tls, comptes, etc… c'est open bar pour tout le monde.
La configuration actuelle du firewall ( qui permet d'ouvrir et bloquer les connexions ) permet de faire en sorte que ce soit openbar pour le réseau local mais inaccessible depuis internet. Une configuration plus poussée que celle par défaut nous permetrais d'y avoir accès depuis l'extérieur du fuz en autorisant le firewall desservir du MQTT à internet.
Ensuite, on vérifie qu'on ait bien un démon qui écoute sur le port par défaut (1883).
sonic:~$ sudo ss -l |grep 1883 tcp LISTEN 0 100 0.0.0.0:1883 0.0.0.0:* tcp LISTEN 0 100 [::]:1883 [::]:*
OK ! Maintenant côté clients : Cas d'utilisation : on écoute un topic puis envoie un message dessus :
- pour s'abonner au topic
truc/chouette
du serveur sonicfuz-ThinkPad-T61:~$ sudo apt install mosquitto-clients jeanjack@fuz-ThinkPad-T61:~$ mosquitto_sub -h sonic -t truc/chouette
- pour envoyer un message sur
truc/chouette
hostname:~$ mosquitto_pub -h sonic -t truc/chouette -m "Kikoo"
On voit sur le premier client le message “Kikoo” ! Ça marche bien !