3,2-Zoll-Monitor von Joy-it im Test

© Computec Media GmbH

Knirps

Der 3,2 Zoll kleine Monitor von Joy-it, zusammen mit dem RasPi kaum größer als eine Packung Zündhölzer, bietet eine interessante Alternative zu einer reinen Headless-Konfiguration. Er erleichtert das Überwachen des Boot-Vorgangs und das Verfolgen von Ausgaben, die nur ein Paar Zeichen oder Zeilen umfassen.

Manchmal kann ein kleiner Bildschirm am RasPi nützlich sein: etwa um zu wissen, was sich beim Booten so alles abspielt, oder für eine kompakte Appliance. Idealerweise lässt sich ein solches Display ohne Kabel direkt ans Board anschließen, so wie der 3,2-Zoll-Monitor von Joy-it [1].

In etwa genauso breit beziehungsweise lang wie der RasPi, ist das TFT-Display keinen halben Zentimeter hoch, sodass das Gesamtpaket kaum mehr Platz braucht als eine Headless-Konfiguration. Am linken Rand des Monitors befinden sich drei programmierbare Knöpfe. Das Display weist eine Auflösung von 320 x 240 Pixeln bei 16 Bit Farbtiefe auf. Sie stecken es auf den GPIO-Port eines Raspberry Pi 2 oder 3.

Bezugsquellen

Das 3,2-Zoll-Display von Joy-it gibt es sowohl bei Reichelt [14] als auch bei Conrad [15] für knapp 30 Euro zu kaufen. Die Händler ELV [16] und Conrad [17] bieten zudem für etwa 9 Euro ein Gehäuse an, in das sowohl der RasPi als auch der Monitor passen.

Installation

Es gibt zwei Wege, um das Display am RasPi zum Laufen zu bringen. Der erste Weg, die manuelle Installation, eignet sich für erfahrene Anwender und hat den Vorteil, dass er mit jeder Distribution für den RasPi funktioniert. Dazu kopieren Sie das Image des Betriebssystems zunächst mit Dd oder Etcher auf eine SD-Karte (Listing 1). Anschließend verbinden Sie den RasPi mit einem Monitor, der keine Treiber braucht, und booten ihn von der SD-Card.

Listing 1

 

$ dd if=Pfad/zum/Image.img of=Gerätename progress=status; sync

Den benötigten Display-Treiber schlägt der Raspberry Pi in der Konfigurationsdatei /boot/config.txt nach, weshalb Sie hier einen entsprechenden Eintrag ergänzen (Listing 2). Weiter geht es mit der Datei /boot/cmdline, wo Sie am Ende der ersten Zeile den Wert fbcon=map:10 anfügen.

Listing 2

 

dtparam=spi=on
dtoverlay=joy-IT-Display-Driver-32b-overlay:rotate=270,swapxy=1

Darüber hinaus muss der RasPi wissen, über welchen Kanal er das Bild ausgeben soll. Dazu ändern Sie den fraglichen Gerätenamen in /dev/fb1, damit die Ausgabe am GPIO-Port erfolgt (Listing 3). Den Touchscreen des Joy-it-Displays kalibrieren Sie ebenfalls mithilfe einer Textdatei (Listing 4). Der Speicherort der Dateien aus Listing 3 und Listing 4 hängt vom Betriebssystem ab; üblicherweise handelt es sich um das Verzeichnis /usr/share/X11/xorg.conf.d/ oder /etc/X11/xorg.conf.d/.

Listing 3

 

# fbturbo.conf
Section "Device"
  Identifier "Allwinner A10/A13 FBDEV"
  Driver     "fbturbo"
  Option     "fbdev" "/dev/fb1"
  Option     "SwapbuffersWait" "true"
EndSection

Listing 4

 

# calibration.conf
Section "InputClass"
  Identifier   "calibration"
  MatchProduct "ADS7846 Touchscreen"
  Option       "Calibration" "160 3723 3896 181"
  Option       "SwapAxes" "1"
  Option "TransformationMatrix" "1 0 0 0 - 1 1 0 0 1"
EndSection

Nun wechseln Sie ins Verzeichnis /tmp/ und laden die Treiber herunter (Listing 5). Das Tool Raspi-config erlaubt eine Einstellung, um ohne Login direkt in die grafische Oberfläche zu starten [2]. Dazu springen Sie unter Boot Options | B4 Desktop Autologin per Tabulator zu OK und bestätigen die Einstellung mit der Eingabetaste. Anschließend landen Sie wieder im ersten Fenster des Konfigurationswerkzeugs, das Sie durch Drücken auf Finish verlassen. Zu guter Letzt willigen Sie ein, den RasPi neu zu starten.

Listing 5

 

$ cd /tmp
$ wget anleitung.joy-it.net/upload/joy-IT-Display-Driver-32b-overlay.dtb
# cp joy-IT-Display-Driver-32b-overlay.dtb /boot/overlays/joy-IT-Display-Driver-32b-overlay.dtbo

Doppeltes Lottchen

Das Joy-it-Display bietet die Möglichkeit, zweigleisig zu fahren: Das Bild lässt sich gleichzeitig auf dem TFT-Display und einem Desktop-Monitor ausgeben, vorausgesetzt, Letzterer hängt via HDMI am RasPi. Dazu ändern Sie in der Datei fbturbo.conf aus Listing 3 den Gerätenamen in /dev/fb0 und ergänzen die Konfiguration, indem Sie unter anderem die Auflösung des Desktop-Monitors angeben (Listing 6).

Listing 6

 

