Vous voulez relier des capteurs, Home Assistant et des ESP32 sans cloud ? Mosquitto transforme un Raspberry Pi en broker MQTT local. Ce guide l’installe, bloque les connexions anonymes et valide un échange réel.
Les 3 points clés
- Mosquitto distribue les publications MQTT aux appareils abonnés.
- Un compte dédié protège le broker.
- Deux commandes testent la chaîne avant Home Assistant.
Résultat attendu
Votre Pi écoute MQTT sur le LAN, demande un identifiant et affiche un message de test. C’est une base fiable pour Home Assistant, Zigbee2MQTT, Node-RED et vos objets connectés.

MQTT et Mosquitto : à quoi servent-ils ?
MQTT est un protocole léger organisé en sujets, par exemple maison/salon/temperature. Un capteur publie sa mesure ; Home Assistant s’y abonne. Mosquitto est le broker libre qui fait le lien. Un Pi 3, 4, 5 ou Zero 2 W sous Raspberry Pi OS convient.
Prérequis
| Élément | Conseil |
|---|---|
| Réseau | Ethernet et réservation DHCP recommandés |
| Accès | SSH ou terminal avec sudo |
| Sécurité | Ne redirigez jamais le port 1883 depuis la box |
Étape 1 — Mettre Raspberry Pi OS à jour
sudo apt update
sudo apt full-upgrade -y
Étape 2 — Installer Mosquitto et les clients de test
sudo apt install -y mosquitto mosquitto-clients
sudo systemctl enable --now mosquitto
systemctl is-active mosquitto
La réponse attendue est active. Sinon : sudo journalctl -u mosquitto -n 50 --no-pager.
Étape 3 — Créer un compte MQTT
Créez l’utilisateur maison avec un mot de passe long. -c crée le fichier : ne l’utilisez plus pour ajouter un autre compte.
sudo mosquitto_passwd -c /etc/mosquitto/passwd maison
sudo chown mosquitto:mosquitto /etc/mosquitto/passwd
sudo chmod 640 /etc/mosquitto/passwd
Étape 4 — Interdire l’anonyme et écouter le LAN
Créez un fichier de configuration séparé :
sudo nano /etc/mosquitto/conf.d/maison.conf
Ajoutez :
listener 1883
allow_anonymous false
password_file /etc/mosquitto/passwd
persistence true
persistence_location /var/lib/mosquitto/
Appliquez puis contrôlez :
sudo systemctl restart mosquitto
sudo systemctl status mosquitto --no-pager
Le port 1883 n’est pas chiffré : gardez-le sur le LAN. Pour l’accès distant, utilisez un VPN plutôt qu’une ouverture de port.
Étape 5 — Tester un message
Dans le premier terminal :
mosquitto_sub -h 127.0.0.1 -u maison -P 'VOTRE_MOT_DE_PASSE' -t 'maison/test' -v
Dans le second :
mosquitto_pub -h 127.0.0.1 -u maison -P 'VOTRE_MOT_DE_PASSE' -t 'maison/test' -m 'Bonjour depuis le Raspberry Pi'
Le premier affiche maison/test Bonjour depuis le Raspberry Pi. Depuis un autre appareil, remplacez 127.0.0.1 par l’IP LAN du Pi.

Vidéo : voir l’installation en pratique
Connecter Home Assistant ou un ESP32
Dans Home Assistant, ajoutez l’intégration MQTT, saisissez l’IP du Pi, le port 1883 et le compte maison. Dans un ESP32, utilisez les mêmes paramètres. Préférez des sujets clairs : maison/cuisine/temperature.
Dépannage
- Connection refused : vérifiez l’IP, le statut et
sudo ss -ltnp | grep 1883. - Not authorized : contrôlez le compte puis réinitialisez avec
sudo mosquitto_passwd /etc/mosquitto/passwd maison. - Client distant muet : testez d’abord en local, puis avec l’IP LAN, jamais l’IP publique.
- Service en échec : lisez
journalctl -u mosquittoet vérifiez la configuration ajoutée.
Variantes et limites
Pour isoler les usages, créez un compte par appareil et des ACL. TLS chiffre MQTT mais impose la gestion des certificats. Home Assistant OS propose aussi un module MQTT, pratique si le Pi lui est dédié.
Questions fréquentes
Faut-il un Pi puissant ?
Non. Un Pi 3 ou Zero 2 W suffit généralement pour quelques automatismes.
Dois-je ouvrir MQTT sur Internet ?
Non. Gardez MQTT sur le LAN et passez par un VPN à distance.
Comment vérifier l’activation au démarrage ?
systemctl is-enabled mosquitto doit répondre enabled.
Sources officielles
Vincent Vandegans — Passionné de Raspberry Pi, Linux et projets maker, Vincent partage des guides pratiques pour construire une maison connectée fiable et compréhensible.




