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

12/2019
RasPi-Alternativen

Diese Ausgabe als PDF kaufen

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

Stellenmarkt

Neuigkeiten

  • Grußbotschaften

    Mit Sonic Pi zaubern Sie komplexe Sounds, die Sie bei Bedarf sogar noch während des Abspielens modifizieren.

  • Das Runde und das Eckige

    Mit dem MCP4725 ergänzen Sie einen RasPi um einem D/A-Wandler, der bei Bedarf noch weitere Funktionen erfüllt.

  • Alles unter Kontrolle

    Schon ein einfaches Mikrocontrollerboard wie das CY8CKIT-049-42xx bietet erstaunlich viele Möglichkeiten beim Ansteuern von Hardware.

  • Viele Kerne

    Das Spresense Development Board von Sony lässt sich mit der Arduino IDE programmieren und bringt auch ein eigenes Entwickler-SDK mit.

  • Exotische Früchte

    Der aus China stammende Orange Pi positioniert sich mit einem guten Preis und interessanten Features gegen die RasPi-Truppe. Kann er sich auch behaupten?

  • Flexibler Surfer

    Mit dem neuen RasPi 4 setzen Sie einen öffentlichen Webkiosk schnell und kostengünstig auf.

  • Auskunftsfreudig

    Viele Devices, so auch der E.ON-Aura-Controller, verwenden eine Schnittstelle namens REST, um Zustandsdaten zu übermitteln. Mit ein wenig Bastelei lesen Sie diese auch über Ihr Smartphone aus.

  • Doppelt gemessen

    Mit wenig Aufwand und einem Pi Zero realisieren Sie einen mobilen Zweikanal-Spannungsprüfer.

  • Elegant zusammengeführt

    Tizonia streamt Musik von Online-Quellen und lokalen Sammlungen. Die schlanke Architektur macht den Player zur guten Wahl für den Einsatz auf dem RasPi.

  • Kommunikativ

    Nicht jeder traut sich zu, sein eigenes Smartphone zu bauen. Allerdings kann jeder Linux-Nutzer den Raspberry Pi im Handumdrehen zu einem VoIP-Telefon aufrüsten.