#/boot/config.txt
hdmi_ignore_edid=0xa5000080
hdmi_force_hotplug=1
hdmi_group=2
hdmi_mode=87
# Auflösung des Desktop-Monitors:
hdmi_cvt=1024 768 60 1 0 0 0
# 1024 768 -> Auflösung des Monitors
# 60 -> Bildwiederholfrequenz
# 1 -> Verhältnis 4:3 (3 -> 16:9)

Zusätzlich benötigen Sie das Programm Framebuffer-Copy [3] – Fedberry [4] erfordert dafür zusätzliche Pakete, die Sie dort mit dem Befehl aus Listing 7 installieren. Danach laden Sie die Quellen zu Framebuffer-Copy herunter [5] und kompilieren das Programm (Listing 8). Beklagt sich der Compiler darüber, er finde Dateien der VideoCore-Bibliothek [6] nicht, dann wurde diese Bibliothek nicht im Standardverzeichnis abgelegt. Glücklicherweise genügt es in diesem Fall, die Pfade in der Konfigurationsdatei von Cmake zu ändern, um Framebuffer-Copy erfolgreich zu kompilieren (Listing 9).

Listing 7

 

# dnf install gcc-c++ gcc cxxtools cmake git kernel-headers raspberrypi-vc*

Listing 8

 

$ cd /tmp
$ git clone https://github.com/tasanakorn/rpi-fbcp
$ mkdir -p rpi-fbcp/build
$ cd rpi-fbcp/build
$ cmake ..
$ make
# install fbcp /usr/bin/fbcp

Listing 9

 

#/tmp/rpi-fbcp/CMakeLists.txt
(...)
include_directories(Pfad/zu/vc)
include_directories(Pfad/zu/vc/include/interface/vcos/pthreads)
include_directories(Pfad/zu/vc/include/interface/vmcs_host)
include_directories(Pfad/zu/vc/include/interface/vmcs_host/linux)
link_directories(Pfad/zu/lib/vc)
(...)

Zu guter Letzt richten Sie Framebuffer-Copy so ein, dass es beim Booten automatisch startet. Falls das Betriebssystem mit Runlevels arbeitet, ergänzen Sie in der Datei rc.local die beiden Zeilen fbcp & und exit 0. Betriebssysteme wie Sabayon ARM benutzen für solche Aufgaben OpenRC [7]. Hier legen Sie im Systemd-Verzeichnis (meist /usr/lib/systemd/system/) eine eigene Datei mit der Endung .service an (Listing 10). Schließlich sorgen Sie mit dem Aufruf systemctl enable Name.service dafür, sodass OpenRC den Befehl im Hintergrund startet.

Listing 10

 

# Name.service
[Unit]
Description="Mirror fb0 to fb1"
After=network.target
[Service]
Type=simple
User=%i
ExecStart=/usr/bin/fbcp &
[Install]
WantedBy=multi-user.target

Diesen Artikel als PDF kaufen

Express-Kauf als PDF

Umfang: 4 Heftseiten

Preis € 0,99
(inkl. 19% MwSt.)

Raspberry Pi Geek kaufen

Einzelne Ausgabe
 
Abonnements
 
TABLET & SMARTPHONE APPS
Bald erhältlich
Get it on Google Play

Deutschland

Ähnliche Artikel

Aktuelle Ausgabe

08/2018
Projekte & Hacks

Diese Ausgabe als PDF kaufen

Preis € 7,99
(inkl. 19% MwSt.)

Stellenmarkt

Neuigkeiten

  • Fernverkehr

    Zwar wurde I2C eigentlich für die interne Gerätekommunikation konzipiert, doch mithilfe geeigneter Extender-Bausteine überbrückt der Bus Distanzen bis zu 100 Metern.

  • Neues auf der Heft-DVD

    Nur mit dem optimalen System und der richtigen Software nutzen Sie das volle Potenzial eines Mini-PC. Mit der Heft-DVD erhalten Sie nicht nur die neusten Distributionen für den RasPi und Co., sondern gleichzeitig auch die passenden Programme zu den Artikeln.

  • Farbenspiele

    Der winzige Sensorbaustein APDS-9960 vereint vier unterschiedliche Anwendungsfälle in einem Chip.

  • Finger weg!

    Mit einem Read-only-Dateisystem schützen Sie die SD-Karte vor dem Altern durch Schreibvorgänge. Beim Aufsetzen gilt es, einige wichtige Punkte zu beachten.

  • Auf Zuruf

    Mit dem bereits Anfang 2017 angekündigten und jetzt endlich verfügbaren Voice offeriert Matrix Labs eine neue Erweiterung, die den Raspberry Pi fit für Sprachsteuerung machen soll.

  • Experimentell

    Wer elektronische Schaltungen entwirft, experimentiert oft erst einmal mit einem Breadboard. Genau für diese Bastler bietet sich der NanoPi-Duo als Steuerrechner an.

  • Aufgemöbelt

    Mit dem Desktop-Kit von Farnell gibt der RasPi auch auf dem Schreibtisch technisch und optisch eine gute Figur ab.

  • PiBot

    Aus einem Fischertechnik-Baukasten lässt sich schon mit wenigen Teilen ein Roboter aufbauen. Fehlt nur noch ein Gehirn: Das stellt der Raspberry Pi.

  • Heißkalt serviert

    Wie verwandelt sich ein Linux-System auf einem RasPi in einen Datenlogger? Indem es mit einem Bluetooth-fähigen Multimeter spricht.

  • Türwächter

    Der RasPi beteiligt sich am Internet der Dinge und wacht als smartes Schließsystem autonom über den Zugang zum Eigentum.