Raspberry Pi mit Touchscreen einrichten (02.05.14)

Dieser Beitrag wurde 177840 mal angezeigt.

Hy Leute,

heute möchte ich euch mal erklären wie man sein Raspberry Pi mit Raspbian und einem Touchscreen von Adafruit einrichtet.

Was benötigen wir:raspberry_pi_parts

(Ich würde mich freuen wenn Ihr die Artikel, über meinen Partner-Shop bei Amazon kauft, reguläre Amazon Preise, keine Nachteile und ihr unterstützt meine Seite damit 😉 )

Ich möchte auf dem Pi und dem Display später ein Statistik anzeigen lassen, die mit z.b. die Geschwindigkeit des CGMiners anzeigt.

Aber ich halte die Anleitung erst mal so allgemein, das jeder mit dieser Anleitung einen Pi zum laufen bekommt und ebenfalls das Display in Funktion bringt, anschließend je nach Anwendungsfall weiter macht.

Schritt 1

Als erstes besorgen wir uns ein frisches Raspbian Image. Warum? Für das Display benötigen wir spezielle Treiber und ich vermute das die Treiber für das 2×16 Display uns im Wege stehen könnten.

Also laden wir uns das neuste herunter.

Die ZIP entpacken wir und erhalten nun eine *.img Datei. Diese müssen wir auf eine SD Karte bringen. Dazu gibt es das Tool Win32diskimager.

Hier könnt ihr dieses in der Version 0.9.5 laden: Win32DiskImager-0.9.5-binary.

Oder hier die neuste Version finden: Link

Mit diesem Tool könnt ihr das Image auf die SD Karte schreiben. 

Schließt euren Kartenleser an und steckt eure SD Karte rein, bevor ihr das Programm startet. Sonst erkennt das Programm nicht wo sich die SD Karte befindet. Anschließend wählt ihr das entsprechende Image aus und drückt auf „write“. Nun wird das Image auf die SD Karte geschrieben. Alle Daten die sich vorher auf dem Image befunden haben werden entfernt.

Mit der „Read“ Funktion könnt ihr anders herum ein Image von der SD Karte erstellen und speichern.

Schritt 2

Nachdem wir das Image nun auf die SD geschrieben haben, können wir diese in unseren Pi stecken und starten. Dazu benötigen wir das Debug Kabel und das Programm PUTTY. Da unser Pi noch nichts vom WLan oder Lan weiß.

Als erstes stecken wir das Debug Kabel an einen USB Anschluss nach der erfolgreichen Installation durch Windows 7 können wir unter „Geräte und Drucker“ sehen, welcher COM Port für das Kabel reserviert wurde.

  • Nun starten wir Putty und geben die entsprechenden Daten ein damit wir uns zu unseren Raspberry verbinden können.
  • Wir setzen die „Connection type“ auf: Serial
  • Speed auf 115200
  • Wer Putty vorher schon einmal verwendet hat, sollte darauf achten das UTF-8 eingestellt ist.
  • Anschließend klicken wir auf “Open”. Putty wartet nun auf eine Verbindung.
  • new_putty_connection_windownew_pc_putty_after_login

 

 

 

 

 

 

 

Nun können wir unser Debug Kabel an unseren Raspberry anschließen: Dazu setzen wir die Adern genau so wie auf dem folgen Bild zu sehen:

gpio_closeup

Schritt 3

Um sich am Raspberry einzuloggen benutzen wir den Standard User und Passwort:

  • User: pi
  • Passwort: raspberry

Bei erfolgreicher Anmeldung können wir nun die Settings fürs WLAN vornehmen. Dazu geben wir folgendes ein:

sudo nano /etc/network/interfaces

Es öffnet sich ein Editor mit dem wir unsere Einstellungen ändern können.occ_3

Hier können wir nun unsere LAN und WLAN Einstellungen hinterlegen. LAN stellen wir so ein, das er dies automatisch erkennt und sich vom DHCP Server eine IP Adresse zuweisen lässt.

Beim WLan hinterlegen wir entsprechend eine ssid und ein PW, sodass unser Pi übers WLan verbinden kann und sich vom DHCP Server ebenfalls automatisch eine IP Adresse zuweisen lässt.

 

