Bonjour à toi ami lecteur. J’espère que tu vas bien et que tu savoures ce nouveau confinement… Aujourd’hui, nous allons voir comment lancer Rhasspy au démarrage du raspberry.
Comme tu as déjà pu le voir sur le site, il y a au moins 2 méthodes d’installation de Rhasspy. La première, la plus simple pour les débutants, c’est depuis une image Docker.
La seconde méthode est l’installation de Rhasspy dans un environnement virtuel python.
Voyons donc comment faire en sorte que notre Rhasspy démarre au démarrage ou au redémarrage de notre raspberry.
Bonjour cedcox,
Je vais essayer de faire court… j’ai pu faire fonctionner Rhasspy[docker] sans problème. j’ai donc pour des raisons de dev modifier mon Raspberry pi 4 en déplacant le systeme sur un petit SSD. Il fonctionne à merveille .
J’ai donc décider de passer sur un environnement virtuel . j’ai finalement une erreur lors du lancement avec un “supervisor non trouvé”
voici le syslog :
***************************************************
Dec 21 14:29:47 raspberrypi systemd[1]: Started Rhasspy.
Dec 21 14:29:48 raspberrypi rhasspy[1329]: Starting up…
Dec 21 14:29:48 raspberrypi rhasspy[1329]: Using virtual environment at /home/pi/rhasspy/.venv
Dec 21 14:29:48 raspberrypi rhasspy[1329]: DEBUG:rhasspysupervisor:Namespace(debug=True, docker_compose=”, local_mqtt_port=12183, profile=’fr’, supervisord_conf=’supervisord.conf’, system_profiles=None, user_profiles=PosixPath(‘/home/pi/.config/rhasspy/profiles’))
Dec 21 14:29:48 raspberrypi rhasspy[1329]: DEBUG:rhasspysupervisor:Loading profile fr (user=/home/pi/.config/rhasspy/profiles, system=None)
Dec 21 14:29:48 raspberrypi rhasspy[1329]: DEBUG:rhasspyprofile.profile:Loading /home/pi/rhasspy/rhasspy-profile/rhasspyprofile/profiles/fr/profile.json
Dec 21 14:29:48 raspberrypi rhasspy[1329]: DEBUG:rhasspyprofile.profile:Loading /home/pi/.config/rhasspy/profiles/fr/profile.json
Dec 21 14:29:48 raspberrypi rhasspy[1329]: DEBUG:rhasspysupervisor:Generating supervisord conf
Dec 21 14:29:48 raspberrypi rhasspy[1329]: DEBUG:rhasspysupervisor:Microphone disabled (system=dummy)
Dec 21 14:29:48 raspberrypi rhasspy[1329]: DEBUG:rhasspysupervisor:Speakers disabled (system=dummy)
Dec 21 14:29:48 raspberrypi rhasspy[1329]: DEBUG:rhasspysupervisor:Wake word disabled (system=dummy)
Dec 21 14:29:48 raspberrypi rhasspy[1329]: DEBUG:rhasspysupervisor:Speech to text disabled (system=dummy)
Dec 21 14:29:48 raspberrypi rhasspy[1329]: DEBUG:rhasspysupervisor:Intent recognition disabled (system=dummy)
Dec 21 14:29:48 raspberrypi rhasspy[1329]: DEBUG:rhasspysupervisor:Intent handling disabled (system=dummy)
Dec 21 14:29:48 raspberrypi rhasspy[1329]: DEBUG:rhasspysupervisor:Text to speech disabled (system=dummy)
Dec 21 14:29:48 raspberrypi rhasspy[1329]: DEBUG:rhasspysupervisor:Dialogue disabled (system=dummy)
Dec 21 14:29:48 raspberrypi rhasspy[1329]: DEBUG:rhasspysupervisor:Wrote /home/pi/.config/rhasspy/profiles/fr/supervisord.conf
Dec 21 14:29:48 raspberrypi rhasspy[1329]: Starting services…
Dec 21 14:29:48 raspberrypi rhasspy[1329]: Using virtual environment at /home/pi/rhasspy/.venv
Dec 21 14:29:49 raspberrypi rhasspy[1329]: Using virtual environment at /home/pi/rhasspy/.venv
Dec 21 14:29:49 raspberrypi rhasspy[1329]: /home/pi/rhasspy/bin/voltron-run: ligne 48 : exec: supervisord : non trouvé
Dec 21 14:29:49 raspberrypi systemd[1]: rhasspy.service: Succeeded.
***********************************
Une idée ?
bien cordialement,
et un grand merci pour tes aides
Pascal
Bonjour,
Alors comme ça je dirai qu’effectivement supervisord n’est pas installé. Etrange…
Essaye de l’installer via cette ligne :
sudo apt install supervisor
Cédric
Bonjour Ced,
Je passe par ce topic pour le script de la mise à jour de Rhasspy.
Question : si l’on lance une demande de mise à jour alors qu’on dispose de la dernière version le script renvoi une erreur comme quoi on possède déjà la dernière version d’où l’impossibilité d’exécuter l’opération ou efface t-il quand même le conteneur et le recrée automatiquement comme s’il s’agissait d’une mise à jour.
Merci.
Bonjour Hervé,
Effectivement, j’avais oublié d’activer les commentaires sur l’article des mises à jour. C’est corrigé 🙂
Voici ce que ça donne lorsque je relance un pull alors que je suis toujours à jour :
pi@rasp-test:~ $ docker pull rhasspy/rhasspy
Using default tag: latest
latest: Pulling from rhasspy/rhasspy
Digest: sha256:885580155f24e4e91e9eca43e32e1c4223486278e45284911fd57fe4478b9a83
Status: Image is up to date for rhasspy/rhasspy:latest
docker.io/rhasspy/rhasspy:latest
pi@rasp-test:~ $
Donc, il ne re-télécharge rien et ne recrée pas ton conteneur lorsque l’image est à jour.
Par contre, si il met à jour l’image, alors il te faudra redémarrer ton conteneur pour qu’il le mette à jour.
Ced
Bonsoir Ced,
J’ai surement loupé quelque chose.
Cette procédure concerne uniquement un environnement virtuel ou aussi Docker.
Pour mon installation Docker je suis parti de la création de service et au reboot Rhasspy ne se lance pas. Je suis toujours obligé de lancer mon conteneur en ligne de commande.
Hervé
Bonjour Hervé
Si tu as une image Docker, seule la page 2 du tutoriel est nécessaire. La page 3 n’est que pour ceux qui ont installé Rhasspy dans un environnement python virtuel (via les commandes git).
Je t’ai répondu directement et plus longuement par mail 🙂
Ced
Bonjour Cédric,
Heureux de voir que tes travaux semblent toucher à leur fin vu ton retour avec 3 nouveau articles en 2 jours.
Du coup j’ai essayé de les mettre en pratique.
Lancement automatique de Rhasspy au démarrage et du script de maj (je travail avec une installation Docker) et j’ai comme erreur pour les 2 comme quoi la liaison ne pouvait être effectuée car le port était déjà occupé.
” docker: Error response from daemon: driver failed programming external connectivity on endpoint keen_leavitt (e1e23c048575ddb222811e19b4eb9cf68098ec3afebd13d6cee6f8d23e10653d): Bind for 0.0.0.0:12101 failed: port is already allocated.
ERRO[0003] error waiting for container: context canceled
”
Donc me revoila avec mes soucis lol.
Hervé
Bonjour Hervé,
Cette erreur signifie que tu as déjà le port 12101 d’utilisé donc qu’il y a déjà certainement une instance de Rhasspy déjà lancée.
Dans un premier temps, liste les conteneurs Rhasspy en cours d’exécution :
docker container ls
Il devrait te renvoyer une ligne comme ceci :
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
5c79353b0837 rhasspy/rhasspy "bash /usr/lib/rhass…" 5 minutes ago Up 36 seconds 0.0.0.0:12101->12101/tcp affectionate_wilson
Maintenant qu’on a le nom du conteneur (affectionate_wilson), on va arrêter cette instance :
docker stop affectionate_wilson
On vérifie qu’il n y a plus d’instance avec la première commande plus haut, et tu peux exécuter celle dans cet article (avec -d –restart unless-stopped \).
En espérant que ça résoudra le soucis !
Ced