photOS – Digitaler Bilderrahmen

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.

Die Hardware

Für mein Vorhaben verwende ich einen ungenutzen Raspberry Pi 2. Damit der kleine Pi auch eine WLAN-Schnittstelle bekommt, habe ich eine USB-WLAN-Adapter von EDIMAX angeschlossen. Ein neueres Pi-Modell ist für einen solchen Einsatz meines Erachtens zu überdemensioniert.
Als Display verwende ich aktuelle noch einen Monitor, der ggf. durch ein etwas schöners Display ersetzt werden soll.


Gib mir gerne einen Kaffee ☕ aus!

Wenn dir meine Beiträge gefallen und geholfen haben, dann kannst du mir gerne einen Kaffee ☕ ausgeben.

PayPal Logo


liberapay.com/strobelstefan.org


Kaffee via Bitcoin

bc1qfuz93hw2fhdvfuxf6mlxlk8zdadvnktppkzqzj


photOS

photOS ist ein kleines Linux-Betriebssystem, dass auf Buildroot basiert.
( ➡ https://buildroot.uclibc.org/) Buildroot ist ein Betriebssystem, das als Embedded System konzipiert wurde

Der Funktionsumfang der Distribution ist deshalb recht eingeschränkt und Änderungen lassen sich auch nicht so einfach vornehmen, wie man das von einer normalen Linux-Distribution gewöhnt ist. Das Ganze dient der Sicherheit und Stabilität, was bei einem System, das irgendwo steht und nicht regelmäßig gewartet wird doch sehr sinnvoll ist.

Der Entwickler von motionEyeOS hat auch thingOS entwickelt, welches als Basis für motionEyeOS und photOS dient. thingOS wiederum basiert auf Buildroot, wohinter eine sehr große Entwicklergemeinschaft steht.
motioneyeos – Überwachungskamera mit dem Raspberry ganz einfach

Das Projekt photOS wird auf GitHub verwaltet, wie auch das dazugehörige Wiki.

Von der GitHub-Seite des Projekts lassen sich bereits fertige Images für die unterschiedlichen Raspberry Pis Varianten herunterladen und anschließend wie gewohnt auf die SD-Karte flashen. Mit einem der folgenden Tools ist das auch sehr schnell und unkompliziert erledigt.

Nach dem Flashen einfach die SD-Karte in den Raspberry Pi stecken, an das Netzwerk anschließen und mit Strom versorgen. Bereits nach kurzer Zeit kann auf den kleinen PC per SSH oder über einen Webbrowser zugegriffen werden.

Die Anmeldung an photOS funktioniert nur mit einer funktionierenden Netzwerkverbindung. Dabei ist es egal, ob es eine LAN- oder WLAN-Verbindung ist, Hauptsache es wird eine aufgebaut. Findet der kleine Pi kein Netzwerk, dann bekommt photOS "panik" und bleibt in einer Boot-Schleife hängen, bis ein solches verfügbar ist.

Standardpasswort ändern

Wenn eine Netzwerkverbindung hergestellt ist, dann bootet photOS ohne weiteres und man kann sich per SSH auf den Raspberry Pi aufschalten:

ssh root@photos-xxxxxxxx

Das Passwort ist leer und sollte deshalb sofort nach der ersten Anmeldung gesetzt werden. Dazu gibt man den Befehl ein und vergibt ein neues Passwort für den Benutzer root

passwd

Changing password for root
New password:
Retype password:

Weboberfläche aufrufen

Mit einem Webbrowser kann man auch schon eine Verbindung herstellen. Über die WebUI lassen sich die meisten Funktionen des digitalen Bilderrahmens bequem einstellen. Zu beachten ist, dass jeder Benutzer im Netzwerk den Bilderrahmen steuern kann, da keine Anmeldung an der WebUI notwendig ist.

http://photos-xxxxxxxx
photOS - WebUI
photOS – WebUI

Zeitzone einstellen

Im ersten Schritt ist die Zeitzone einzustellen, was sehr einfach über das Menü im Webbrowser erledigt werden kann.

photOS - Zeiteinstellungen
photOS – Zeiteinstellungen

Display-Einstellungen

Im Reiter "Display" lassen sich einige Einstellungen zur Anzeige der Slideshow vornehmen.

photOS - Display-Einstellungen
photOS – Display-Einstellungen
  • Automatic Display Activation – Einstellungsmöglichkeit, ab wann das angeschlossene Display an und wieder ausgeschaltet werden soll
  • Slideshow Delay – Wie lange wird ein Bild dargestellt, bis das nöchste angezeigt wird

Webdav-Konfiguration

In diesem Reiter werden die Anmeldeinformationen am Webdav-Server, also z.B. der Nextcloud, eingetragen. Es sollte dabei darauf geachtet werden, dass für photOS eigener Benutzer angelegt wird, der auch nur auf den Ordner mit den Bilder Zugriff hat.

Nextcloud - Benutzer anlegen
Nextcloud – Benutzer anlegen
Nextcloud - Benutzer anlegen
Nextcloud – Benutzer anlegen

Nachdem der neue Benutzer photos vom Admin der Nextcloud angelegt wurde, muss er sich anmelden und ein neues App-Passwort vergeben. Das Benutzerpasswort ist in der WebUI von photOS aus Sicherheitsgründen nicht zu verwenden. Je nach den Sicherheitseinstellungen wird eine Zwei-Faktor-Authentifizierung gefordert.

Nextcloud - App-Passwort
Nextcloud – App-Passwort

Noch ein paar Worte zum neuen Nextcloud-Benutzer für photOS

  • Es sollte ein eigener Benutzer für den digitalen Bilderrahmen sein
  • Ein eigenes App-Passwort sollte pro Bilderrahmen erstellt werden
  • Der Benutzer sollte nur Leserechte auf den Bilderornder haben
  • Über die Nextcloud-Sicherheitseinstellungen sollten die Teilen-Rechte für den photOS-Benutzer so weit wie möglich eingeschränkt werden
  • je nach Anforderung kann auch ein Ablaufdatum auf die Freigabe gelegt werden. Nach deren Ablauf verliert der photOS-Benutzer das Leserecht auf den Ordner und die Bilder werden nicht mehr angezeigt

Die Bilder sollten nach Möglichkeit von einem anderen Benutzer auf die Nextcloud kopiert und dort dann in den richtigen Ordner verschoben bzw. kopiert werden und zum Schluß dem Benutzer photOS freigegeben werden.

Die WebDav-Adresse des Foto-Ordners lässt sich sehr einfach abfragen.

Nextcloud - Ordner freigeben
Nextcloud – Ordner freigeben

Nachdem die Anmeldedaten gespeichert wurden, sollte nach einer kurzen Ladedauer auf dem angeschlossenen Display die Slideshow starten.

photOS - Webdav-Einstellungen
photOS – Webdav-Einstellungen
photOS - Webdav-Einstellungen
photOS – Webdav-Einstellungen
photOS - Webdav-Einstellungen
photOS – Webdav-Einstellungen

 

Die ganze Konfiguration von photOS ist damit abgeschlossen und der Bilderrahmen ist einsatzbereit.

WLAN-Verbindung konfigurieren

Die WLAN-Verbindung lässt sich nicht über die Konsole (CLI) konfigurieren. Die Konfigurationsdatei wpa_supplicant.conf ist Dabei zu editieren. Der Versuch die Datei in /etc/wpa_supplicant.conf zu editieren, bleibt erfolglos. Die Datei ist nur read only.

wpa_supplicant.conf ist in einem anderen Verzeichnis zu finden. Der Inhalt ist entsprechen zu ändern und einzufügen.

nano /data/etc/wpa_supplicant.conf

Der Inhalt der Datei ist:

update_config=1
 ctrl_interface=/var/run/wpa_supplicant
 network={
   scan_ssid=1
   ssid="SSID"
   psk="WLAN-PASSWORT"
 }

Die beiden Werte sind durch die WLAN-Zugangsdaten zu ersetzen

  • SSID = WLAN-Name
  • PSK = WLAN-Passwort

Nach dem Abspeichern der Datei ist photOS neu zustarten.

reboot

Nach dem Neustart lässt sich sehr einfach prüfen, ob eine WLAN-Verbindung hergestellt wurde. Dazu wird der Befehl ip aeingegeben.

Wird bei der Schnittstelle wlan0 eine IP-Adresse angezeigt, funktioniert die WLAN-Verbindung und der Bilderrahmen kann ohne LAN-Verbindung genutzt werden.

photOS Konfigurationsdateien

Die synchronisierten Bilder werden lokal auf dem Raspberry Pi abgespeichert und von dort abgespielt. Die Dateien finden sich im Verzeichnis:

/data/photoframe/images_local/

Die Konfigurationsdatei von photOS ist die Datei photoframe.conf im Verzeichnis /data/photoframe/conf/. Dort wird z.B. eingestellt, ob Video wiedergegeben werden sollen, Bilder in zufälliger Reihenfolge agespielt werden oder der Bildname mit ausgegeben werden soll.

Im gleichen Verzeichnis befindet sich auch die Datei webdav.conf, in der die Zugangsdaten zur Nextcloud gespeichert werden.

In der Datei filelist.txt werden die Bilder und Dateien gelistet, die von photOS abgespielt werden.

Über init.d können einzelne Funktionen des digitalen Bilderrahmens gestartet oder gestoppt werden. Die Liste lässt sich einfach einsehen mit

ls /etc/init.d/

Die Synchronisation von neuen Inhalten wird z.B. mit dem Befehl initiiert:

/usr/bin/photoframe.sh sync
/etc/init.d/S80photoframe restart

Der Sync wird dabei über ein Bash Skript im Verzeichnis /usr/bin gesteuert.
Es bietet die folgenden Optionen

Usage: /usr/bin/photoframe.sh {start|stop|restart|sync|display on/off}

Weitere Hilfe gibt es im offiziellen Wiki ➡ https://github.com/avanc/photOS/wiki/FAQ

Der Bilderrahmen

Wenn ein separates Display extra für den digitalen Bilderrahmen beschafft wird, dann sollte das auch ansprechend in Szene gesetzt werden. Der Bilderrahmen ist schließlich der Eyecatcher. Ein paar Inspirationen finden sich auf den folgenden Seiten.

Bei der Gestaltung sind der Kreativität keine Grenzen gesetzt und das ist das wahrscheinlich aufwendigere bei dem ganzen Projekt als die technische Umsetzung mit dem Raspberry Pi selbst 🙂

Nextcloud Installation auf einem Raspberry Pi

Wer eine eigene Nextcloud auf einem Raspberry Pi oder auf einem Synology installieren möchte, findet hier im Blog Die Anleitungen dafür:

Issue – Videos werden nicht abgespielt

In der aktuellen Version von photOS scheint es ein Problem mit dem Abspielen von Videos zu geben. Ein Issue wurde dazu bereits eröffnet. Hoffentlich wird es noch vor Weihnachten behoben 🙂
:arrow. https://github.com/avanc/photOS/issues/56


Gib mir gerne einen Kaffee ☕ aus!

Wenn dir meine Beiträge gefallen und geholfen haben, dann kannst du mir gerne einen Kaffee ☕ ausgeben.

PayPal Logo


liberapay.com/strobelstefan.org


Kaffee via Bitcoin

bc1qfuz93hw2fhdvfuxf6mlxlk8zdadvnktppkzqzj


Foto: Bermix Studio on Unsplash

Weitere verwendete Fotos im Nextcloud Ordner (Abbildung: Nextcloud – Ordner freigeben)

  • Photo by Vishnu Mohanan on Unsplash
  • Photo by digitalarbyter 🙂 on Unsplash
  • Photo by Ricardo Gomez Angel on Unsplash
  • Photo by Jonas Verstuyft on Unsplash

16 Antworten auf „photOS – Digitaler Bilderrahmen“

  1. Hallo Stefan,

    per Zufall bin ich über Deinen Post zu photOS gestolpert. Es freut mich, dass Dir mein Projekt gut gefallen hat und Du so einen detaillierten Beitrag dazu geschrieben hast. Das senkt nochmal die Einstiegshürde.
    Und deinen aller ersten Schritt nach der Installation (Standardpasswort ändern) habe ich gleich mal zum Anlass genommen und ein Ticket dazu erstellt: https://github.com/avanc/photOS/issues/69
    Ich weiß noch nicht genau, wie ich das Thema angehen soll. Aber Du hast auf jeden Fall Recht, dass das System out-of-the-box sicher sein sollte…

    Und noch eine ganz kleine Anmerkung: Der Entwickler von motionEyeOS hat auch thingOS entwickelt, welches als Basis für motionEyeOS und photOS dient. thingOS wiederum basiert auf Buildroot, wohinter eine sehr große Entwicklergemeinschaft steht.

    Schöne Grüße und einen guten Rutsch,
    Sven

  2. Hallo Stefan,

    super Anleitung soweit ich bis jetzt komme ich hänge gerade bei der Anmeldung per SSH er möchte gleich ein Passwort von mir bei der erst Anmeldung ich finde das Standard Passwort nirgends kannst du mir hier weiter helfen?

    Liebe Grüße

    Hannes

  3. Hallo Stefan,

    Danke für die schnelle Antwort.

    Habe gestern Nacht noch meine Fehler gefunden ich habe mich nicht als Root angemeldet. ?

    Mit freundlichen Grüßen

    Hannes

  4. Hallo Stefan,

    mein Pi hat den gesit aufgegeben jetzt habe ich einen neuen eingerichtet.

    Ber er zeigt mir keine bilder an und sagt immer wider das er keine zugriff auf das verzeichniss bekommt.

    hast du eine Idee woran das liegen könnte ?

    Lg

    Hannes

  5. Ja habe es so gemacht wie du es oben beschrieben hast mit der WebDave und mit dem App Passwort. Ich bin am überlegen ob es ein irgend einer Einstellung in Nextcloud liegt wo ich gerade nicht drauf komme.

    1. Kannst du mal die genaue Fehlermeldung nennen, die angezeigt wird?
      Wenn Du Dich mit Benutzername und Passwort normal bei Nextcloud anmelden kannst, sollte es auch bei photOS auch klappen. 2-Faktor-Authorisierung hast Du nicht aktiv?

      1. Es ist nicht Aktiv.
        Ich habe den Bilderahmen im Nextcloud als User Konfiguriert.
        Fehler wo auf dem Display angezeigt wird ist Mounting https://www………de/remote.php/dav/files/…. failed: mount.dvfs: https://www………de/remote.php/dav/files/…. is already mounted on /data/photoframe/images_webdav

  6. Hm, ‚already mounted‘ ist komisch. Sind es viele Bilder, die heruntergeladen werden müssen? Bekommst Du das gleiche Ergebnis nach einem Reboot?
    Wenn Du per SSH auf den Raspi kommst, kannst Du mal unter /data/photoframe/… schauen, ob schon Bilder heruntergeladen wurden…

    1. ich habe den user für den Bilderrahmen als Admin user Gemacht und jetzt geht es!
      Aber danke für deine Hilfe.
      Ich habe es Letztes mal erst Später zu dem User gemacht deswegen ist es mir nicht aufgefallen das er beim Letzen mal auch keine neuen Bilder herunter geladen hat es sind viele Bilder in dem Ordner.

      Danke Nochmal für deine Unterstützung.

      Mfg

      Hannes

  7. Hallo Stefan,
    eine tolle Anleitung, leider komme ich an einem Punkt nicht weiter.
    Wenn ich in photOS die Webdav Daten eingebe, erhalte ich anschließend auf dem Monitor die Meldung:
    mount.davfs: the server certificate does not match the server name

    Woran kann das liegen?

    Grüße
    Christian

      1. Hallo Stefan,
        den Nextcloud habe ich frisch aufgesetzt, ein Zertifikat habe ich nicht eingebunden. Eine Meldung im Browser erhalte ich nicht, da kann ich mich ganz normal verbinden. Ich bin auch etwas ratlos, mit Nextcloud kenne ich mich bisher nicht aus.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert