Weihnachten steht vor der Tür und das Suchen nach Geschenken ist wieder angesagt. Nachdem ich einen ungenutzten Raspberry Pi 2 rumliegen habe, wollte ich dieses Jahr einen digitalen Bilderrahmen basteln, der an einen x-beliebigen externen Monitor oder auch Fernseher angeschlossen werden kann.
Die Bilder sollen dabei von meiner Nextcloud abgerufen werden. Das bietet den Vorteil, dass der Bilderrahmen aus der Ferne schnell und einfach mit neuem Inhalt bespielt werden kann. Die einzige Anforderung ist eine halbwegs stabile Internetverbindung per LAN oder WLAN, um die Bilder von der Nextcloud per WebDav abrufen zu können.
Auf GitHub bin ich auf das Projekt photOS gestoßen, dass genau diese Anforderungen erfüllt.
Neben Bildern werden auch Videos unststützt, genauer gesagt werden die Dateitypen abgespielt jpeg, png, mp4, mov.
Der Raspberry Pi bietet sich ja aufgrund seiner geringen Abmessungen und aufgrund seines geringen Stromverbrauchs hervorragend als digitaler Bilderrahmen an.
Mein Ziel bei der ganzen Sache war es, den Raspberry Pi via HDMI-Kabel an meinen Fernseher anzuschließen und dann soll automatisch eine Slideshow ausgesuchter Bilder dort ablaufen.
Diashow mit pqiv auf dem Raspberry Pi
Im nachfolgenden beschreibe ich zwei unterschiedliche Varianten,
Bilder für die Diashow sind auf dem Raspberry Pi gespeichert
Bilder für die Diashow sind auf einem zentralen Server gespeichert
Grundkonfiguration
Bevor man gezwungen ist, sich für eine der beiden Varianten zu entscheiden, muss man das Bildprogramm installieren. Ich habe als Bildbetrachtungstool pqiv genommen, welches klein und schlank ist und meiner Meinung nach wunderbar auf dem Pi läuft.
Die Installation von pqiv ist ein wenig aufwendiger, da man das Tool selbst kompilieren muss. Es ist zwar auch eine Version in den Paketquellen enthalten, aber diese scheint nicht reibungslos zu laufen und Fehler zu erzeugen. Deshalb installieren wir hier mal schnell pqiv:
Erstmal entfernen wir das evtl. bereits installierte Programm vom Pi
sudo apt-get remove pqiv
Nun noch zwei Pakete installieren, die wir für das weitere Vorgehen benötigen
sudo apt-get install git libgtk2.0-dev
Nun laden wir pqiv von github herunter. Es wird automatisch ein Verzeichnis im Home-Verzeichnis mit dem Namen pqiv angelegt
Nun müsst ihr mit einem Editor die Datei pqiv.c im Verzeichnis /home/pi/pqiv öffnen. Dort sucht ihr nach dem Eintrag „gchar option“; und ersetzt das durch „gint option“;.
Danach gebt ihr noch den Befehl ein und fertig
sudo make all install
Wenn kein Fehler auftaucht, dann ist pqiv auf eurem Pi installiert und ihr könnt es jetzt schon starten. Der Befehl dazu ist
Nachdem nun das Bildbetrachtungstool installiert wurde, konfigurieren wir im nächsten Schritt den Autostart von pqiv.
Zuerst ist zu prüfen, ob der Pi beim booten automatisch den XServer mitstartet. Geht auf die Konsole und gebt dort den Befehl ein
sudo raspi-config
sudo raspi-configXServer – Autostart
XServer – Autostart
Nachdem ihr das alles Konfiguriert habt, startet der Raspberry Pi neu und danach sollte die grafische Oberfläche starten.
Noch sind wir mit der Grundkonfiguration noch nicht fertig. Der Raspberry Pi schaltet nach einer definierten Zeit den Bildschirm ab, was wir ja bei unserer Diashow nicht wollen. Die Bilder sollen ja immer auf dem Bildschirm zu sehen sein.
Im Internet gibt es einige Anleitungen zu diesem Thema, die ich auch fast alle ausprobiert habe. Das Einzige, was bei mir funktioniert hat ist folgendes.
Ich habe Datei /etc/lightdm/lightdm.conf editiert und dort einen Eintrag in der Kategorie [SeatDefaults] eingetragen.
xserver-command=X -s 0 -dpms
Führt auch danach einen Neustart durch, damit die Konfiguration wirksam wird.
/etc/lightdm/lightdm.conf
Variante 1: Bilder für die Diashow sind auf dem Raspberry Pi gespeichert
Nachdem nun pqiv auf den Pi installiert wurde, geht es darum das Tool automatisch zu starten.
Bevor wir mit der Autostart-Konfiguration weitermachen, ist es erforderlich einen Ordner zu erstellen, in dem die Bilder für die Diashow abgespeichert werden. Ich habe zu diesem Zweck einen Ordner im Home-Verzeichnis erstellt.
mkdir /home/pi/Bilder
Legt nun eine Datei im einem beliebigen Verzeichnis an, wo ihr die Startoptionen für pqiv eintragen könnt. Ich habe die Datei im Verzeichnis /home/pi/.config/autostart angelegt.
Erzeugen einer neuen Datei
cd /home/pi/.config/autostart
touch start_pqiv.sh
Tragt die folgende Zeile
/usr/bin/pqiv -sf /home/pi/Bilder
in der neuen Datei ein. Ich habe das mit dem Editor nano auf der Konsole erledigt.
Auch hier habe ich die neue Datei mit dem Editor nano bearbeitet:
pgiv – Autostart
Zum Abschluss müssen wir noch die beiden neuen Datein ausführbar machen. Das geht ebenfalls auf der Konsole mit dem Befehl
chmod u+x pqiv.desktop start_pqiv.sh
Startet euren Raspberry Pi neu und pqiv mit Diashow sollte automatisch gestartet werden.
Diashow mit pqiv auf dem Raspberry Pi
Variante 2:Bilder für die Diashow sind auf einem zentralen Server gespeichert
Die zweite Variante unseres digitalen Bilderrahmens unterscheidet sich lediglich im Speicherort, wo wir die Bilder für die Diashow hinterlegen. Die Variante 2 könnt ihr nutzen, wenn ihr mehrere Raspberry Pis als digitale Bilderrahmen verwendet möchtet, wo entweder jeweils die gleichen oder unterschiedliche Bilder abgespielt werden. Da es bei mehreren Geräten wahrscheinlich aufwendig ist, die Bilder auf die Pis zu schieben, ist es konfortabler die Bilder auf einem zentralen Server zu hinterlegen. Von dort können die Raspberrys die Bilder abrufen.
Für den Dateitransfer nutzen wir NFS, da es ziemlich einfach zu konfigurieren ist und wir die NFS-Freigaben bei den Bilderrahmen als Ordner einbinden können. Im Groben und Ganzen soll das Konstrukt dann so aussehen:
Mehrere verteilte Bilderrahmen
Damit wir weitermachen können, benötigen wir einen Linux-PC, den wir als zentrale Bildablage im Netzwerk nutzen können. Auf diesem PC müssen wir erstmal einen NFS-Server installieren und die Freigabe konfigurieren.
Gib mir gerne einen Kaffee ☕ aus!
Wenn dir meine Beiträge gefallen und geholfen haben, dann kannst du mir gerne einen Kaffee ☕ ausgeben.
bc1qfuz93hw2fhdvfuxf6mlxlk8zdadvnktppkzqzj
Im nachfolgenden nehmen wir an, dass der Server die IP-Adresse 192.168.2.120 und der Raspberry Pi die IP-Adresse 192.168.2.13 hat.
Installation des NFS-Servers:
nfs-kernel-server
Freigabe des Bilderordners auf dem NFS-Servers:
Die Freigaben werden in der Datei /etc/exports eingetragen.
/home/benutzername/Bilder 192.168.2.13(ro,async)
Die Zeile besagt folgendes
/home/benutzername/Bilder = Pfad zum Bilderordner
192.168.2.13 = IP-Adresse des Raspberry Pis
(ro,async) = Der Raspberry Pi erhält nur Leserechte auf den freigegebenen Ordner und es erfolgt ein asynchroner Datentransfer
Zum Schluss lassen wir die neue Konfiguration mit dem Befehl einlesen
sudo exportfs -ra
Wechselt nun auf den Raspberry Pi. Zuerst müssen wir dort das Paket nfs-common installieren:
sudo aptitude install nfs-common
Nach der Installation schauen wir, ob wir auf dem raspberry Pi die NFS-Freigabe sehen:
showmount -e 192.168.2.120
Seht ihr nun die Freigabe, gehts weiter.
Auf dem Raspberry Pi möchten wir die Freigabe als neuen Ordner einbinden, der automatisch bei jedem Neustart eingebunden (=gemountet) wird.
Legt also einen neuen Ordner an
sudo mkdir /mnt/nfs-freigabe
Danach könnt ihr prüfen, ob ihr die Freigabe auf dem Pi einbinden könnt:
sudo mount 192.168.2.120:/home/benutzername/Bilder
Prüft nun, ob ihr die Bilder die auf dem Server gespeichert wurden, im neuen Ordner auf dem Raspberry seht
cd /mnt/nfs-freigabe
ls
Das Einbinden der NFS-Freigabe soll nun bei jedem Start des Raspberry Pis automatisch erfolgen. Ihr müsst dazu einen Eintrag in der Datei /etc/fstab vornehmen.
Wenn ihr dort nun eine Liste eurer Bilder seht, hat alles funktioniert und ihr könnt mit der Konfiguration von pqiv weitermachen. Wie ihr euch sicherlich denken könnt, müsst ihr im Gegensatz zur Variante 1 nur den Pfad in der Datei start_pqiv.sh umbiegen:
/usr/bin/pqiv -sf /home/pi/Bilder
Nach einem Neustart der Raspberry Pi sollte die pqiv automatisch starten und die Bilder aus der NFS-Freigabe laden.
Da die Bilder immer vom Server geladen werden, könnt ihr zu jederzeit eine neue Diashow erstellen, ohne das die Betrachter des digitalen Bilderrahmes etwas davon mitbekommen.
Weiteres
Was ihr beim Einsatz eines Bilderrahmen mit dem Raspberry Pis noch beachten sollt:
pqiv erzeugt unter Umständen eine hohe CPU-Last, was evtl. weitere Dienste/Programme auf dem Raspberry negativ beeinflusst:
CPU – während des Bilderwechsels
CPU – nach Bilderwechsel
Der ständige Abruf der Bilder vom zentralen Server durch die Option -w kann beim Einsatz mehrere digitaler Bilderrahmen u.U. eine hohe Netzlast erzeugen und dadurch andere Dienste im Netzwerk beeinflussen. Als Abhilfe könnt ihr den ständigen Abruf der Bilder durch pqiv abschalten. Alternativ könnt ihr auch die Variante 1 verwenden und die Bilder vom Server mittels eines Cron Jobs in definierten Abständen auf den Raspberry kopieren lassen. Lokal könnt ihr ja ohne weiteres die Option -w verwenden, da so keine Last auf dem Netzwerk erzeugt wird.
Cookie-Zustimmung verwalten
Wir verwenden Cookies, um unsere Website und unseren Service zu optimieren.
Funktional
Immer aktiv
Die technische Speicherung oder der Zugang ist unbedingt erforderlich für den rechtmäßigen Zweck, die Nutzung eines bestimmten Dienstes zu ermöglichen, der vom Teilnehmer oder Nutzer ausdrücklich gewünscht wird, oder für den alleinigen Zweck, die Übertragung einer Nachricht über ein elektronisches Kommunikationsnetz durchzuführen.
Vorlieben
Die technische Speicherung oder der Zugriff ist für den rechtmäßigen Zweck der Speicherung von Präferenzen erforderlich, die nicht vom Abonnenten oder Benutzer angefordert wurden.
Statistiken
Die technische Speicherung oder der Zugriff, der ausschließlich zu statistischen Zwecken erfolgt.Die technische Speicherung oder der Zugriff, der ausschließlich zu anonymen statistischen Zwecken verwendet wird. Ohne eine Vorladung, die freiwillige Zustimmung deines Internetdienstanbieters oder zusätzliche Aufzeichnungen von Dritten können die zu diesem Zweck gespeicherten oder abgerufenen Informationen allein in der Regel nicht dazu verwendet werden, dich zu identifizieren.
Marketing
Die technische Speicherung oder der Zugriff ist erforderlich, um Nutzerprofile zu erstellen, um Werbung zu versenden oder um den Nutzer auf einer Website oder über mehrere Websites hinweg zu ähnlichen Marketingzwecken zu verfolgen.