auto lo
 
iface lo inet loopback
iface eth0 inet dhcp
 
allow-hotplug wlan0
auto wlan0
 
iface wlan0 inet dhcp
wpa-ssid "ssid"
wpa-psk "password"

Um die Einstellungen zu ändern, Geben wir unser WLan bei wpa-ssid ein und das Passwort unter wpa-psk.

Nun drücken wir Strg+X ,die Taste Y und „Enter“ zum speichern.
Nun müssen wir unseren Raspberry rebooten damit dieser Verbindung zum WLan aufbaut.

sudo reboot

Nachdem der Rapsberry neu gebootet hat, melden wir uns wieder an und prüfen welche IP er bekommen hat. Dies können wir mit dem Befehl machen:

sudo ifconfig

Nachdem wir nun die IP Adresse haben können wir uns Zugang über SSH verschaffen. Dies brauchen wir dann später wenn wir mal auf den Pi zugreifen möchten.

Schritt 4

Damit wir uns als Root User per SSH auf dem Pi anmelden können müssen wir dem Root-User ein PW zukommen lassen.
Dazu geben wir folgendes ein:

sudo passwd root

Nun werden wir nach dem neuen Passwort gefragt das wir 2 mal eingeben müssen.
Wir haben wir unseren Pi soweit das wir uns per SSH anmelden können.

Dazu können wir nun das Debug-Kabel entfernen und den Pi an ein USB Netzteil hängen.

Schritt 5

Nachdem unser Pi neu gebootet hat können wir uns per SSH mit dem Raspberry verbinden. Ich nutze dazu immer gerne das Tool WinSCP. Da wir hier auch gleich noch eine Commander Oberfläche bekommen und Putty mit dem Programm verbinden können.

Wenn wir uns mit User „root“ und unserem gesetzten Passwort anmelden, bekommen wir erst mal Raspi-Config präsentiert.

raspi-config1. Wir sollten als erstes das File-System der SD Karte anpassen. Damit wir den vollen Platz zur Verfügung haben.

4. Als nächstes holen wir uns die Deutsche Sprache an Board. Dazu wählen wir Punkt 4. aus und gehen schritt für schritt durch I1 bis I3

Unter I1 suchen wir uns alle de_DE wenn wir in Deutschland sind. z.b.

  • de_DE ISO-8859-1
  • de_DE.UTF-8 UTF-8
  • de_DE@euro 9959-15

I2 setzen wir nun die Location und damit die Zeit-Einstellungen. Unser Pi soll ja auch die richtige Zeit im System haben.

Unter I3 ändern wir nun das Keyboard Layout auf das Deutsche. Damit wir die Umlaute nutzen können.

7. Damit unserem Pi mehr Power zur Verfügung steht, können wir noch die „Overclock“ Einstellung ändern. Wenn ihr Kühlkörper verbaut habt, könnt ihr den Pi auf 950 MHz Hochtakten. Aber nicht vergessen, das geschieht auf eigene Gefahr.

Schritt 6

Zum Schluss der normalen Einrichtung eines Pi’s können wir uns nun entscheiden ob wir die Standard grafische Oberfläche aktiveren, dazu wird ein Display, Keyboard und eine Maus benötigt. Dazu ändern wir einfach die Einstellung unter 3.

Fertig.  Wir können Raspi-Config nun verlassen und haben unseren Pi erst mal Standardmäßig eingerichtet.

 

Schritt 7

Damit der Pi auf den neusten Stand kommt, müssen wir diesen einmal komplett updaten:

sudo apt-get update && sudo apt-get upgrade -y && sudo rpi-update && sudo reboot

Der Pi startet dann anschließend neu um die neuste Firmware zu laden.

 

Schritt 8, Touch-Display installieren

Als nächstes können wir das Display installieren. Dazu gehen wir wieder per SSH auf den Pi und geben folgendes ein um erst mal die Pakete zu bekommen:

