Skip to content

Configuration du broker MQTT Mosquitto

Kesako MQTT ?

MQTT (Message Queuing Telemetry Transport) est un protocole de messagerie qui a été développé à la base pour simplifier la communication entre les machines et qui est maintenant un standard international pour la communication entre machines (M2M) et les objets (IoT). Pour économiser au maximum la batterie des appareils mobiles. MQTT consomme 11 fois moins d’énergie pour envoyer des messages et 170 fois moins pour en recevoir que le protocole HTTP. MQTT est également 93 fois plus rapide que le protocole HTTP. (https://www.tutos.eu/4910)

Le protocole consiste en un serveur MQTT (broker) sur lequel des clients viennent se connecter. Les clients peuvent éditer (publish) ou s’abonner (subscribe) à un sujet (topic). Les messages publiés sur les topics peuvent donc être échangés entre les clients.

Mosquitto est un serveur MQTT open-source qui permet d’utiliser simplement le protocole MQTT entre différents appareils connectés au même réseau.

Capture-2024-10-17-104122.png

Installation de Mosquitto

Téléchargez et installez Mosquitto

Une fois installé, ouvrez une invite de commande et déplacez vous dans le dossier où mosquitto a été installé, puis exécutez la commande suivante pour lancer le service :

mosquitto  # devrait fonctionner sinon tester la commande net start mosquitto

Pour vérifier que le service est bien lancé:

netstat -an | find str 1883

Le fichier de configuration du serveur doit se trouver dans le dossier d’installation C:\Program Files\mosquitto\mosquitto.conf

Info

En cas de problème avec le pare-feux Windows, vous pouvez trouver de l'aide ici .

Sur linux on peut installer Mosquitto avec les commandes suivantes:

sudo apt-get update
sudo apt-get install mosquitto mosquitto-clients

Une fois le service installé, il est possible de le gérer avec les commandes suivantes:

1
2
3
4
sudo systemctl stop mosquitto   #arrêter
sudo systemctl start mosquitto  #démarrer
sudo systemctl restart mosquitto #redémarrer
sudo systemctl status mosquitto #connaitre le status

La configuration du serveur se fait à l’aide du fichier .conf

sudo nano /etc/mosquitto/mosquitto.conf
sudo nano /etc/mosquitto/conf.d/default.conf

Attention

Si vous avez activé le firewall sur votre Linux, il faut penser à autoriser le port 1883 avec une commande du type

1
2
3
#Autoriser le port 1883 en entrée pour Mosquitto
iptables -t filter -A INPUT -p tcp --dport 1883 -j LOGACCEPT
echo "Mosquitto ok"

Le plus simple est de l’installer avec le gestionnaire de paquets Homebrew ou MacPort

Exemple avec Homebrew (cf le lien ci-dessus pour installer Homebrew) :

brew install mosquitto

Pour démarrer Mosquitto en mode console sans service :

mosquitto -d -c /usr/local/etc/mosquitto/mosquitto.conf

Pour définir Mosquitto en service :

ln -sfv /usr/local/opt/mosquitto/*.plist ~/Library/LaunchAgents
launchctl load ~/Library/LaunchAgents/homebrew.mxcl.mosquitto.plist

Vérifier le bon fonctionnement de Mosquitto

Cette étape est valable pour tous les systèmes.

Dans un premier terminal on tape la commande :

mosquitto_sub -h localhost -t test_topic

Dans un autre terminal on tape la commande suivante :

mosquitto_pub -h localhost -t test_topic -m "Hello World!"

Attention

Veillez à bien lancer la commande sub avant la commande pub.

Par la suite on utilisera ce broker MQTT directement avec Node-RED.