Files
voice-assistant/mosquitto/voice.conf
T
Denis Defolie d20976fea2 Assistant vocal local ESP32 : étapes 1 à 15, et 15b écrite
État du projet au premier commit :
- firmware ESP32 : micro I2S, lecture anti-gigue, MQTT (état retenu, testament),
  mains libres, domotique de démonstration, chien de garde, présence du serveur ;
- serveur Python : sessions, VAD, faster-whisper, pyannote, identification,
  droits par profil, domotique, mot de réveil, Piper ;
- broker Mosquitto : configuration, comptes et ACL (non activés en développement) ;
- étape 15b écrite, en attente d'essai : agent MQTT pour machines Linux.

Étapes 1 à 15 validées. 203 tests, pyright sans erreur.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-30 17:41:11 +02:00

49 lines
2.1 KiB
Plaintext

# Configuration Mosquitto 2.x de l'assistant vocal.
#
# Deux façons de l'utiliser :
# - service Debian : `make mosquitto-config` (copie vers /etc/mosquitto/conf.d/) ;
# - conteneur Docker : monter ce fichier comme /mosquitto/config/mosquitto.conf
# (voir docs/MOSQUITTO.md).
#
# Piège n°1 : sans « listener » explicite, Mosquitto 2.x n'écoute QUE sur
# localhost. L'ESP32 ne peut alors pas se connecter, alors que mosquitto_sub
# fonctionne très bien sur la machine elle-même.
#
# Piège n°2 : UN SEUL « listener » par port. Deux lignes « listener 1883 »
# font planter le broker au démarrage (« Error: Address in use ») ; dans un
# conteneur en « restart: unless-stopped », il redémarre alors en boucle.
listener 1883 0.0.0.0
# Étape 15 : plus d'accès anonyme. Chaque client a un compte (make mqtt-user),
# et le fichier acl dit qui peut lire ou écrire quel topic : une carte ne lit
# que ses commandes, et personne d'autre que le serveur n'entend les micros.
# Chemins du conteneur Docker ; « make mosquitto-config » les adapte au service
# Debian (/etc/mosquitto/).
#
# Piège n°4 : TOUS les clients de ce broker ont désormais besoin d'un compte,
# y compris ceux d'autres projets qui l'utilisaient sans mot de passe.
allow_anonymous false
password_file /mosquitto/config/passwd
acl_file /mosquitto/config/acl
# Taille maximale d'un paquet MQTT complet (en-tête et topic compris).
# Un chunk audio fait 1600 octets : 8192 laisse une large marge.
# (remplace « message_size_limit », obsolète depuis Mosquitto 2.0)
max_packet_size 8192
# Journal sur la sortie standard : visible avec `docker logs` dans un conteneur,
# et dans `journalctl -u mosquitto` avec le service Debian.
# Piège n°3 : « log_dest syslog » dans un conteneur n'écrit nulle part, et un
# plantage au démarrage devient invisible.
log_dest stdout
log_type error
log_type warning
log_type notice
log_type information
connection_messages true
# Pas de persistance : les messages audio n'ont aucun intérêt après coup, et
# l'état « retenu » de l'ESP32 est republié à chaque connexion.
persistence false