Raspberry Pi als Anzeigesystem

Der Raspberry Pi ist ein preiswerter und stromsparender Einplatinencomputer, mit welchem sich in Kombination mit einem HDMI-Display mit verhältnismäßig wenig Aufwand ein Anzeigesystem umsetzen lässt. Raspbian ist ein weit verbreitetes Linux-Betriebssystem für den Mini-Computer.

Die im Folgenden dargestellte Variante startet lediglich einen Browser mit einer gewünschten Webseite im Vollbildmodus, lädt diese in gewünschten Abständen neu und verdunkelt zu gewünschten Zeiten den Bildschirm. Das Konzept geht also davon aus, dass die anzuzeigenden Inhalte bereits in Form einer externen Webseite vorliegen.

Die aktuellen Beschreibungen basieren auf dem Raspberry Pi 3 Modell B(+) und Raspbian Buster Lite.

Installation des Raspberry Pi mit Rasbpian Lite

Raspbian auf SD-Karte kopieren

Am einfachsten kopieren Sie das benötigte Image (Raspian Other → Raspian Lite) mit dem Raspberry Pi Imager (Link s. oben) auf eine Micro-SD-Karte. Für unsere Zwecke genügt ein sehr kleines Medium (z. B. 4 GB). Stecken Sie die SD-Karte nach erfolgreichem Kopiervorgang in den Raspberry Pi.

Erster Start und Grundkonfiguration des Systems

Booten Sie den Raspberry Pi, indem Sie ihn mit einer Stromquelle verbinden und melden sich erstmalig mit den Initial-Zugangsdaten (User: pi / PW: raspberry) an.

Starten Sie nun die initiale, grafisch gestützte Grundkonfiguration:

sudo raspi-config

Hinweis: Sollte das Tastaturlayout noch nicht stimmen, orientieren Sie sich vorübergehend an der US-Tastaturbelegung: https://de.wikipedia.org/wiki/Tastaturbelegung#USA.

Notwendige Einstellungen in raspi-config

  • Change User Password
  • Network-Options
    • ggf. Hostname einstellen
    • ggf. Wi-fi-Verbindung konfigurieren
  • Boot-Options
    • Desktop/Cli → Console Autologin
  • Localisation Options
    • Locale: DE-UTF8
    • Timezone: Europe/Berlin
    • Keyboard Layout: Generische PC-Tastatur mit 105 Tasten
    • ggf. Wi-fi-Country festlegen
  • Interface Options: SSH → Enable
  • Advanced Options
    • ggf. Disable Overscan (falls Bildschirm nicht vollständig ausgefüllt wird)
    • ggf. Expand Filesystem

Anschließend starten Sie das System mit "Reboot" neu.

IP-Adresse herausfinden

Um nachfolgend den Raspberry Pi von der Ferne per SSH bedienen zu können bzw. um ggf. notwendige Firewalleinstellungen tätigen zu können, muss die IP-Adresse und ggf. auch die MAC-Adresse der aktiven Netzwerkkarte ermittelt werden:

sudo ip address

Updates und notwendige Programme installieren

# Paketlisten aktualisieren und installierte Pakete updaten
sudo apt update && sudo apt upgrade -y

# Notwendige Software installieren
sudo apt install --no-install-recommends xserver-xorg x11-xserver-utils xinit openbox xdotool chromium-browser -y

Skript für automatisches Neuladen des Chrome-Browsers erstellen

Damit die gewünschte Webseite auch nach einem etwaigen Verlust der Netzwerkverbindung erneut geladen werden kann, ist nachfolgendes Skript notwendig. Diese führt mit Hilfe des Programms xdotool die Tastenkombination Shift+F5 auf dem geöffneten Browserfenster aus. Weiter unten wird ein Task eingerichtet, der diese Aktion alle 5 Minuten anstößt.

