Beteiligte Computer

Die folgenden Computer sind am Smart Home beteiligt:

Typ Name im Netzwerk Ort Äußere Merkmale Erforderlich für
Raspberry Pi 4 smart-home-server Weißes Regel, unteres geschlossenes Fach Transparentes Acrylgehäuse Alles
Raspberry Pi 3 aa000024 Auf dem weißen Regal an Rückseite linker Monitor montiert SensFloor
Raspberry Pi 3 c8a000ae Boden nebem dem Schreibtisch Schwarzes Plastikgehäuse SensFloor
Raspberry Pi camera An der Decke Kamera Sturzkamera
Raspberry Pi Zero kuehlschrank-1 Kühlschrank innen oben Mit Öffnungssensor verkabelt Kühlschrank-Fotos (alle)
Raspberry Pi Zero kuehlschrank-2 Kühlschrank Tür oben   Zweites Kühlschrank-Foto
Raspberry Pi Zero kuehlschrank-3 Kühlschrank Tür unten   Drittes Kühlschrank-Foto

Überprüfung im Netzwerk (SSID Smart Home, Passwort 05808161781375379960): Im Browser die Adresse 192.168.178.1 öffnen und in die Fritz Box einloggen mit Passwort soft0734. Dann sollten unter dem Seitenreiter "Netzwerk" obige Geräte mit folgenden IPs sichtbar sein:

Name im Netzwerk IP lokale Domain
smart-home-server 192.168.178.24 smart-home-server.fritz.box
c8a000ae 192.168.178.22 c8a000ae.fritz.box
aa000024 192.168.178.27 aa000024.fritz.box
camera 192.168.178.25 camera.fritz.box
kuehlschrank-1 kuehlschrank-1.fritz.box
kuehlschrank-2 kuehlschrank-2.fritz.box
kuehlschrank-3 kuehlschrank-3.fritz.box

Smart Home Control Server starten

Der Server vom Smart Home Control sollte automatisch starten. Falls etwas nicht funktioniert hat, oder der Server neugestartet werden soll, geht das über den Systemd Service:

sudo systemctl restart smart-home

Neben restart gibt es auch start, stop und status. Die Service-Konfiguration liegt in /etc/systemd/system/smart-home.service. Der Server selbst in /home/pi/smart-home/smart-home-control.

Die Smart Home Control Oberfläche ist dann erreichbar unter https://smart-home-server.fritz.box:3030/#home (Achtung: Selbst-signiertes Zertifikat).

SensFloor sichtbar machen

Den linken Monitor an der Fensterbank einschalten; dort ist das SensFloor "Stationsterminal" (aa000024) angeschlossen, das automatisch den SensFloor visualisieren sollte. Falls nicht: Diesen Computer (Rückseite vom Monitor) neu starten. Falls immer noch nicht: Einen anderen Computer ins "Smart Home" WLAN einloggen (Passwort s. o.) und im Browser die Adresse

File not found: 8000

eingeben. Dort sollte der SensFloor visualisiert werden.

Sprachsteuerung einschalten

Spracherkennung starten

Die Spracherkennung läuft über das Skript in /home/pi/smart-home/spracherkennung/. Das kann man entweder von Hand starten:

python3 /home/pi/smart-home/spracherkennung/spracherkennung.py -r 48000 --model /home/pi/vosk-api/python/example/model/ -s https://localhost:3030
Oder den user-level service starten (und später mit stop statt start stoppen), dann läuft der im Hintergrund:
systemctl --user start spracherkennung

Das geht per SSH, oder wenn man den rechten Monitor einschaltet, an den smart-home-server Tastatur und Maus anschließt, ein neues Terminal-Fenster öffnet (oben links in der Menüleiste auf dem Desktop) und einen der obigen Befehle eingibt.

Was das Mikrofon aufnimmt ist auf der Smart Home Control Oberfläche unter Details anzeigen bei Mikrofon, wenn das Mikrofon an ist.

Lichtsteuerung starten

Auf smart-home-server neues Terminalfenster öffnen und

node /home/pi/Desktop/nodejs-server/server.js
eingeben. Sollte einen Prozess starten, der unter anderem die Anzeige "Sprachsteuerung hat PID … " ausgibt.

Sprachsteuerung benutzen

Die Sprachsteuerung sollte unter anderem auf die Befehle "mach das Küchenlicht an", "mach das Küchenlicht aus", "mach die Stehlampe an", "mach die Stehlampe aus" reagieren. Hinweis: Den Befehl "mach das Licht an" versteht sie derzeit nicht; man muss angeben, welches Licht.

Kamera einschalten

Wenn der Raspi für die Kamera an ist, sollte das zugehörige Skript automatisch starten und sich mit dem Smart Home Control verbinden. Dazu gibt es einen Service in /etc/systemd/system/camera.service.

Von Hand kann man die Kamera starten/stoppen/etc. mit:

# (Neu)starten
sudo systemctl restart camera
# Stoppen
sudo systemctl stop camera
# Status anzeigen
sudo systemctl status camera