Von Watterott ist ein kleines 2.83″ Farb-Touch-Display erhältlich, das einfachen auf den GPIO-Port eines Raspberry Pi’s aufgesteckt werden kann. Das Display verwendet weder den HDMI-Port noch muss es extra programmiert werden – es verwendet den Raspberry PI Framebuffer und kann daher die Konsole oder auch X darstellen. Die X-Öberfläche lässt sich auch mit der Touch-Oberfläche bedienen.
Technische Daten des RPi Display von Watterott
- Revision: 1.0
- Größe: 2.83″ (43.2 x 57.6mm)
- Typ: TFT Transmission
- Auflösung: 320×240 Pixel
- Farben: 262 K
- Hintergrundbeleuchtung: 4 LED (dimmbar, PWM)
- Touch Controller: TI ADS7846
- Schnittstelle: SPI (Touch Controller + Display)
- Stromversorgung: 3.3-5V (über GPIO)
- Abmessungen: 50.2 x 69.3mm
- Preis: ca 30,- EUR (RPi-Display bei Amazon.de)
Webseite: http://www.watterott.com/de/RPi-Display
GIT-Repository: http://github.com/watterott/RPi-Display
Display-Anschlüsse
Raspberry Pi | RPi Display | |
GPIO 7 | ADS-CS | CE1 |
GPIO 8 | LCD-CS | CE0 |
GPIO 9 | MISO | MISO |
GPIO 10 | MOSI | MOSI |
GPIO 11 | SCK | SCK |
GPIO 18 | LCD-LED | |
GPIO 22 | LDR | optionaler Schalter / LDR (VT93N1) |
GPIO 23 | LCD-RST | |
GPIO 24 | LCD-DC | Jumper IO24-RS |
GPIO 25 | ADS-IRQ |
Installation des RPi-Display am Raspberry Pi
FBTFT Treiber Framebuffer installieren
sudo wget https://raw.github.com/Hexxeh/rpi-update/master/rpi-update -O /usr/bin/rpi-update sudo chmod +x /usr/bin/rpi-update
Raspberry SPI Blacklist bearbeiten und folgende Zeile mit # auskommentieren:
sudo nano /etc/modprobe.d/raspi-blacklist.conf #blacklist spi-bcm270
Kernel Update installieren und anschließend den Raspberry Pi neu starten:
sudo REPO_URI=https://github.com/notro/rpi-firmware rpi-update sudo shutdown -r now
Framebuffer des RPi-Displays mit Modus 8-Bit SPI aktivieren (ab RPi-Display v1.1 für ca 20 FPS, <10% CP)
sudo modprobe fbtft dma sudo modprobe fbtft_device custom name=fb_ili9341 speed=32000000 gpios=reset:23,dc:24,led:18 bgr=1 rotate=270
Zur permanenten Aktivierung des 8-Bit SPI Modus für das RPi-Display muss in /etc/modules folgendes eintragen:
fbtft dma fbtft_device custom name=fb_ili9341 speed=32000000 gpios=reset:23,dc:24,led:18 bgr=1 rotate=270
oder FBTFT SD-Card Image kernel argument: (alles in einer Zeile!)
fbtft.dma fbtft_device.custom fbtft_device.name=fb_ili9341 fbtft_device.speed=32000000 fbtft_device.gpios=reset:23,dc:24,led:18 fbtft_device.bgr=1 fbtft_device.rotate=270
Überprüfung der Display-Treiber mit folgendem Befehl:
lsmod
Touchpanel Tools installieren:
sudo apt-get install xinput evtest
Touchpanel aktivieren mit sudo modprobe:
sudo modprobe ads7846_device model=7846 cs=1 gpio_pendown=25 speed=2000000 keep_vref_on=1 swap_xy=1 pressure_max=255 x_plate_ohms=60 x_min=250 x_max=3780 y_min=160 y_max=3930
Um das Touchpanel auch nach einem Neustart aktiviert zu haben, muss folgende Zeile in /etc/modules eingetragen werden:
ads7846_device model=7846 cs=1 gpio_pendown=25 speed=2000000 keep_vref_on=1 swap_xy=1 pressure_max=255 x_plate_ohms=60 x_min=250 x_max=3780 y_min=160 y_max=3930
Überprüfung des Treibers wieder mit:
lsmod
Aktivierung der Console des aus das RPi-Display:
con2fbmap 1 1
Zur dauerhaften Aktivierung des RPi-Displays mussfolgender Kernel-Parameter in die Datei /boot/cmdline.txt am Ende hinzugefügt werden (alles in eine Zeile!)
sudo nano /boot/cmdline.txt fbcon=map:10 fbcon=font:ProFont6x11
Optional: Framebuffer-Copy (fbcp)
sudo apt-get install x11-xserver-utils https://github.com/notro/fbtft-spindle/wiki/FBTFT-image#fbcp---framebuffer-copy
sudo apt-get install cmake git clone https://github.com/tasanakorn/rpi-fbcp cd rpi-fbcp/ mkdir build cd build/ cmake .. make sudo install fbcp /usr/local/bin/fbcp
Quelle: http://blog.iteadstudio.com/raspberry-pi-2-8-tft-add-on/
Beipiele
X am RPi-Display starten mit folgendem Command:
FRAMEBUFFER=/dev/fb1 startx &
nachdem X gestartet ist Touchpanel aktivieren:
DISPLAY=:0 xinput --set-prop 'ADS7846 Touchscreen' 'Evdev Axis Inversion' 1 0
Bild auf RPi-Display anzeigen
sudo apt-get install fim FRAMEBUFFER=/dev/fb1 fim -a *.png
Video am RPi-Display abspielen
sudo apt-get install mplayer mplayer -vo fbdev2:/dev/fb1 -vf scale=320:-3 video_320x180.mp4
Stromsparmodus des Displays verhindern
sudo nano /etc/rc.local # turn off console blanking setterm -blank 0
sudo nano /etc/kbd/config
# screen blanking timeout. monitor remains on, but the screen is cleared to # range: 0-60 min (0==never) kernels I've looked at default to 10 minutes. # (see linux/drivers/char/console.c) BLANK_TIME=0 # Powerdown time. The console will go to DPMS Off mode POWERDOWN_TIME # minutes _after_ blanking. (POWERDOWN_TIME + BLANK_TIME after the last input) POWERDOWN_TIME=0
sudo nano /etc/lightdm/lightdm.conf
[SeatDefaults] xserver-command=X -s 0 dpms
sudo nano /etc/X11/xinit/xinitrc
xset s off # don't activate screensaver xset -dpms # disable DPMS (Energy Star) features. xset s noblank # don't blank the video device
sudo nano /etc/xdg/lxsession/LXDE/autostart
@xset s off @xset -dpms @xset s noblank
sudo nano /etc/xdg/lxsession/LXDE/autostart
consoleblank=0