User Tools

Site Tools


infra:mqtt

:!: 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 sonic
    fuz-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 !

infra/mqtt.txt · Last modified: 2023-02-02 22:06 by 127.0.0.1