Raspberrry PI Raspberry PI

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. 

Raspberry PI für Openhab 2 mit HabPannel

Wer Openhab 2 mit HabPanel kennt, möchte veilleicht in seiner Wohnung ohne PC, Handy oder Tablet die Steuerung über Openhab bedienen. Das funktioniert erstaunlich gut. Wie das aussehen kann, zeigen ein paar Bilder. Das letzte Bild zeigt den Verbrauch. Bei ca 2,5 Watt wenn der Bildschirm aus ist. Bei ca. 5 Watt wenn der Bildschirm an ist.
Die Kosten für das ganze betragen ca. 140,- € (PI Bundle ca. 50,-€ , Gehäuse ca. 20,-€ und Display ca. 70,-€)

  • raspberry-7zoll-1-vorne

Simple Image Gallery Extended

Wie man das installiert, wird grundsätzlich hier beschrieben.

Raspberry als Musikplayer

Der Raspberry Pi wird mit Mopidy 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. Hat man ein Touch Display für den PI, gehts auch anders. Das will ich hier in diesem Beitrag beschreiben. Ziel ist es, das nach einschalten des Gerätes, eine Oberfläche automatische startet, die eine Eingabe bzw. Steuerung über das Display mit den Fingern ermöglicht.

Stand 2018 (Multiroom)

Mittlerweile bin ich von Mopidy runter und setze squeezbox/squeeszligh ein. In Kombination mit dem NAS System von Synologie, wo der Squeezebox Server läuft, wird aus den Raspberry´s mit squeezelight ein einfacher Mediaplayer der Daten/Inhalte, die auf dem Server bereitgestellt werden. Der große Vorteil von Squeezebox/squeezelight ist die Multiroomfuntion. Auf den Apple Geräten habe ich Peng als App und bin super zufrieden.

Hier die Mopidy Installation 

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.

echo "# Mopidy APT archive" | sudo tee --append /etc/apt/sources.list.d/mopidy.list
echo "deb http://apt.mopidy.com/ stable main contrib non-free" | sudo tee --append /etc/apt/sources.list.d/mopidy.list
echo "deb-src http://apt.mopidy.com/ stable main contrib non-free" | sudo tee --append /etc/apt/sources.list.d/mopidy.list
wget -q -O /etc/apt/sources.list.d/mopidy.list https://apt.mopidy.com/jessie.list
wget -q -O - https://apt.mopidy.com/mopidy.gpg | sudo apt-key add -
apt-get update
apt-get upgrade
reboot
apt-get install -y mopidy mopidy-alsamixer mopidy-scrobbler mopidy-spotify
apt-get install -y mopidy-spotify-tunigo mopidy-local-sqlite
apt-cache search mopidy
cd /etc/mopidy/
cp logging.conf logging.conf-orig
cp mopidy.conf mopidy.conf-orig
cp /dsnas/backups/mobile.fritz.box/etc/mopidy/mopidy.conf .
cp /dsnas/backups/mobile.fritz.box/etc/mopidy/logging.conf .
/etc/init.d/mopidy start
apt-get install -y mopidy-alsamixer
apt-get install -y python-pip
pip install Mopidy-Iris
service mopidy restart
systemctl enable mopidy
cd /var/lib/mopidy/playlists/
cp /dsnas/backups/mobile.fritz.box/var/lib/mopidy/playlists/* .
cp /dsnas/backups/mobile.fritz.box/etc/motd /etc/.
sudo mopidyctl local scan
pip install Mopidy-Moped
cd /usr/share/mopidy/
cp mopidy-cmd mopidy-cmd-orig
service mopidy restart
sudo usermod -a -G video $(whoami)

sudo echo "mopidy ALL=NOPASSWD: /usr/local/lib/python2.7/dist-packages/mopidy_iris/system.sh" >> /etc/sudoers

Mopidy sollte jetzt laufen nach einem reboot. Was jetzt noch fehlt ist das Mopidy automatisch etwas spielt. Dazu habe ich ein kleines Script gebaut welches eine Playlist lädt und startet.

root@mobile:~ # cat /usr/local/bin/autoplay.sh

#!/bin/bash
echo "START AUTOPLAY"
sleep 15
echo "RUN AUTOPLAY"
mpc load autoplay
mpc volume 50
mpc play
echo "ENDE AUTOPLAY"
exit 0

Sicherlich gibt es auch andere Methoden. Damit das Script geladen wird, muss noch vor dem "exit 0" in der Datei /etc/rc.local ein laden des autoplay.sh Script eingebaut:

root@mobile:~ # more /etc/rc.local 

#!/bin/sh -e

#

# rc.local

#

# This script is executed at the end of each multiuser runlevel.

# Make sure that the script will "exit 0" on success or any other

# value on error.

#

# In order to enable or disable this script just change the execution

# bits.

#

# By default this script does nothing.

 

# Print the IP address

_IP=$(hostname -I) || true

if [ "$_IP" ]; then

  printf "My IP address is %s\n" "$_IP"

fi

/usr/local/bin/autoplay.sh &

exit 0

Das war es für Mopidy.

Joomla templates by a4joomla