Sie zeigen eine alte Version dieser Seite an. Zeigen Sie die aktuelle Version an.

Unterschiede anzeigen Seitenhistorie anzeigen

« Vorherige Version anzeigen Version 11 Nächste Version anzeigen »

Wachenmonitor mit Raspberry Pi


In diesem Tutorial wird auf einem Raspberry Pi eine autommatische 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.

Dieses Tutorial basiert auf den aktuellen Raspberry 3 B+. Falls noch keiner gekauft wurde, kann bspw. von ABOX ein Komplettpacket mit Ladegerät, SD-Karte und weiterem Zubehör gekauft werden. Als Betriebssystem Image wurde Raspbian Stretch with desktop verwendet.

Erster Start in NOOBS (Dieser Absatz bezieht sich darauf, dass eine SD-Karte mit NOOBS verwendet wird)

Beim ersten Start in NOOBS sollte zuerst eine Internet Verbindung aufgebaut werden (Wlan oder Lan). Dies ist nötig, damit kein veraltetes Image, sondern das aktuelle Rasbian aufgespielt wird. Nun muss Raspbian in der Empfohlenen Version (Raspbian Stretch with desktop) ausgewählt werden, sodass NOOBS das aktuelle Raspbian Image installiert.

Erster Start von Rasbian

Zuerst muss das "Welcome to Raspberry Pi" Tutorial durchlaufen werden mit anschließendem Aktualisieren der Softwarepakete. Dafür muss ebenfalls eine Internetverbindung bestehen. Zum Ende des Tutorials den Raspberry neu starten, 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


Jq wird dabei für die Bash Variante des Skripts benötigt. Mittels unclutter wird der Mauszeiger ausgeblendet. Cec-utils wird verwendet um einige Fernsehr ein bzw. aus zu schalten. Xscreensaver wird für die Version mit Bewegungsmelder benötigt.

Monitor und Bildschirm Befehle hinzufügen

Als nächstes werden bash-Befehle die den Fernseher bzw. den Monitor an/aus schalten können hinzugefügt. 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 Monitores enthalten. Außerdem gibt es, abhängig vom Bildschirm den man ein/aus schalten möchte, mehr oder weniger Probleme. Deshalb wurden hier zwei verschiedene Optionen eingefügt wie sich ein Bildschirm ein bzw. aus schalten 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 aus zu schalten

monitor off


. Sowie den Bildschirm an

screen on


und aus zu schalten

screen off


Damit die Befehle nun auch im Terminal verwendet werden können, muss die Datei in der bashrc gesourced werden. Dafür wird im Terminal die bashrc 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 wurde kann die bashrc im Terminal neu geladen werden mit dem Befehl:

. ~/.bashrc

Nun sollten die vier Kommandos in der bash ausführbar sein (Achtung: 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.

Mit Bewegungsmelder

Ohne Bewegungsmelder

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. Das heißt, wenn das Python-Skript verwendet wird, darf die Zeile ./.divera_script.py keine Raute am Anfang enthalten und #./.divera_script.py muss mit einer Raute anfangen. Im Falle des Bash-Skripts muss es #./.divera_script.py und ./.divera_script.sh sein.

Wird das Script mit Bewegungsmelder verwendet muss die Zeile #@xscreensaver -no-splash auskommentiert werden!

Problembehandlung


Schwarze Ränder am Bildschirm:


Falls am Rand des Bildschirms schwarze Ränder vorkommen, führe folgendes Kommando aus:

sudo nano /boot/config.txt

Entferne dort die # vor der folgenden Zeile:

#disable_overscan=1 

Nach einem Neustarten des Raspberrys sollten keine schwarzen Ränder mehr vorhanden sein.

Falls dennoch welche vorhanden sein sollten oder zu wenig Rand vorhanden sein sollte, kann dieser manuell in der Datei angepasst werden. Dazu wird die config-Datei wieder geöffnet:

sudo nano /boot/config.txt

Die folgenden Zeilen müssen auskommentiert werden und die Werte manuell geändert werden.

#overscan_left=16
#overscan_right=16
#overscan_top=16
#overscan_bottom=16

Nach einem Neustarten werden die Änderungen sichtbar. Achtung: Nach jedem Ändern der Werte muss der Raspberry neu gestartet werden um die Änderung sichtbar zu machen.

Bildschirm geht nicht aus:


Obwohl der Bildschirm ausgehen müsste, also kein Dienst ist (und keine Bewegung detektiert wurde), bleibt er an. Dies ist ein häufiges Problem bei älteren Fernsehern, die das Ein/Ausschalten des HDMI-Ports nicht erkennen. Um dies zu Beheben ist im .divera_commands.sh eine weitere Option, mit der es funktionieren kann. Hierbei werden cec-Signale an den Fernseher gesendet, allerdings unterstützen auch nicht alle Fernseher alle cec-Signale. Dies entspricht der Version 2 im Quellcode. Um dies zu verwenden muss die Version 1 einkommentiert und Version 2 auskommentiert werden (dies ist beim Ein/Ausschalten im Quellcode notwendig, also 2 Positionen im Quellcode).

Außerdem wurde hier noch ein manuelles Umschalten auf den HDMI-Port 1 hinzugefügt, falls der Fernseher standardmäßig auf einem anderen Eingang ist. Das heißt, dass der Monitor zwingend an HDMI-Port 1 angeschlossen werden muss oder der Port im Quellcode geändert werden muss. Das Umschalten des HDMI-Ports ist nicht in der cec-Spezifikation vorhanden, das heißt, dass dies ebenso nicht jeder Fernseher unterstützen muss. Dies entspricht der Version 2b und muss Zusätzlich zu Version 2 auskommentiert werden.


Danksagung

Dieses Tutorial wurde uns von Dustin Matzel aus dem THW OV Gütersloh zur Verfügung gestellt. Vielen Dank hierfür! Habt Ihr auch interessante Eigenbaulösungen erstellt und möchtet diese den Nutzern von DIVERA 24/7 zur Verfügung stellen? Meldet euch einfach bei unserem Support per E-Mail oder das Kontaktformular.


  • Keine Stichwörter