Inhaltsverzeichnis

Digital Signage mit Raspberry Pi

Unter Digital Signage versteht man so viel wie eine Werbetafel die auf einem Digitalen Bildschirm/Monitor ausgegeben wird. Zur Kostengünstigen und Stromsparenden umsetzung genügt ein Monitor oder Fernseher sowie ein Raspberry Pi. Es gibt einige vorgefertigte Systeme jedoch auch eine einfache Lösung für den kleinen Rahmen.

In dem hier beschriebenen Fall ging es darum aus einem Fernseher einen Digitalen Bilderrahmen zu erstellen der im Hintergrund Musik abspielt.

Was wird benötigt?

Hardware:

Software:

Wissen

Erste Schritte

Ich setze für dieses Tutorial vorraus das Raspbian schon installiert wurde und ihr mit ssh mit eurem System verbunden seit. Nun möchten wir die benötigten Programme installieren.

sudo apt-get install feh moc unclutter

USB-Stick vorbereiten

Dieser Schritt ist nur notwendig wenn man die Daten über einen USB-Stick einbinden möchte. Hierzu erstellt man in der /etc/fstab einen Eintrag für den USB-Stick damit dieser immer an der selben stelle eingebunden wird. Zunächsteinmal müssen wir jedoch erst die UUID des USB-Stick in Erfahrung bringen. Dies geschieht mit hilfe des folgenden befehls:

sudo fdisk -l
sudo blkid

die UUID notieren und dann mit sudo vi /etc/fstab die fstab wie folgt Editieren:

.....
# USB-Stick einbinden
UUID=bbf85ecb-cc61-40ed-ba7b-d7b804ee845e   /media/Media   vfat   defaults   0   0

Scripte vorbereiten

#!/bin/bash

# Need Value USER for start as non Root
USER="pi"
MOUNT="/media/Media"

# Look for the USB stick and the Image folder
if [ -d "${MOUNT}/Bilder" ];
then
	find $MOUNT/Bilder | egrep '.jpg|.jpeg|.png' > /tmp/bilder.lst
	su -c "DISPLAY=:0 feh -r -z -Z -F -D 60 -f /tmp/bilder.lst &" $USER # optional -p for preload image to look about loadable image or not!
fi

# Look for the USB stick and the Musik folder
if [ -d "${MOUNT}/Musik" ];
then
	find $MOUNT/Musik | egrep '.mp3|.ogg|.flac|.mpc|.wma|.aac|.mp4|.wav|.opus' > /tmp/lst.m3u
	sleep 5
	su -c "mocp --server ; sleep 3 ; mocp -a /tmp/lst.m3u -p -o shuffle -o repeat" $USER
fi

# Hide Mouse after 1 second
unclutter

exit 0

Autostarts Vorbereiten

Mocp Server Starten

Um Mocp direkt aufrufen zu können muss der Server gestartet sein. Dies wird Automatisch beim Sytsemstart über einen init.d eintrag gelöst. Hierzu erstellt man folgende Datei unter /etc/init.d

/etc/init.d/moc

#! /bin/sh
### BEGIN INIT INFO
# Provides:		mocp --server
# Required-Start:	$local_fs
# Required-Stop:	$local_fs
# Default-Start:	2 3 4 5 
# Default-Stop:		0 1 6
# Sort-Description:	Starte mocp Server
# Description:		Mocp Server wird benoetigt für das /usr/local/bin/usbstick Script.
### END INIT INFO

# INIT script by www.calyrium.org
####################################
# Customize values for your needs: "User";

USER="pi"

######## Mocp Server start/stop/restart script ######

case "$1" in
	start)
		su $USER -c "mocp --server"
	;;
	stop) 
		su $USER -c "mocp --exit"
	;;
	restart)
		su $USER -c "mocp --exit ; sleep 1 ; mocp --server"
	;;
	*)
		echo "Usage: {start|stop|restart}" >&2
		exit1
	;;
esac
exit 0

Danach muss sie noch ausführbar gemacht werden:

sudo chmod 755 /etc/init.d/moc

Mittels update-rc.d moc defaults wird das Script nun in den Systemstart integriert.

Script Starten

Hierzu erstellen wir unter /etc/xdg/autostart die Datei usbstick.desktop mit folgendem Inhalt:

[Desktop Entry]
Name=Usbstick
Comment=Startet das Script /usr/local/bin/usbstick nach dem Start
Exec=sudo sh /usr/local/bin/usbstick &
Terminal=fales
Type=Script

Bildschirmschoner abschalten

Standartmäßig wird der Bildschirm nach einigen Minuten schwarz. Dies ist natürlich nicht Sinvoll wenn man darauf bilder anzeigen möchte. Hierzu bearbeitet man die Datei /etc/lightdm/lightdm.conf wie folgt:

[SeatDefaults]
xserver-command=X -s 0 -dpms

Sonstige Einstellungen

Auflösung

Um die Auflösung des Raspberry Pi auf 1920×1080 zu setzen muss der Overscan abgeschaltet werden. Dies erledigt man über die config.txt indem man die folgende Zeile einfügt:

disable_overscan=1

Todo

Quellen

1)
ein schlanker Bildbetrachter für die Konsole
2)
moc ist ein Ausgereifter Musikplayer für die Konsole
3)
ein kleines Tool um die Maus aus dem Bild zu schieben