mirror of
https://github.com/deunix-educ/voice-assistant.git
synced 2026-10-13 00:11:57 +02:00
d20976fea2
É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>
38 lines
1.6 KiB
Plaintext
38 lines
1.6 KiB
Plaintext
# Droits par topic de l'assistant vocal (étape 15), pour Mosquitto 2.x.
|
|
#
|
|
# Tout ce qui n'est pas permis ici est INTERDIT, et Mosquitto refuse en silence :
|
|
# une publication interdite est jetée sans erreur côté client, un abonnement
|
|
# interdit ne reçoit simplement rien. Symptôme typique : « tout est connecté,
|
|
# mais rien ne se passe ».
|
|
|
|
# Le serveur vocal, et les outils du Makefile qui prennent ses identifiants
|
|
# (mqtt-watch, tone-mqtt, play-mqtt...) : tout voice/, la domotique home/ et les
|
|
# agents Linux agent/ (étape 15b).
|
|
user voice-server
|
|
topic readwrite voice/#
|
|
topic readwrite home/#
|
|
topic readwrite agent/#
|
|
|
|
# Chaque carte : SES topics seulement. %u est remplacé par le nom d'utilisateur
|
|
# MQTT, qui est donc le DEVICE_ID de la carte (esp32-01). Une carte ne peut ni
|
|
# écouter le micro d'une autre, ni publier sous son nom.
|
|
pattern write voice/%u/state
|
|
pattern write voice/%u/event
|
|
pattern write voice/%u/audio/in
|
|
pattern write voice/%u/audio/stream
|
|
pattern read voice/%u/control
|
|
pattern read voice/%u/audio/out
|
|
|
|
# Chaque agent Linux (étape 15b) : compte = son id (pc-bureau). Il ne reçoit que SES
|
|
# commandes : sans ces droits, n'importe qui pourrait éteindre toutes les machines.
|
|
pattern write agent/%u/state
|
|
pattern write agent/%u/result
|
|
pattern read agent/%u/command
|
|
|
|
# Présence du serveur (« online », ou « offline » publié par son testament) :
|
|
# toutes les cartes la lisent, pour couper leur micro quand il disparaît.
|
|
# Au démarrage, Mosquitto prévient « ACL pattern 'voice/server/status' does not
|
|
# contain '%c' or '%u' » : c'est voulu (le même topic pour tous), et la règle
|
|
# s'applique bien (vérifié).
|
|
pattern read voice/server/status
|