Dustin1358 / Raspberry-Pi-Divera-Monitor

Tutorial zur Einrichtung des Divera Monitors auf einem Raspberry Pi mit automatischer Ein/Ausschaltung bei Alarmen und integriertem Bewegungsmelder.
14 stars 8 forks source link

Divera-Monitor-Raspberry-Pi

In diesem Tutorial wird auf einem Raspberry Pi eine automatische Steuerung des Divera Monitors eingerichtet. Der Raspberry schaltet bei Alarmen sowie zu Dienstzeiten den Monitor an und im Anschluss wieder aus. Hier werden 2 Versionen präsentiert. Die erste Version schaltet bei Alarmen und Dienstzeiten den Monitor an bzw. wieder aus. Die zweite Version integriert außerdem einen Bewegungsmelder. Hierbei wird zu Dienstzeiten, wenn sich niemand vor dem Monitor befindet, der Bildschirmschoner eingeschaltet. Außerhalb der Dienstzeiten wird bei der Detektion von Bewegung der Monitor eingeschaltet.

Das Folgende ist eine Schritt-für-Schritt-Anleitung, die vom Kauf des Raspberrys bis zum fertigen Monitor geht.

Raspberry Pi

Dieses Tutorial basiert auf dem Modell Raspberry Pi 3 B+. Falls noch keiner gekauft wurde, kann bspw. von ABOX ein Komplettpaket mit Ladegerät, SD-Karte und weiterem Zubehör gekauft werden. Als Betriebssystem-Image wurde Raspberry Pi OS with desktop verwendet.

Erster Start

[!NOTE] Dieser Absatz bezieht sich darauf, dass eine SD-Karte mit Raspberry Pi Imager (ehem. NOOBS) beschrieben wird.

Beim ersten Start von NOOBS sollte zuerst eine Internetverbindung aufgebaut werden (WLAN oder LAN). Dies ist nötig, damit kein veraltetes Image aufgespielt wird. Nun muss das Betriebssystem in der empfohlenen Version (Raspberry Pi OS with desktop) ausgewählt werden. Mehr Informationen und genaue Anweisungen liefert das Tutorial (siehe nächster Absatz).

Dann muss das "Getting started with your Raspberry Pi"-Tutorial durchlaufen werden mit anschließendem Aktualisieren der Softwarepakete. Dafür muss ebenfalls eine Internetverbindung mit dem Raspberry Pi bestehen. Zum Ende des Tutorials den Raspberry Pi neustarten, wie auch bei der Einrichtung empfohlen wird.

Installation von Anwendungen

Im Folgenden werden einige Anwendungen benötigt, die nun installiert werden. Dafür muss ein Terminal geöffnet werden. Dies kann z.B. durch die Tastenkombination STRG+ALT+t geschehen. Im Terminal muss nun Folgendes eingegeben und mit Enter bestätigt werden.

sudo apt install jq unclutter cec-utils xscreensaver

Monitor- und Bildschirm-Befehle hinzufügen

Als Nächstes werden bash-Befehle hinzugefügt, die den Fernseher bzw. den Monitor an-/ausschalten können. Im Terminal wird nun der Editor nano verwendet, um eine neue Datei mit folgendem Befehl anzulegen:

nano .divera_commands.sh

In diese Datei kommt der Inhalt der folgenden Datei (am besten copy-paste nutzen und nicht abtippen):

.divera_commands.sh

Hierbei muss die Variable MONITOR die URL des Monitors enthalten. Dieser kann in der Divera-Adminoberfläche unter Verwaltung → Setup → Monitore erstellt werden. Beim Erstellen muss außerdem die Option "Autologin" aktiviert sein. Zusätzlich gibt es, abhängig vom Bildschirm, den man ein-/ausschalten möchte, mehr oder weniger Probleme. Deshalb wurden hier zwei verschiedene Optionen eingefügt, wie sich ein Bildschirm ein- bzw. ausschalten lässt. Falls das An-/Ausschalten des Bildschirms Probleme bereitet, kann in der Problembehandlung ein Lösungsansatz gefunden werden.

Mit STRG+o wird eine Datei nach einem weiteren Enter gespeichert und mit STRG+x wird nano verlassen.

Diese Datei enthält die Befehle um den Divera Monitor an- (monitor on) und auszuschalten (monitor off) sowie den Bildschirm an- (screen on) und auszuschalten (screen off).

Damit die Befehle im Terminal verwendet werden können, muss die Datei in der bashrc geladen werden. Dafür wird im Terminal die Datei geöffnet

nano .bashrc

und am Ende der Datei wird in einer neuen Zeile Folgendes hinzugefügt:

source .divera_commands.sh

Nachdem die Zeile hinzugefügt und nano geschlossen wurde, muss bashrc im Terminal neu geladen werden mit dem Befehl:

. ~/.bashrc

Nun sollten die vier Kommandos im Terminal ausführbar sein.

[!CAUTION] Beim Ausführen von screen off wird der Bildschirm ausgeschaltet und die Eingabe der Tastatur wird nicht mehr erkannt. Deswegen muss, wenn das Kommando aus der Kommandozeile ausgeführt wird, im Anschluss der Raspberry neu gestartet werden.

Skript hinzufügen

Im Folgenden kann nun zwischen dem Skript mit Bewegungsmelder oder ohne Bewegungsmelder entschieden werden.

Nach dem Hinzufügen des Skripts kann hier fortgefahren werden.

Autostart einrichten

Damit das Skript nun automatisch startet, muss eine Autostartdatei hinzugefügt werden. Dies geschieht mit folgenden Befehlen:

cd .config
mkdir -p ./lxsession/LXDE-pi
touch ./lxsession/LXDE-pi/autostart
nano ./lxsession/LXDE-pi/autostart

In die Autostartdatei wird folgender Inhalt hinzugefügt:

# remove the next three diamonds to use the desktop again
#@lxpanel --profile LXDE-pi
#@pcmanfm --desktop --profile LXDE-pi
#point-rpi

# start screensaver
#@xscreensaver -no-splash

# stops displaying mouse after five seconds without moving
@unclutter -display :0 -noevents - grab

# does not allow the raspberry to go to sleep
@xset s off
@xset s noblank
@xset -dpms

#starts script
#./.divera_script.sh
./.divera_script.py

Mit dieser veränderten Autostartdatei wird zum einen der Desktop nicht mehr gestartet (dies kann rückgängig gemacht werden, indem die ersten drei Kommandos wieder einkommentiert werden), zum anderen wird der Mauszeiger nach 5 Sekunden ausgeblendet.

Abhängig davon, ob ein Python- oder Bash-Skript verwendet wird, muss eine der letzten beiden Zeilen auskommentiert werden:

Wird das Script mit Bewegungsmelder verwendet, muss die Raute in der Zeile #@xscreensaver -no-splash entfernt werden!

Problembehandlung

Übliche Probleme und Lösungsansätze