cd ~
wget http://adafruit-download.s3.amazonaws.com/libraspberrypi-bin-adafruit.deb
wget http://adafruit-download.s3.amazonaws.com/libraspberrypi-dev-adafruit.deb
wget http://adafruit-download.s3.amazonaws.com/libraspberrypi-doc-adafruit.deb
wget http://adafruit-download.s3.amazonaws.com/libraspberrypi0-adafruit.deb
wget http://adafruit-download.s3.amazonaws.com/raspberrypi-bootloader-adafruit-112613.deb

Alternativ könnt ihr auch die neuste Version des Boot-Loaders für das Display nutzen. Dieser soll schneller sein. Befindet sich aber noch in der Entwicklung. Also nur nutzen wenn ihr es ausprobieren wollt. Ihr könnt das Packet auch später durch das ältere setzen oder das ältere durch das neue 😉

wget http://adafruit-download.s3.amazonaws.com/raspberrypi-bootloader-adafruit-20140421-3.deb

raspberry_pi_downloadingdb raspberry_pi_dpkged

Wenn wir alle „deb“ Dateien haben können wir den neuen Kernel installieren.

sudo dpkg -i -B *.deb
sudo mv /usr/share/X11/xorg.conf.d/99-fbturbo.conf ~

Der neue Kernel ist nun installiert. Nun können wir den Pi abschalten und das Display montieren und den Pi wieder starten.

sudo shutdown -h now

 Schritt 9

Nun können wir das Display testen. Wir melden uns wieder an und geben folgendes ein:

sudo modprobe spi-bcm2708
sudo modprobe fbtft_device name=adafruitts rotate=90
export FRAMEBUFFER=/dev/fb1
startx

Sollte hier nun das Display erst schwarz werden und bei „startx“ der Desktop des Pis geladen werden, haben wir alles richtig gemacht.  Und können mit dem automatischen Startdes TFT Kernels vorfahren.
Wenn hier nun nichts passiert, habt ihr etwas falsch gemacht und solltet von vorne beginnen.

Schritt 10

Wir schließen den Desktop in dem wir in der Konsole „Strg-C“ drücken. Das Display friert nun ein und wir können mit der Config fortfahren.

Als erstes möchten wir das unsere Module direkt geladen werden. Dazu öffnen wir /etc/modules

sudo nano /etc/modules

und fügen diese 2 Zeilen am ende hinzu:

spi-bcm2708
fbtft_device

Mit Strg-X und anschließend y für Speichern beenden wir nano.raspberry_pi_etcmodules

Wir sind aber noch nicht fertig und müssen noch die modprobe hinzufügen:

sudo nano /etc/modprobe.d/adafruit.conf

Und schreiben dies hinein:

options fbtft_device name=adafruitts rotate=90 frequency=32000000

schließen und speichern.

 

Was bedeuten die Einstellungen?

  • rotate: Variable die angibt wie das Display gedreht werden solll. Möglich sind 0, 90, 180 oder 270 Grad.
    • 0 Grad ist dort wo das Adafruit Logo ist.
    • 90 Grad ist dort wo die Knöpfe sind.
  • frequency: sagt dem Treiber wie schnell er das Display neu laden (refreshen) soll 32MHz (32000000) ist vollkommen ausreichend für 20 FPS (Frames per Sec) Wenn dein Bildschirm aber nicht sauber funktioniert, probiere 16 MHz (16000000)

Jetzt sollten wir einmal „rebooten“ und anschließend „dmesg“ eingeben und schauen ob unser Display auch ordentlich gefunden wurderaspberry_pi_dmesgdetect. Hier sollte nun folgendes zu finden sein:

stmpe-spi spi0.1: stmpe610 detected, chip id: 0x811

und

stmpe610 spi0.1 500kHz 8 bits mode=0x00
fb_ili9340 spi0.0 32000kHz 8 bits mode=0x00

 Schritt 11

Damit wir das Display auch nutzen können, müssen wir dieses kalibrieren. Dazu hinterlegen wir uns eine config file.:

sudo mkdir /etc/X11/xorg.conf.d
sudo nano /etc/X11/xorg.conf.d/99-calibration.conf

Und fügen hier unsere Standard Config ein:

