Raspberry Pi 4 mit dem offiziellen 7" Touchdisplay
Man kann den Raspberry Pi im Zusammenspiel mit dem offiziellen 7" Touchscreen (bezahlter Link) wunderbar als kleine autarke Station nutzen. Hier eine kleine Anleitung wie man das Touchdisplay an einen Raspberry Pi 4 B (bezahlter Link) (geht auch 3B und 3B+ (bezahlte Links)) anschließt und in Raspbian nutzbar macht. Das Raspberry Pi 7" Touchdisplay habe ich in Kombination mit dem Pimoroni Rahmen für offizielles 7 Raspberry Pi Touchdisplay (bezahlter Link) im Einsatz. Der Rahmen ist sehr minimalistisch, steht aber sehr gut und man kann den Touchscreen sehr gut verwenden ohne es mit der anderen Hand fest halten zu müssen. Ich gehe hier nicht auf den Zusammenbau ein, da der Rahmen eine sehr gut bebilderte Anleitung mitbringt.
Touchdisplay anschließen
Leider lag dem Display keine Anleitung bei, deshalb musste ich selbst ein wenig danach suchen. Im Grunde genommen ist es sehr simpel:
- DSI Kabel (das weiße breite welches blaue enden auf einer Seite hat) in den DSI Connector des Touchdisplay einstecken
- das schwarze Jumperkabel am Touchdisplay GPIO Connector in GND stecken
- das rote Jumperkabel am Touchdisplay GPIO Connector in 5V stecken
- Raspberry Pi auf das Touchdisplay schrauben
- das DSI Kabel in den DSI Anschluss des Raspberry Pi stecken
- nun das schwarze Jumperkabel am Raspberry Pi GPIO in Pin 6
- das rote Jumperkabel am Raspberry Pi GPIO in Pin 4
- Für die Stromzufuhr gibt es nun zwei Möglichkeiten:
- A) über den MicroUSB Anschluss des Touchdisplay (Achtung, der MicroUSB Power Adapter muss genug Power haben min. 3,5A)
- B) über den Raspberry Pi 4 USB-C Anschluss (Achtung geht nur beim Pi4! Alle anderen haben eine zu schwache Sicherung verbaut)
Tipp 1: Wer sich fragt wofür das grüne und gelbe Kabel ist, welches dem Display ebenfalls beiliegt, diese braucht man beim Raspberry Pi 4B, 3B und 3B+ nicht, da die Touch Steuerung auch über das DSI Kabel geht.
Tipp 2: Lasst die Schutzfolie auf jeden Fall während der Baumaßnahmen drauf. Das Display funktioniert auch mit der Folie.
Tipp 3: Ich habe mir für den Stromanschluss USB Winkel Adapter bestellt und es hat sich herausgestellt das der Winkel Adapter USB-C auf MicroUSB perfekt ist:
Nun zur Ausführlichen bebilderten Anleitung:
Um das DSI Kabel anzuschließen müssen die beiden schwarzen äußeren Klemmen ein Stück herausgezogen werden, dann das DSI Kabel mit den silbernen Kontakten nach oben (zur braunen Seite) einstecken und die Schwarzen Klemmen wieder rein drücken
als nächstes schließen wir die Jumper Kabel an GND (schwarz) und 5V (rot) an:
nun schrauben wir den Raspberry Pi auf das Display und schließen die beiden Jumperkabel an das GPIO des Raspberry Pi an:
- Schwarz GND an GPIO Pin 6
- rot 5V an GPIO Pin 4
als nächste kommt nun das DSI Kabel, welches wir in den Port Namens Display
am Raspberry Pi anschließen. Auch hier vorher wieder die schwarzen Klemmen ein wenig rausziehen, dann das DSI Kabel mit der Blauen Seite nach außen (Kontakte nach innen) einstecken und die schwarzen Klemmen wieder rein drücken:
Zu guter Letzt schließen wir ein MicroUSB Stromkabel an das Touchdisplay an. Oder nutzen beim Raspberry Pi 4 das offizielle USB-C Powerkabel. Leider schauen nun beide Kabel, USB-C und MicroUSB Kabel über den Rand hinaus. Abhilfe schafft hier ein abgewinkelter Adapter.
Nun sollte der Pi samt Betriebssystem booten. Ich habe hier für einen ersten Test das Standard Raspberry Pi OS Image inkl. Desktop auf eine SD Karte installiert. Wie man Raspbian installiert könnt ihr hier nachlesen:
Nun noch ein paar Bilder:
-
Front Ansicht
-
Rear Ansicht
-
Raspberry Pi 4 auf Display
-
Raspberry Pi auf Display
-
Raspberry Pi auf Display
Updates einspielen
Es ist wichtig, das alles auf dem aktuellen Stand ist, bevor man beginnt:
sudo apt update && sudo apt upgrade
sudo reboot
Display drehen
Möchte, oder muss man das Bild drehen, weil zum Beispiel das Touchdisplay Hochkant oder gar auf dem Kopf steht, so kann man das über die Konfigurationsdatei machen. Dafür einfach die folgenden Zeilen der Datei /boot/config.txt
anhängen:
/boot/config.txt
# rotated 180 degrees lcd_rotate=2
Folgende Parameter sind möglich:
lcd_rotate=0
Normal
lcd_rotate=1
90 Grad
lcd_rotate=2
180 Grad
lcd_rotate=3
270 Grad
lcd_rotate=0x10000
horizontal spiegeln
lcd_rotate=0x20000
vertikal spiegeln
nach einem Reboot sollte das Ergebnis zu sehen sein. Man kann die Konfiguration aber auch vor dem ersten Boot vornehmen in dem man die Datei vorher auf der SD Karte editiert.
Bei Debian Bullseye und Bookworm
Damit das Display bei Debian Bullseye und Bookworm funktioniert muss in der /boot/config
der Grafikkarten Treiber vc4-kms-v3d
deaktiviert werden in dem wir ihn auskommentieren:
/boot/config
# Enable DRM VC4 V3D driver
#dtoverlay=vc4-kms-v3d
Gelber Blitz rechts oben
Solltet ihr beim Booten oder während des Betriebs des Raspberry Pi einen Gelben Blitz zu Gesicht bekommen, bedeutet das, dass eure Stromversorgung zu schwach ist. Also einfach eine andere Stromquelle besorgen, oder Touchdisplay und Raspberry Pi mittels getrennter Stromversorgung betreiben. Hier aber dringend die beiden Jumper Kabel vorher entfernen (rot und schwarz). Das Symbol ist aber eigentlich eher als Warnung zu sehen, da der Pi dann nicht die volle Leistung bringt und es ggf. zu einem ungewollten Absturz des Einplatinencomputers kommen kann. Man kann dieses Warning auch dauerhaft entfernen, in dem man die Konfiguration ändert:
/boot/config.txt
avoid_warnings=1
schaltet die Fehlermeldung (Blitz Symbol) aus
avoid_warnings=2
deaktiviert die automatische Leistungsdrosselung durch die niedrige Stromversorgung und deaktiviert das Blitz Symbol
Bildschirm Helligkeit anpassen
Die Helligkeitswerte die gesetzt werden können liegen zwischen 255 und 0. wobei 255 der Standard Wert ist und somit auch der hellste Wert. Setzen kann man den Wert einfach über den folgenden Befehl. 'Helligkeitswert' bitte durch gewünschte Zahl zwischen 0 und 255 ersetzten.
sudo bash -c "echo 'Helligkeitswert' > /sys/class/backlight/rpi_backlight/brightness"
zum Beispiel:
sudo bash -c "echo '100' > /sys/class/backlight/rpi_backlight/brightness"
das Ganze ist dann auch reboot fest. Man kann nun via cronjob steuern, das Abends zum Beispiel ab 22:00 das Display stark gedimmt wird und morgens dann wieder auf Volle Power geht.
via rpi-backlight
Man kann dafür auch das in Python geschriebene Tool rpi-backlight verwenden. Dieses kann man unter Raspbian ganz einfach nachinstallierten:
apt install python3-pip
pip3 install rpi-backlight
nun kann man einfach die Helligkeit in % einstellen (hier 35%):
rpi-backlight -b 35
oder das Display ganz aus oder einschalten:
rpi-backlight -p off
rpi-backlight -p on
Touchdisplay ausschalten
Man kann via Konsole das Display aus, bzw. anschalten.
# Anschalten
sudo sh -c "echo '0' > /sys/class/backlight/rpi_backlight/bl_power"
# Ausschalten
sudo sh -c "echo '1' > /sys/class/backlight/rpi_backlight/bl_power"
Touchdisplay automatisch Dimmen
Mittels einem Helligkeitssensor kann man die Helligkeit des Bildschirmes automatisch anpassen und sogar das Display ausschalten, wenn es komplett dunkel ist. Wie das geht, könnt ihr hier nachlesen:
Screensaver deaktivieren bzw. einstellen
Möchte man verhindern, das dass Display nach einiger Zeit aus geht, bzw. der Bildschirmschoner angeht. Oder möchte man gar einen Bildschirmschoner einrichten, kann man dies über das Paket xscreensaver machen. Dafür muss dieses nachinstalliert werden:
sudo apt install xscreensaver
Danach findet man diesen unter Menü --> Einstellungen --> Bildschirmschoner
Virtuelle Tastatur installieren
Natürlich brauchen wir bei einem Touchscreen auch eine virtuelle Tastatur um auch mal eine Google Suche zu starten. hierfür installieren wir einfach das matchbox-keyboard
.
sudo apt update && apt install matchbox-keyboard
Nach der Installation finden wir dieses dann unter MENU --> Zubehör --> Tastatur
German Keyboard Layout
Standardmäßig ist das Keyboard Layout auf QUERTY gestellt. Man kann dies aber auch auf unser deutsches QWERTZ umstellen:
cd ~
mkdir .matchbox
cd .matchbox/
wget http://wiki.openmoko.org/wiki/File:Keyboard.xml
mv File\:Keyboard.xml Keyboard.xml
beim Neuaufrufen der virtuellen Tastatur sollte alles auf dem gewohnten deutschen Layout sein.
Tastatur Symbol in Taskleiste
Möchte man rechts oben einen direkten Button um die virtuelle Tastatur einzublenden, so kann man dies mit den folgenden Schritten machen:
Achtung: Da wir kein Root sind, bitte die Dateien mit sudo editieren:
sudo bash DATEI
Als erstes legen wir ein kleines Skript (als root) an, welches für das Starten der Tastatur sorgt:
/usr/local/sbin/toggle-keyboard.sh
#!/bin/bash
PID=$(pidof matchbox-keyboard)
if [ ! -e $PID ]; then
kill $PID
else
matchbox-keyboard &
fi
und geben diesem das Execute Recht:
sudo chmod +x /usr/local/sbin/toggle-keyboard.sh
nun legen wir noch eine Verknüpfungsdatei an (als root):
/usr/share/raspi-ui-overrides/applications/toggle-keyboard.desktop
[Desktop Entry] Name=Toggle Virtual Keyboard Comment=Toggle Virtual Keyboard Exec=/usr/local/sbin/toggle-keyboard.sh Type=Application Icon=matchbox-keyboard.png Categories=Panel;Utility;MB X-MB-INPUT-MECHANISM=True
und fügen der Taskleiste das Icon hinzu (als root):
/etc/xdg/lxpanel/LXDE-pi/panels/panel
Plugin { type=launchbar Config { Button { id=toggle-keyboard.desktop } } }
Das Ergebnis sollte dann so aussehen:
Alternative: Florence Virtual Keyboard
Alternativ kann man die Tastatur Florence
installieren:
sudo apt install at-spi2-core florence
Dies ist dann unter Barrierefreiheit
zu finden. Probiert am besten aus, welche Tastatur für euch am besten ist. Es können beide parallel installiert sein.
Rechtsklick aktivieren
Nur bei Debian Wheezy --> Hab es unter Buster nicht zum Laufen gebracht. Sollte jemand eine Lösung finden, gerne eine mail an mich.
Um den Rechtsklick durch langes Drücken zu aktiviere muss man der Datei /etc/X11/xorg.conf
folgenden Inhalt anhängen:
/etc/X11/xorg.conf
Section "InputClass" Identifier "calibration" Driver "evdev" MatchProduct "FT5406 memory based driver" Option "EmulateThirdButton" "1" Option "EmulateThirdButtonTimeout" "750" Option "EmulateThirdButtonMoveThreshold" "30" EndSection
Dann brauchen wir noch die folgenden Pakete:
sudo apt install libevdev2 xserver-xorg-input-evdev
Dann das System Neustarten:
sudo reboot
Mauszeiger ausblenden
den Mauszeiger kann man, falls man nur das Touchdisplay verwendet einfach ausblenden. Dafür installieren wir das Tool unclutter
nach dem Reboot sollte nach 1-2 Sekunden der Mauszeiger automatisch verschwinden.
sudo apt install unclutter
Screenshots erstellen
Um Screenshots unter Raspbian erstellen zu können, kann man das Tool gnome-screenshot installieren:
sudo apt install gnome-screenshot
Zu finden ist es dann unter Menü --> Zubehör --> Bildschirmfoto