User Tools

Site Tools


infra:mqtt

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 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.1574434075.txt.gz · Last modified: 2023-02-02 22:06 (external edit)