nano /home/pi/chromium-reload.sh
Datei /home/pi/chromium-reload.sh
#!/bin/bash
WID=$(xdotool search --onlyvisible --class chromium|head -1)
xdotool windowactivate ${WID}
xdotool key Shift+F5

Skript-Datei ausführbar machen

chmod 755 /home/pi/chromium-reload.sh

Einstellungen für den Autostart des X-Servers

sudo nano /etc/xdg/openbox/autostart
Datei /etc/xdg/openbox/autostart
# Am Dateiende einfügen:
# Bildschirmschoner und Bildschirmabschaltung deaktivieren
xset s off
xset s noblank
xset -dpms

# Beenden des X-Servers via Strg+Alt+Backspace
setxkbmap -option terminate:ctrl_alt_bksp

# Chromium zurücksetzen und im Kiosk-Modus mit gewünschter URL starten
sed -i 's/"exited_cleanly":false/"exited_cleanly":true/' ~/.config/chromium/'Local State'
sed -i 's/"exited_cleanly":false/"exited_cleanly":true/; s/"exit_type":"[^"]\+"/"exit_type":"Normal"/' ~/.config/chromium/Default/Preferences
chromium-browser --disable-infobars --kiosk 'https://www.wikipedia.org'

Hinweis: ersetzen Sie in obiger Datei die URL https://www.wikipedia.org durch die anzuzeigende Webseite.

X-Servers ohne Cursor nach Console-Autologin automatisch starten

nano /home/pi/.bash_profile
Datei /home/pi/.bash_profile
[[ -z $DISPLAY && $XDG_VTNR -eq 1 ]] && startx -- -nocursor

Cronjobs für automatische Bildschirmabschaltung, Neustart und Chromium-Reload-Skript einrichten

crontab -e
# ggf. Nano als Editor auswählen
Datei crontab des users pi
#nach letzter Zeile hinzufügen:

# Display ausschalten täglich von Montag bis Freitag um 16:00 Uhr
0 16 * * 1-5 xset -display :0 dpms force off

# Neustart täglich von Montag bis Freitag um 06:30 Uhr - schaltet auch Display wieder ein
30 6 * * 1-5 sudo reboot

# Skript chromium-reload.sh alle 5 Minuten ausführen
*/5 * * * * sh /home/pi/chromium-reload.sh

HDMI-Einstellungen

Sofern das Display nach dem Booten des Raspberry Pi eingeschaltet wird, kann es vorkommen, dass der HDMI-Ausgang des Mini-Computers nicht aktiviert ist. Außerdem wird beim im Cronjob festgelegten Abschalten des Displays der Bildschirm standardmäßig nicht abgeschaltet (HDMI-Blanking) sondern nur schwarz geschaltet, was unnötig Energie verschwendet. Sofern Sie die Einstellung für HDMI-Blanking setzen, müssen Sie sicherstellen, dass der eingesetzte Bildschirm sich wieder ordnungsgemäß aktiviert, sobald der Raspberry Pi darauf wieder etwas anzeigen will.

sudo nano /boot/config.txt
Datei /boot/config.txt
# Kommentarzeichen (#) entfernen bei:
hdmi_force_hotplug=1
hdmi_drive=2
# Zusätzliche Zeile:
hdmi_blanking=1

Cookie für WebUntis-Monitoransichten hinterlegen

Sofern Sie die WebUntis-Monitoransichten nutzen, können Sie mit folgendem Prozedere das notwendige Cookie im Browser hinterlegen:

  • Am Raspberry Pi mit Tastenkombination Strg+Alt+Backspace den X-Server schließen
  • Auf Konsole einen neuen X-Server mit Cursor starten: startx
  • Mit Tastenkombination Alt+F4 Chromium im Kiosk-Modus schließen
  • Rechtsklick auf Desktop → Web Browser
  • Anmelden als admin auf WebUntis-Seite und unter Monitoransichten den entsprechenden Monitur für den Browser freigeben

Letzte Aktualisierung der Seite: 2020-11-25 21:38