Raspberry Pi Zero mit LCD Display als Kiosk System

Aus Laub-Home.de Wiki
Zur Navigation springen Zur Suche springen
Raspberry Pi Zero mit LCD Display

Möchte man ein kleines Display im Raum stehen haben, auf dem eine Webseite mit Informationen angezeigt wird, kann man sich dies sehr einfach selbst bauen. Alles was man dafür benötigt ist ein Raspberry Pi Zero und ein DPI LCD Display, welches man einfach auf den GPIO Header anschließt. Dann kann man auf dem Raspberry Pi Zero einen Browser im Kioskmode starten und schon hat man eine kleine Anzeigetafel. Ich verwende diese Display um Informationen über openHAB's HABPanel anzuzeigen und kann so im Raum die Uhrzeit, Temperatur und andere Interessante Dinge sehen.

Hardware

Ihr benötigt die folgende Hardware für das Setup:

Vorbereitung

Als erstes installieren wir die SD Karte mit Raspberry Pi OS. Momentan wird nur Buster vom Waveshare LCD Display unterstützt, also ladet euch das Image am besten herunter:

Dann Im Raspberry Pi Imager einfach auf eigenes Image gehen und das heruntergeladene Image auswählen. Folgt dann der Raspberry Pi OS Installation Anleitung. Aktiviert WLAN und SSH und nutzt die Script gesteuerte Konfiguration im Anschluss.

Nachdem der Raspberry Pi grund installiert ist, fahrt ihn herunter

halt

zieht den Micro USB Strom Adapter ab und schließt das LCD Display an.

5inch-LCD-for-Pi.jpg

Der Pi zero wird dann einfach auf das RGB LCD HAT gesteckt.

Pi zero LCD 2.jpg

Zum Schluss kann das Ganze noch in etwa so aufgebaut werden:

Pi zero LCD 3.jpg


Dann könnt ihr das Micro USB Power Kabel wieder anschließen und den Pi starten. Das Display sollte nun schon hell leuchten, aber noch keinen Inhalt anzeigen.

Installation und Konfiguration

Als erstes konfigurieren wir das Display in der /boot/config.txt dafür kopiert einfach die folgenden Zeilen startet diese in eurer Shell.

tee -a /boot/config.txt <<EOF

# Enable LCD Display
dtoverlay=dpi24
enable_dpi_lcd=1
display_default_lcd=1
dpi_group=2
dpi_mode=87
dpi_output_format=0x6f005
hdmi_timings=800 0 40 48 88 480 0 13 3 32 0 0 0 60 0 32000000 6
disable_overscan=1
EOF

Nun installieren wir die Desktop Umgebung openbox und Chromium als Browser:

apt install --no-install-recommends xserver-xorg x11-xserver-utils xinit openbox chromium-browser rpi-chromium-mods libgles2-mesa libdbus-glib-1-2

Und konfigurieren zum Schluss den Browser Kiosk Mode.

## Webseite, die im Kiosk browser geöffnet werden soll.
WEBURL=http://yourwebapp/

## Dann ab hier einfach copy and paste
tee -a /etc/xdg/openbox/autostart <<EOF
# Disable any form of screen saver / screen blanking / power management
xset s off
xset s noblank
xset -dpms

# Allow quitting the X server with CTRL-ATL-Backspace
setxkbmap -option terminate:ctrl_alt_bksp

# Start Chromium in kiosk mode
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 '$WEBURL' --incognito --kiosk --disable-component-update --check-for-update-interval=31536000
EOF

echo -e "[[ -z \$DISPLAY && \$XDG_VTNR -eq 1 ]] && startx -- -nocursor" | tee -a /home/pi/.bash_profile
chown pi.pi /home/pi/.bash_profile

Nun können wir das System einfach Neustarten und sollten dann nach dem reboot direkt den Browser im Kiosk Mode mit der eingerichteten Webseite sehen. Solltet ihr die Webseite ändern wollen, macht dies einfach in der /etc/xdg/openbox/autostart Datei.

reboot

Wenn ihr alles richtig gemacht habt, sollte dann der Pi hochfahren und auf dem Display die von euch gewünschte Webseite angezeigt werden:

Pi zero LCD 1.jpg

Optional: Tuning

Quellen