OE5TPO - Raspberry Pi mit kleinem SPI-Touchscreen

Raspberry Pi mit kleinem SPI-Touchscreen

Ich hab mir ca. vor einem Monat ein Display für den Raspberry Pi gekauft. Im gegensatz zu vielen anderen derzeit erhältlichen Displays arbeitet dieses ohne Konverter oder ähnlichem. Es benötigt lediglich einen SPI-Port, den der Raspberry Pi bekanntlich auf seiner Stiftleiste hat.

Der Name vom Display ist MI0283QT-9A, für den es auch schon funktionierende treiber gibt. Der Hersteller ist Watterott, und es ist auch alles als OpenSource auf GitHub verfügbar. Es soll angeblich probleme mit dem Treiber geben, weshalb ich aus einfacherheit ein modifiziertes ISO-Image heruntergeladen habe das geeignet sein soll. Ob es mit dem Standard-Wheezy funktioniert kann ich nicht sagen. Was ich mir aber mal anschauen werde ist, dass ich den Treiber auf ein Arch-System bekomme. Das hat mit einem aktuellen Projekt zu tun, und Arch ist auch wesentlich schlanker und schneller als Wheezy.

Raspberry Pi mit funktionierendem SPI-Touch-Display

Installationsanleitung

Es gibt bereits eine englische Anleitung vom Programmierer des Tutorials. Ich hatte aber am anfang probleme, also mache ich hier auch mal eine Anleitung, wie ich das ganze zum laufen gebracht habe. Wie in der Anleitung nutze ich ein Linux-System um die Dateien zu kopieren.

Nötige Dateien

Image installieren

Als erstes wird das modifizierte wheezy Image ganz normal auf die SD-Karte gespielt. Wenn man den Raspberry Pi startet wird man vermutlich aber nichts ausergewöhnliche bemerken.

vorkompilierte Kerneldateien kopieren

Wenn man ein Linux-System hat, dann steckt man die fertig beschriebene SD-Karte hinein, und bekommt dann 2 Partitionen angezeigt (Bei mir 59MB und 1,9GB). Bei Windows, naja, der kennt vermutlich nur eine. So sollte auch klar sein dass Windoof für diesen Schritt ungeeignet ist (zumindestens ohne spezialprogramme).

Die folgenden Schritte sollten mit dem Terminal ausgeführt werden, da zumindestens bei mir Administratorrechte benötigt wurden.

Wenn man im Terminal ist soll als erstes in das Verzeichnis des vorkompilierten Kernels gewechselt werden. Da das ganze auf einzelne partitionen abzielt, die bei alle einen anderen Namen haben  ist dieser bei mir so geschrieben: <name der partition>. Dort soll die richtige bezeichnung für die jeweilige Partition in media eingetragen werden. Es sollte klar sein dass die betreffenen Partitionen vorher auch gemountet werden müssen (was bei automatisch geschehen ist).

boot-Ordner

In der kleineren Partition befinden sich normalerweise die boot-Dateien. Z.b. auch eine config.txt, mit der man den Raspberry pi übertakten,... kann. In diese Partition wird jetzt der Inhalt des Ordners von vorkompilierten Kernels mit dem Namen boot hineingeschoben, und sollten ein paar Dateien ersetzten.

sudo cp -R boot/* /media/<name der boot partition>/

root-Ordner

Dann kommt der Inhalt vom Ordner root dran. Dieser kommt in die 2. Partition, in der sich die wohlbekannten linux-ordner befinden. Dabei kommt dieser Ordner nicht in den gleichnahmigen Ordner /root/, sondern wird direkt in dessen Wurzelverzeichnis geschoben, und erweitert so den Ordnerinhalt von /lib/.

sudo cp -R root/* /media/<name der root partition>/

Testen

Man könnte gleich weitermachen, aber ich würde empfehlen die SD-Karte zu entmounten, und das ganze testen. Wenn es funktioniert, und das Display korrekt verbunden ist sollte schon ein Boot-Screen erscheinen, und man sich einloggen können. Wenn man aber startx eingibt wird man nur einen schwarzen Bildschirm sehen, und das wollen wir noch ändern. Was zumindestens bei mir auch aufgetreten ist, ist dass am anfang sehr viele Display-Fehler kommen. Das Problem ist bereits bekannt.

Installieren on xserver-xorg-video-fbdev

Bei mir war dieser Schritt nicht notwendig, da das paket vermutlich schon beim modifizierten wheezy vorab installiert wurde. Wenn es aber nicht installiert ist wird es einfach nachinstalliert:

sudo apt-get install xserver-xorg-video-fbdev

X11-config-Datei erstellen

Jetzt muss nur noch folgendes File erstellt werden: /usr/share/X11/xorg.conf.d/99-fbdev.conf

Dessen Inhalt sollte wie folgt sein:

Section "Device"  
  Identifier "myfb"
  Driver "fbdev"
  Option "fbdev" "/dev/fb1"
EndSection

Jetzt sollte alles funktionieren, und wenn man startx eingibt, sollte auf dem display ein kleiner Desktop erscheinen.

Fehlerbehebung

Der Raspberry Pi bootet nicht

SD-Karte vergessen, fehler beim kopieren der Dateien, und vieles mehr ist möglich.

Das Display startet korrekt, ist aber irgendwann nur mehr weiß

Entweder du hast einen neuen Bildschirmschoner oder Irgendwo wird vermutlich ein Wackelkontakt sein.

Das Display ist nur weiß

Vermutlich ist sind die SPI-Leitungen nicht korrekt verkabelt, unterbrochen oder werden gestört, die Stromversorgung und der Pin für die Hintergrundbeleuchtung funktioniert dagegen vermutlich reibungslos. Auch könnte es probleme bei der Initialisierungsroutine im Treiber geben. Am besten auf kurze leitungen und genügend Abstände bei den Leitungen achten, der SPI-Takt ist immerhin nicht wirklich niedrig (irgendwas zwischen 32-48MHz)

Der Touchscreen funktioniert nicht

In dieser Anleitung wir nichts mit Touchscreen konfiguriert oder installiert. Ich kann den Toucscreen noch nicht testen, weil ich die leitungen vergessen habe, aber meines Wissens ist der touchscreensupport nicht in den Files includiert, die ich hier verwende.

Hat ihnen der Beitrag gefallen?, wenn ja teilen sie ihn

Kommentare

VerÖffentlichen Sie ihre Kommentare ...