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
- photOS
- Standardpasswort ändern
- Weboberfläche aufrufen
- Zeitzone einstellen
- Display-Einstellungen
- Webdav-Konfiguration
- WLAN-Verbindung konfigurieren
- photOS Konfigurationsdateien
- Der Bilderrahmen
- Nextcloud Installation auf einem Raspberry Pi
- Issue – Videos werden nicht abgespielt
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.
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

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

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

- 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.


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.

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.

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



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 a
eingegeben.
Wird bei der Schnittstelle wlan0
eine IP-Adresse angezeigt, funktioniert die WLAN-Verbindung und der Bilderrahmen kann ohne LAN-Verbindung genutzt werden.
- In den FAQs wird die Konfiguration beschrieben: https://github.com/avanc/photOS/wiki/FAQ
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.
- https://klomp.de/index.php/95-digitaler-fotorahmen-bilderrahmen-photoframe-selber-bauen-diy-raspberry-pi-web-internet
- https://blog.klomp.eu/posts/digitaler-bilderrahmen/
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.
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

ist absolut technik-begeistert und großer Fan von Linux und Open Source. Raspberry Pi Bastler der ersten Stunde und nach wie vor begeistert von dem kleinen Stück Hardware, auf dem er tolle Projekte umsetzt. Teilt hier seine Erfahrungen mit Nextcloud, Pi-hole, YubiKey, Synology und openmediavault und anderen spannenden IT-Themen. Nutzt Markdown und LaTeX zum Dokumentieren seiner Projekte und Gitea zum Versionieren. Sitzt vor einem 49“ Monitor, nutzt Windows und MacOS zum Arbeiten, Linux auf seinen Servern und virtuellen Maschinen und hört dabei Spotify und MP3s und Radio-Streams über seinen RadioPi.
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
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
Hallo Hannes,
das Passwort ist evtl. leer, also gar keines gesetzt.
Du musst nach der ersten Anmeldung ein Passwort vergeben.
https://strobelstefan.de/2021/11/19/photos-digitaler-bilderrahmen/#standardpasswort-%C3%A4ndern
Viel Erfolg!
Grüße
Stefan
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
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
Hallo Hannes,
sind deine Nextcloud-Zugangsdaten korrekt?
Viele Grüße
Stefan
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.
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?
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
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…
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
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
Hallo Christian,
verwendest du ein Zertifikat für deine Nextcloud?
Bekommst du evtl. auch eine solche ähnliche Meldung in deinem Webbrowser?
Grüße
Stefan
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.
Hallo Christian,
schau mal in der Installationsanleitung für die Nextcloud, ob du evtl. noch einen Hinweis findest
➡ https://codeberg.org/strobelstefan.org/nextcloud-installation-configuration
Grüße
Stefan
Und noch ein Hinweis, wie photOS selbstsignierte Zertifikate vertrauen kann:
https://github.com/avanc/photOS/wiki/Self-signed-certificate
Grüße
Sven