home | ||
optional_boot_config | ||
.gitignore | ||
image-setup.sh | ||
LICENSE.md | ||
README.md |
Wachalarm-Kiosk
Hier finden Sie ein einfach zu nutzendes SD-Karten-Image für einen Raspberry Pi, mit dem GroupAlarm (oder eine andere Webseite) direkt im Vollbild z.B. auf einem Monitor anzeigt werden kann.
Funktionen
- Startet unmittelbar im Vollbild - Chromium Web-Browser mit allen wichtigen Funktionen
- Automatatische Sicherheitsupdates - wichtige Updates werden automatisch installiert, bei Bedarf erfolgt in der Nacht ein automatischer Neustart
- Automatische Wiederherstellung - bei Neustart oder Stromausfall startet das System im vorherigen Zustand eigenständig neu
- Optional: Stromsparfunktion - liegt kein Alarm an, kann der Monitor ausgeschaltet werden
- Maus wird ausgeblendet - sofern eine Maus angeschlossen ist, wird diese nach inaktivität ausgeblendet
Inbetriebnahme
Hinweis
Benötigt wird ein Raspberry Pi (kompatible Hardware).
- Lade das aktuelle Image aus dem Release-Bereich herunter.
- Entpacke die komprimierte Datei auf dem Computer (z.B. dem Programm 7Zip).
- Schreibe das Image mit Hilfe eines SD-Karten-Lesegeräts auf eine SD-Karte. Hierzu kann unter Windows die Anwendung Win32 Disk Imager genutzt werden.
- Lege die anzuzeigende Webseite und die weitere Optionen fest.
- Optional: Lege fest, ob der Raspberry Pi sich automatisch mit einem WLAN verbinden soll.
- Optional: Setze eine feste IP-Adresse für das System.
- Setze die SD-Karte in den Raspberry Pi. Verbinde Ihn mit dem Monitor und dem Internet (Netzwerkkabel oder WLAN). Starte das Gerät.
Einstellungen
Konfigurations-Datei
Die wichtigsten Einstellungen lassen sich ohne vorkenntnisse (von z.B. Linux) direkt mit einem normalen PC anpassen.
Benötigt wird ein SD-Karten-Lesegerät und ein Text-Editor.
- Schließe die zuvor mit dem Image beschriebene SD-Karte an ihren PC an (z.B. per USB-Adapter).
- Im Datei-Explorer sollte jetzt ein neues Laufwerk erscheinen. In der Partition "Boot" der SD-Karte findet sich die Datei wachalarm_einstellungen.txt.
- folgende Einstellungen können gesetzt werden:
Webseite beim Start
Legt fest, welche Webseite beim Start geöffnet werden soll. Für Groupalarm wäre dies z.B. die Adresse https://app.groupalarm.com/de/monitor/12345?view_token=meingeheimertoken&theme=dark-theme
startup_url=https://app.groupalarm.com/de/monitor/12345
Standby - Funktion ein-/ausschalten
Legt fest ob der Bildschirm automatisch ausgeschaltet werden soll, wenn kein Einsatz anliegt.
Es gibt folgende Optionen:
- 1 = aktiviert diese Funktion (Monitor geht aus sobald kein Alarm mehr angzeigt wird)
- 0 = deaktivert diese Funktion (Monitor bleibt immer an)
standby_enable=1
Standby - Art des Monitors festlegen
(gilt nur wenn die Standby-Funktion aktiviert wurde)
Legt fest, was für ein Monitor verwendet wird. Je nach Typ (PC-Monitor oder Fernseher mit HDMI-CEC), sind unterschiedliche Befehle notwendig um den Monitor ein- oder auszuschalten.
Es gibt folgende Optionen:
- t = Typ "TV", nutzt CEC-Befehle um den Fernseher ein- oder auszuschalten
- m = Typ "Monitor", nutzt den Befehlssatz
xrandr --output HDMI-*
um einen PC-Monitor ein- oder auszuschalten
screen_type=t
Achtung!
Wird ein PC-Monitor verwendet, kann es zu Problemen bei der Sound-Ausgabe kommen. Lösungsansätze finden Sie im Abschnitt "Bekannte Fehler"
Standby - Websocket-URL
(gilt nur wenn die Standby-Funktion aktiviert wurde)
Dieser Wert sollte normalerweise nicht geändert werden. Es handelt sich um die URL des Wachalarm-Servers, über welche Websocket-Befehle empfangen und verarbeitet werden. Nur mit dieser URL kann das Standby-Signal korrekt ausgewertet werden.
standby_waipurl=https://wachalarm.heko-technik.de/waip
Achtung!
Es handelt sich hierbei nicht die URL des einzelnen Alarmmonitors!
Standby - Wachennummer
(gilt nur wenn die Standby-Funktion aktiviert wurde)
Nummer der Wache, für die bei Alarmen der Monitor angeschaltet werden soll, z.B. 52511 für FW GK LE Geilenkirchen
standby_wachennr=52511
System-Statusmeldungen aktivieren
Hiermit kann ein automatisches Senden von Status-Meldungen aktiviert werden.
Es handelt sich um allgemeine Systeminforamtionen wie z.B. Kernel-Version, Hardwaremerkmale & Udpatestatus. Personenbezogene Daten werden nicht verarbeitet.
- 1 = an
- 0 = aus
report_enable=1
System-Statusmeldungen - Status-URL
(gilt nur wenn System-Statusmeldungen aktiviert wurden)
URL an welche Status-Meldungen durch das System gesendet werden.
report_url=https://wachalarm.heko-technik.de/client_statusmessage
automatische Neustarts
Legt fest, ob und wenn ja wann, ein automatischer Neustart des Raspberry Pi erfolgen soll. Diese Funktion ist hilfreich um z.B. bei schlechten WLAN-Verbindungen das System automatisch neuzustarten.
Es gibt folgende Optionen:
- 0 = automatischer Neustart ist deaktiviert.
- w = Neustart jeden Montag um 3:00 Uhr.
- z = Neustart jeden Dienstag und jeden Freitag um 3:00 Uhr.
- t = Neustart jeden Tag um 3:00 Uhr.
restart_type=w
WLAN einstellen
WLAN-Verbindungen lassen Sich beim Raspberry über eine spezielle Datei vorgeben, ohne weitere Einstellungen am System zu tätigen. Gehen Sie wie folgt vor, um WLAN zu aktivieren:
- Schließe die zuvor mit dem Image beschriebene SD-Karte an ihren PC an (z.B. per USB-Adapter).
- Im Datei-Explorer sollte jetzt ein neues Laufwerk erscheinen. In der Partition "Boot" der SD-Karte eine Datei mit dem Namen
wpa_supplicant.conf
erstellen. - Eine fertige Vorlage findet sich hier: wpa_supplicant.conf
- Ersetze
Name-des-WLANs
undganz-geheimes-kennwort
mit den eigenen WLAN-Einstellungen. - Speicher die Datei auf der SD-Karte und setze diese wieder in den Raspberry Pi ein. Nach Abschluss des Startvorgangs sollte sich das Gerät eigenständig mit dem WLAN verbinden.
Beispiel wpa_supplicant.conf für WLAN mit Kennwort
country=DE
update_config=1
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
network={
key_mgmt=WPA-PSK
ssid="Name-des-WLANs"
psk="ganz-geheimes-kennwort"
}
Beispiel wpa_supplicant.conf für WLAN ohne Kennwort
country=DE
update_config=1
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
network={
ssid="Name-des-WLANs"
key_mgmt=NONE
}
IP-Adresse vorgeben
Mittels der Datei cmdline.txt
kann direkt eine feste IP-Adresse für den Raspberry Pi vorgegeben werden.
- SD-Karte in PC einsetzen.
- In der Boot-Partition die Datei
cmdline.txt
finden und mit einem Editor öffnen. - Am ende der ersten Zeile folgenden Text hinzufügen (keine neue Ziele):
ip=192.168.2.20::192.168.2.1:255.255.255.0:wachalarm:eth0:off:192.168.2.1
Damit wird die IP-Adresse für die Schnittstelle eth0
auf 192.168.2.20 festlegt. Einstellungen für das Gateway (192.168.2.1
), das Subnetz (255.255.255.0
), den Hostnamen (wachalarm
) und den DNS-Server (192.168.2.1
) werden ebenfalls definiert.
Bereits angepasste cmdline.txt
-Dateien findet man hier: optional_boot_config
Hardware
Dieses Image sollte mit allen bekannten Raspberry Pi's funktionieren. Die Versionen 3 und 4 werden empfohlen, da die älteren Varianten zu wenig Leistung bieten. Raspberry 3 und 4 haben zudem ein eingebautes WLAN-Modul.
Stelle sicher, dass Sie eine kompatible SD-Karte verwenden (mind. 4 GB). Class 10
-Karten sollten in jedem Fall funktionieren.
Ein Raspberry Pi benötigt ein 2.5 A USB-Netzteil.
Tastenkombinationen
Wenn eine Tastatur (z.B. per USB) angeschlossen ist, stehen folgende Tastenkombination zur Verfügung:
STRG
+i
-> schaltet den Monitor ein (I)STRG
+o
-> schaltet den Monitor aus (O)STRG
+ALT
+r
-> startet den Raspberry Pi neu (reboot
)STRG
+ALT
+F1
-> wechselt zum Webbrowser (Standardansicht ohne Login)STRG
+ALT
+F2
-> wechselt zum Konfigutaions-Programm des Raspberry pi (Login notwendig, startetsudo raspi-config
)STRG
+ALT
+F3
-> wechselt zur Konsole (Login notwendig, Eingabekonsole für Wartung)
Bekannte Fehler
kein Ton über HDMI (Raspberry Pi 4)
- stelle sicher, dass das HDMI-Kabel am HDMI-Port 0 des Raspberrys angeschlossen ist (direkt neben dem USB-C-Stromanschluss)
- prüfe ob der Monitor / Fernseher über den angeschlossenen HDMI-Port auch wirklich einen Ton ausgegeben kann
- wechsel mit der Tastenkombination
STRG
+ALT
+F3
(Login notwendig) in die Wartungskonsole und prüfe mit dem Befehlspeaker-test
ob ein Test-Ton ausgegeben wird
Lösungsvariante 1 - Audio-Quelle bei HDMI-Fernseher festlegen
- wechsel mit der Tastenkombination
STRG
+ALT
+F2
(Login notwendig) in die Konfigurationsoberfläche des Raspberrys und prüfe ob HDMI-0 als Audio-Ausgabequelle eingestellt wurde - verlasse die Konfigurationsoberfläche und starte den Raspberry neu (
sudo reboot
)
Lösungsvariante 2 - Audio-Quelle bei PC-Monitor mit integrierten Lautsprechern
- wechsel mit der Tastenkombination
STRG
+ALT
+F3
(Login notwendig) in die Wartungskonsole - führe den Befehl
sudo nano /boot/config.txt
aus umd die Konfigurationsdatei des Raspberrys zu bearbeiten - aktiviere den Parameter
dtparam=audio=on
indem das#
davor entfernt wird - deaktiviere den Parameter
dtoverlay=vc4-kms-v3d
indem ein#
davor gesetzt wird - speicher die Datei (
STRG
+x
und mitja
bestätigen) und starte den Raspberry neu (sudo reboot
) - öffnen nach dem Neustart erneut die Wartungskonsole (
STRG
+ALT
+F3
) und prüfe mit dem Befehlspeaker-test
ob ein Test-Ton ausgegeben wird - prüfe alternativ noch, welche Audio-Quelle in den Systemeinstellungen gesetzt wurde (siehe Lösungsvariante 1)
ich benötige ein anderes Kennwort
- wechsel mit der Tastenkombination
STRG
+ALT
+F2
(Login notwendig) in die Konfigurationsoberfläche des Raspberrys - Navigieren zu
Change User Password
- gebe ein neues Passwort ein und bestätige es
- das eingegebene Kennwort gilt für den Benutzer
pi
Monitor geht nicht in Standby
- stelle sicher, dass das HDMI-Kabel am HDMI-Port 0 des Raspberrys angeschlossen ist (direkt neben dem USB-C-Stromanschluss)
- prüfe ob in den Standby-Einstellungen zur Art des Monitors der richtige Monitor-Typ hinterlegt wurde (
m
für PC-Monitor,t
für TV-Gerät)- mit den Tastenkombination
STRG
+I
bzw.STRG
+O
kann geprüft werden, ob die Standby-Funktion generell funktioniert
- mit den Tastenkombination
- prüfe ob in den Standby-Einstellungen zur Wachennummer die richtige Wachennummer hinterlegt wurde
Monitor / Fernseher aus Standby erwecken
- wenn die Standby-Funktion aktiviert wurde, schaltet sich der angeschlossene Monitor oder Fernseher aus, solange kein Alarm angezeigt wird
- mit der beschriebenen Tastenkombination
STRG
+i
können Sie den Monitor wieder einschalten
Sonstiges
Image-Erstellung
Mit dem Skript image-setup.sh
kann eigenständig ein aktuelles Image für den Raspberry Pi erstellt werden. Benötigt wird ein PC mit aktuellem Linux (z.B. Ubuntu, oder zweiter Raspberry Pi).
Das Skript selbst liefert alle notwendigen Informationen.
Der Linux-PC auf dem das Skript ausgeführt wird (chmod +x image-setup.sh
und dann ./image-setup.sh
) und der Raspberry Pi welcher konfiguriert werden soll, müssen sich im Netzwerk erreichen können.
Fork
Dieses Projekt ist ein Fork von chilipie-kiosk. Dort finden sich weitere Informationen und Antworten zu vielen Detailfragen.