Raspberry mit 7Zoll Display im Kioskmodus Starten

Der Raspberry Pi kann viele Funktionen erfüllen. Er wird mit Mopidy oder squeezelight zum Musikplayer. Internet Radio, Spotify oder auch lokale MP3 Files können so bequem abgespielt werden. Die Steuerung kann z.B. per Handy Browser oder auch per App (MPD Client) erfolgen.

Im Smarthome kann er mit OpenHAB zur Steuerung im Haus benutzt werden.

 

Hat man ein Touch Display für den PI, kann die Steuerung direkt über das Touchdisplay erfolgen.Wie man das einrichtet, will ich hier in diesem Beitrag beschreiben. Ziel ist es, das nach einschalten des Gerätes, eine Oberfläche automatische startet, welche eine Eingabe bzw. Steuerung über das Display mit den Fingern ermöglicht.

Zunächst lade ich das Betriebssystem NOOBS_v2.8.2 light. Da wird dann nur die "lite" Version über das Internet installiert. Also sowenig wie nötig an Software installiert.

Da nach dem ersten Starten wird SSH aktiviert, die Einstellung für die Sprache und sowas wie "set -o vi" ins /etc/profile geschrieben. Also etwas was mir ein wenig die Arbeit erleichter.

raspi-config

Dann gehts los und ich arbeite die folgenden Befehlen und Einstellungen ab.
vi /etc/X11/xorg.conf.d/99-calibration.conf

root@mobile:~ # cat /usr/share/X11/xorg.conf.d/99-calibration.conf 

# current calibration values: min_x=0, max_x=65535 and min_y=0, max_y=65535

Section "InputClass"

Identifier "calibration"

MatchProduct "FT5406 memory based driver"

Option "MinX" "-218"

Option "MaxX" "65753"

Option "MinY" "1991"

Option "MaxY" "66889"

Option "SwapXY" "0" # unless it was already set to 1

Option "InvertX" "0"  # unless it was already set

Option "InvertY" "0"  # unless it was already set

EndSection

Jetzt wird die grafische Oberfläche installiert

apt-get install -y xinit xorg lsb-release xserver-xorg-legacy chromium-browser xserver-xorg xserver-xorg-video-fbdev lxde-core lxterminal lxappearance lightdm xserver-xorg-video-fbdev

sudo sed -i "s/allowed_users=console/allowed_users=anybody/" /etc/X11/Xwrapper.config
sudo wget https://goo.gl/NEqFRp -O /opt/start-gui
chmod +x /opt/start-gui
sudo wget https://goo.gl/bTB4Vv -O /lib/systemd/system/start-gui.service

Der Start der Oberfläche nach dem Booten wird durch folgenden Aufruf erledigt:

root@mobile:~ # cat /opt/start-gui

#!/bin/bash

# Aufruf des Musikplayer Mopidy

#/usr/bin/xinit /usr/bin/chromium-browser --start-maximized --incognito --single-process --process-per-site --disable-sync-preferences --no-startup-window --kiosk --touch-events --disable-touch-drag-drop --enable-touchview --enable-pinch --window-size=800,480 --window-position=0,0 --disable-session-crashed-bubble --disable-infobars --no-first-run --app=http://localhost:6680/musicbox_webclient/index.html#home --nocursor

# Aufruf openhab2/habpanel

/usr/bin/xinit /usr/bin/chromium-browser --start-maximized --touch-events --disable-touch-drag-drop --enable-touchview --enable-pinch --window-size=800,480 --window-position=0,0 --app=http://openhab.fritz.box:8080/habpanel/index.html#/view/Home --nocurser --disable-infobars

Die Konfig Datei für das Stück Software für den Autostart sieht wo aus:

root@mobile:~ # cat /lib/systemd/system/start-gui.service

[Unit]

Description=Start Chromium GUI

After=nginx.service php5-fpm.service mpd.service

[Service]

Type=simple

ExecStart=/opt/start-gui

User=pi

[Install]

WantedBy=multi-user.target

Den Service muss man dann noch einrichten:
systemctl enable start-gui

Jetzt wird noch

# Install X11 LXDE

# https://www.therryvanneerven.nl/how-to-install-raspbian-jessie-on-an-old-raspberry-pi.html

# Keyboard

# http://ozzmaker.com/virtual-keyboard-for-the-raspberry-pi/

apt-get install -y xinput* 

# Touchscreen

# https://rataks.com/blog/raspberry-pi-touchscreen-in-moode-with-chromium.html

# 7" Display howto:

https://maker-tutorials.com/raspberry-pi-touchscreen-installieren-und-anschliessen-tipps-tricks/

https://raspberry.tips/raspberrypi-tutorials/raspberry-pi-touch-display-installieren-und-einrichten

sudo apt-get install florence

apt-get install x11-xserver-utils unclutter

Dann muss noch die Autostart Datei für die graphische Oberfläche angepasst werden.

root@mobile:~ # cat /etc/xdg/lxsession/LXDE/autostart

@xset s off

@xset -dpms

@xset s noblank

@chromium --kiosk --incognito

Für den Autostart wird u.a. ein Script benötigt, welches nach Login die grafische Obfläche start. Dabei muss dann wiederum ein "Programm" gestartet werden, welches für die Steuerung genutzt werden kann. Was gibt es besseres als einen Browser (chromium-browser) der auf eine WebSite (mopidy) zugreift. Hierzu das folgende Scipt /opt/start-gui

#!/bin/bash

/usr/bin/xinit /usr/bin/chromium-browser --start-maximized --incognito --single-process --process-per-site --disable-sync-preferences --no-startup-window --kiosk --touch-events --disable-touch-drag-drop --enable-touchview --enable-pinch --window-size=800,480 --windowposition=0,0 --disable-session-crashed-bubble --disable-infobars --no-first-run --app=http://localhost:6680/musicbox_webclient/index.html#home --nocursor

Mit dem Befehl raspi-conf wird die Konfiguration des Systems so eingestellt, das automatisch der Benutzer "pi" sich anmeldet. 

Joomla templates by a4joomla