Section "InputClass"
    Identifier "calibration"
    MatchProduct "stmpe-ts"
    Option "Calibration" "3800 200 200 3800"
    Option "SwapAxes" "1"
EndSection

Jetzt können wir erneut das Display testen :

FRAMEBUFFER=/dev/fb1 startx

Das Display sollte nun schon recht gut funktionieren. Damit wir nicht ständig FRAMEBUFFER … mit schreiben müssen, können wir dies in unserem Profil hinterlegen. Dazu verlassen wir wieder das Display mit „Strg-C“  und gehen mit Nano in unsere profile Datei:

sudo nano ~/.profile

Achtet darauf mit welchen Login ihr eingeloggt seit. Wenn ihr als Root eingeloggt seit, müsst ihr

sudo nano /home/pi/.profile

editieren.

Hier fügt ihr nunraspberry_pi_profile

export FRAMEBUFFER=/dev/fb1

ein. Speichert die Einstellung und startet den PI mit einem Reboot neu.

 Schritt 12

Nachkalibrieren. Das Display arbeitet zwar, doch könnte es noch besser funktionieren. Dazu haben wir nun die möglichkeit, dieses entsprechend nach zu kalibrieren. Dazu hinterlegen wir uns eine Regel-File.

sudo nano /etc/udev/rules.d/95-stmpe.rules

Hier fügen wir nun folgendes ein:

SUBSYSTEM=="input", ATTRS{name}=="stmpe-ts", ENV{DEVNAME}=="*event*", SYMLINK+="input/touchscreen"

Danach müssen wir das Display einmal entfernen und wieder installieren mit :

sudo rmmod stmpe_ts; sudo modprobe stmpe_ts

Nun prüfen wir, ob unser Display auch erkannt wurde mit :

ls -l /dev/input/touchscreen

raspberry_pi_udevlinkWenn das Display erkannt wurde, können wir uns einige Tools zum kalibrieren besorgen:

sudo apt-get install evtest tslib libts-bin

Starten wir:

sudo TSLIB_FBDEVICE=/dev/fb1 TSLIB_TSDEVICE=/dev/input/touchscreen ts_calibrate

raspberry_pi_tscalibrateraspberry_pi_tscalib
Nachdem wir die Kreuze angeklickt haben, ist unser Display kalibiert und wir können einen Test starten:

sudo TSLIB_FBDEVICE=/dev/fb1 TSLIB_TSDEVICE=/dev/input/touchscreen ts_test

raspberry_pi_tstestMahlt dabei auch in den Ecken um zu sehen ob auch das ganze Display erfasst wird. Falls nicht. Wiederholt das kalibrieren. Du kannst später in der Oberfläche auf dem Display auch das Programm „xinput_calibrator“ nutzen um diesen Vorgang zu wiederholen.

Du solltest dies immer machen, wenn du das Display neu ausrichtest.

Nun kannst du das Display Final in der Oberfläche einstellen. Als Ergebnis bekommst du die Config File 99-calibration.conf

FRAMEBUFFER=/dev/fb1 startx &
DISPLAY=:0.0 xinput_calibrator

raspberry_pi_calibrated raspberry_pi_xinput

 

Dieses könnt ihr dann mit „sudo nano /etc/X11/xorg.conf.d/99-calibration.conf“ ersetzen und neustarten.

Herzlichen Glückwunsch! Du bist nun fertig mit der Konfig.

Hier ein paar Extras :

Viel Spass dabei 😉

Sven

Falls euch dieser Beitrag gefallen hat, würde ich mich über ein kleines Trinkgeld per Mining oder direkt an die Senden-Wallet freuen ;)
Falls du noch einen PiMiner für deine Mining Hardware benötigst, schreibe mich einfach an, ich kann dir gerne was zusammen basteln ;)

BTC: 1LvETe6uTP64hK3UR3oSAdzT5ZjLnttqBm
DEM: NWtFftChrx28mvYgqfopmDejxoHiZmAK7u
– BTC/Mining –
Pool: stratum.mining.eligius.st:3334
User: 122aH1XgqetWJyfrdNcxd3kJY7DNaSrvMK_Spende
Pass: egalo

18 Comments

Add a Comment

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.