Digital Signage mit dem Raspberry Pi
Mi, 11. August 2021, Lioh Möller
Der Begriff Digital Signage stammt eher aus dem Marketing, denn damit lässt sich gutes Geld verdienen. Im einfachsten Falle handelt es sich um einen Minicomputer der beim Systemstart automatisch den Inhalt einer Webseite im Fullscreen darstellt, wie zum Beispiel einen digitalen Vertretungsplan im Schulumfeld.
Solch eine Lösung lässt sich in wenigen Schritten mit einem Raspberry Pi selbst realisieren.
Als Basis dafür kann die leichtgewichtige Lite Variante des Raspberry Pi OS genutzt werden. Einmal heruntergeladen lässt sich das Image entpacken und daraufhin mit dem Mittel der Wahl (dd, Etcher, etc) auf eine SD-Karte überspielen.
Nach Start in das Betriebssystem erfolgt ein Login an der Konsole mit dem Benutzer pi und dem Passwort raspberry. Hierbei ist zu bedenken, dass aufgrund der Standard-Tastaturbelegung die Tasten y und z im Vergleich zum deutschen Tastaturlayout vertauscht sind.
Der Minicomputer erhält wahlweise über ein Netzwerkkabel oder mittels WLAN eine Verbindung zum Internet.
Ein WLAN-Zugang lässt sich in der Konsolenanwendung raspi-config hinterlegen:
sudo raspi-config
Dort wählt man den Punkt 1 System Options -> S1 Wireless LAN und gibt zunächst den passenden Ländercode an (zum Beispiel CH, DE oder AT). Daraufhin muss man manuell die SSID eintragen und ein PSK hinterlegen.
Zurück im Hauptmenü lässt sich über den Punkt 5 Localisation Options -> L3 Keyboard auch noch gleich das passende Tastaturlayout hinterlegen.
Über S1 System Options -> S5 Autologin wird die automatische Anmeldung des Typs B1 Console konfigurieren, welche später für unser Signage Display benötigt wird.
Wer gerne per SSH auf den Raspi zugreifen möchte, wählt im Hauptmenü etwas versteckt unter 3 Interface Options -> P2 SSH und aktiviert dort den Dienst.
Damit ist die Grundkonfiguration bereits abgeschlossen und nach dem Beenden von raspi-config wird man zu einem Neustart aufgefordert, welcher durchgeführt werden sollte.
Nach dem Startvorgang sollte der pi Benutzer bereits angemeldet sein und es kann mit der Installation der benötigten Komponenten begonnen werden. Die folgenden Schritte können wahlweise auch in einer SSH-Sitzung durchgeführt werden.
sudo apt update
sudo apt install --no-install-recommends xserver-xorg x11-xserver-utils xinit openbox chromium-browser
Nach der Installation kann das Autostart Script des zum Einsatz kommenden Windowmanagers Openbox entsprechend erweitert werden.
sudo nano /etc/xdg/openbox/autostart
# Disable screen saver / screen blanking / power management
xset s off
xset s noblank
xset -dpms
# Disable crashed state in order not to open a new Tab on startup
sed -i 's/"exit_type":"Crashed"/"exit_type":"Normal"/' /home/pi/.config/chromium/Default/Preferences
# Start Chromium
chromium-browser --disable-features=Translate --enable-features=OverlayScrollbar --start-fullscreen --kiosk --app=https://gnulinux.ch
Der Chromium Browser wird dabei im Vollbild ohne Steuerelemente oder störende grafische Overlays im Kiosk-Modus gestartet. Die angegebene URL kann natürlich an die eigenen Bedürfnisse angepasst werden.
Um automatisch beim Systemstart den Xserver zu starten, kann die Datei ~/.bash_profile
wie folgt bearbeitet werden:
sudo nano ~/.bash_profile
[[ -z $DISPLAY && $XDG_VTNR -eq 1 ]] && startx -- -nocursor
Damit ist die Konfiguration des Eigenbau-Signage-Displays bereits abgeschlossen und nach einem Neustart sollte das System direkt den Browser mit der angegebenen URL im Vollbildmodus anzeigen.
Bildquelle: Wikipedia