So Jungs und Mädels,
ich hatte wieder ein bisschen Zeit zum testen und habe mich jetzt wieder mit meinem Hermes LED Problem befassen können. Ich habe das Problem warum es nicht geht zwar noch nicht gefunden aber ich konnte es eingrenzen.
Es muss mit einem Rechteproblem mit einem von mir zusätslich zu PI angelegten Benutzer handeln. Denn unter Pi habe ich es jetzt zum laufen bekommen. Auch wenn ich die oben von mir benutzte Anleitung für uns alle und ggf. für einen Anfängerthred einfach mal erweitere.
Danke an @joergeli @tobetobe @capitaenz
Also meine Vorraussetzetzungen sind RPI4 mit 4GB Ram und einem ReSpeaker4 für den PI
Ich werde aber auch die Schritte für den ReSpeaker2 von @capitaenz der Vollständigkeit halber mit rein nehmen.
- Image Flashen mit balenaEtcher oder Win32 DiskImager (Raspberry Pi OS Lite )
- sh und wpa_supplicant.conf auf SD-Karte anlegen
- Per SSH (z.B. Putty) einloggen
sudo apt update
sudo apt full-upgrade
sudo curl -sSL https://get.docker.com | sh
sudo usermod -aG docker pi
- Jetzt wird der Pixel Ring Treiber installiert damit Hermes LED später auch funktioniert. Damit das ganze funktioniert müssen wir manuell Pyton3-pip installieren. Das ist der Paketverwalter von Phyton den wir brauchen, das er uns den Treiber installiert. Ausserdem tragen wir unsere Home/bin Verzeichnis in die PATH Variablen ein sonst kommt es bei der installation den Pixel-Ring Treibes zu einer Fehlermeldung
export PATH="/home/pi/.local/bin:$PATH"
sudo apt-get install python3-pip
pip3 install pixel_ring
- Dann gleich anschliesend den MQTT Server (ob jetzt oder später ist egal aber dann können wir ihn schon mal nicht vergessen )
sudo apt install -y mosquitto mosquitto-clients
sudo systemctl enable mosquitto.service
sudo systemctl start mosquitto
- So und jetzt rebooten wir erstmal
sudo reboot -n
- Wieder einloggen und jetzt holen wir uns das Rhasspy Docker Image. Es gibt aktuell
(21.06.2020) die 2.5.0 stable.(10.10.2020) die 2.5.6 stable. (16.01.2021) die 2.5.9 stable
sudo docker pull rhasspy/rhasspy:2.5.9
- und starten es
docker run -d -p 12101:12101 --restart unless-stopped -v "$HOME/.config/rhasspy/profiles:/profiles" --device /dev/snd:/dev/snd rhasspy/rhasspy:2.5.9 --user-profiles /profiles --profile de
- so nun den Hermes LED Control installieren
sudo wget https://gist.githubusercontent.com/Psychokiller1888/a9826f92c5a3c5d03f34d182fda1ce4c/raw/cbb53252dd55dc4e9f5f6064a493f0981cf133fb/hlc_download.sh
sudo chmod +x hlc_download.sh
sudo ./hlc_download.sh
Hier mein BSP für meine ReSpeaker 4 installtion. weiter unten dann die ReSpeker 2 config
-
Fragen
-
What assistant engine are you using?
2 (rhasspy) -
What's the path to your assistant config file?
/home/pi/.config/rhasspy/profiles/de/profile.json -
What device do you wish to control with SLC?
2 (respeaker4) -
What pattern do you want to use?
3 (projectalice) oder
5 (kiboost) -
Do you need to install / configure your respeaker4?
1 (yes)
So hier der Teil von Kollege @capitaenz die er für seinen Respeker 2 gemacht hat
-
Fragen
-
What assistant engine are you using?
2 (rhasspy) -
What's the path to your assistant config file?
/home/pi/.config/rhasspy/profiles/de/profile.json -
What device do you wish to control with SLC?
1 (respeaker2) -
What pattern do you want to use?
5 (kiboost) -
Do you need to install / configure your respeaker2?
1 (yes)
Ab hier gehts dann für alle wieder gleich weiter
- Ab in die Raspi Config um SLI zu aktivieren
sudo raspi-config
-
->5->P4->YES->EXIT
-
und nochmal ein reboot
sudo reboot -n
<IP-Rhasspy>:12101 -> Webinterface aufrufen
-
Rhasspy wie folgt einstellen:
MQTT -> External
Host -> IP Rhasspy
Port -> 1883
Audio Recording -> PyAudio
Wake Word -> Snowboy (Apply Frontend nicht anwählen und Sensitivity auf 0.9) oder bei mir ist es Porcupine da ich mit Sowboy ab dem wechseln der Wake Words ein Problem habe.
Speech to Text -> Kaldi (Dateien müssen später über das Webinterface nach einem Neustart von Rhasspy nachinstalliert werden)
Intent Recognition -> Fsticuffs
Text to Speech -> PicoTTS
Audio Playing -> aplay
Dialog Management -> Rhasspy
Intent Handling -> ausgegraut
Auf "Sentences" klicken (die Balken) -
Reboot Rhasspy
-
Anschließend die restlichen Dateien mit dem "Download" Knopf herunterladen (Kaldi)
-
Folgendes zum Test unter [ChangeLightState] eintragen:
[Rolladen]
rolladen_name = (rolladen ) {name}
rolladen_state = (hochfahren | runterfahren | stoppen ) {state}
<rolladen_name> <rolladen_state>
-
Abspeichern (Save Sentences) nicht vergessen und anschließend auf "Train" (oben rechts) drücken
-
Im ioBroker einen (weiteren) MQTT-Adapter hinzufügen.
Diesen als "Client/subscriber" einrichten
Unter "URL" die IP des Rhasspy eintragen und den Port 1883
Unter Subscribe patters UND Prefix für alle Topics folgendes eintragen:
hermes/intent/#,hermes/asr/startListening,hermes/nlu/intentNotRecognized <-- Hier war eine kleines Fehlerchen in der Ausführung vom @capitaenz es dürfen keine Leerzeichen enthalten sein
Bekanntgeben eigene States beim Verbinden den Haken raus.
hermes/intent/#,hermes/asr/startListening,hermes/nlu/intentNotRecognized
Fertig!
-
Jetzt zum Test sagen:
"snowboy" "rolladen hochfahren" oder
"porcupine" "rolladen hochfahren" (je nachdem was ihr gewählt habt) -
unter mqqt.0.hermes erscheinen jetzt die Datenpunkte zum Rolladen. (Hier nur als BSP weil es @capitaenz in seiner Ausführung verwendet hat. Das ganze erweitern wie natürlich nach und nach mit [Licht] oder [Themeratur] um das ganze dann in Thematischen blöcken definieren zu können.
Das ganze hilft jetzt hoffentlich dem ein oder anderen Neueinsteiger und erspart ihm viel Zeit
Dank auch an @Xsev für den ein oder anderen kleinen Denkanstoß.
Hier zum Original Posting auf das ich mich beziehe
Gruß Flo