⇒ 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 s'il est connecté au même moment que l'envoi.
Nous avons choisi 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 avec l'extérieur) sur sonic 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 permetrait d'y avoir accès depuis l'extérieur du fuz en ouvrant l'accès via le pare-feu.
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 !