Installer un broker MQTT sous Linux
Un serveur MQTT est appelé broker. Il en existe quelques un :
- ActiveMQ développé par Apache et permet d'intégrer le protocole dans un serveur Apache httpd.
- JoramMQ pour une intégration Java de MQTT
- Mosquitto, le broker le plus utilisé actuellement dans les projets DIY
- RabbitMQ propose un support commercial
- EMQTT, conçu pour recevoir de très nombreuses connexions
Dans cet article j'installe Mosquitto sur Rasbperry Pi. Le port par défaut 1883/tcp sera utilisé.
Installer Mosquitto sous Rasbperry Pi OS
Mise à jour de la liste des dépôts
sudo apt update
Installation du paquets Mosquitto
sudo apt install mosquitto
sudo systemctl status mosquitto
Résultat marquant
Created symlink /etc/systemd/system/multi-user.target.wants/mosquitto.service → /lib/systemd/system/mosquitto.service
–
Générer une empreinte pour l'UTILISATEUR
sudo mosquitto_passwd -c /etc/mosquitto/passwd UTILISTATEUR
Dans le fichier /etc/mosquitto/mosquitto.conf
:
>allow_anonymous false password_file /etc/mosquitto/passwd
Redémarrer le service pour prendre en compte les modifications
sudo systemctl restart mosquitto
Envoyer / recevoir des messages MQTT
Il faut installer les clients mosquitto afin d'utiliser les outils d'émission et de réception de message mosquitto dans le bash.
sudo apt install mosquitto-clients
–
Envoyer un message sur le channel sensor/elec
mosquitto_pub -h localhost -t sensor/elec -m 2546
–
Le port d'écoute par défaut est le 1883 en tcp et en WebSocket sur le port 8883.
Recevoir des messages du channel sensor/elec
mosquitto_sub -h localhost -t "sensor/elec"
Discussion