Blog von Michael Wyraz

Digitaler Bilderrahmen selbst gebaut

Auf der Suche nach einem Weihnachtsgeschenk für die Großeltern ist meine Frau auf die Cloud-Variante von digitalen Bilderrahmen gestoßen. Diese erlauben es uns, vom Handy aus Bilder an die verschenkten Rahmen zu senden, die dann automatisch übernommen und angezeigt werden.

Leider hat sich nach kurzer Recherche herausgestellt, dass uns die verfügbaren Produkte nur bedingt zusagen. Angefangen vom Optischen (viele Rahmen sind aus Kunststoff) bis zur Software (ich kaufe grundsätzlich keine Geräte, deren Funktion vollständig an der Cloud des Herstellers hängt).

Da ich noch einige Tablets habe, die ich irgendwann mal verkaufen wollte, lag die Idee nahe, eines davon zum Bilderrahmen umzufunktionieren.

Die Hardware

Als Tablet kommt ein Huawei Mediapad M5 Lite 10 zum Einsatz. Dieses hat, wie der Name schon sagt, ein großes 10-Zoll-Display. Da auf dem Gerät noch ein Android 8 läuft und es auch kein brauchbares Custom-ROM dafür gibt, erfüllt es kaum noch aktuelle Anforderungen und kann auf Kleinanzeigen.de für 30-40€ erworben oder verkauft werden.

“Digital” und “Bild” habe ich schomal, also fehlt noch “Rahmen” zum digitalen Bilderrahmen. Für den Holzrahmen habe ich 30x5mm “Tapetenleisten” aus dem Baumarkt verwendet. Diese sind schön flach, haben aber genügend Breite, um den Rand vom Tablet und die noch umzusetzende Halterung zu verdecken. Die vier Seitenteile habe ich auf der Kappsäge auf 45 Grad gesägt. Das Innenmaß ist die sichtbare Fläche des Tablet-Bildes.

Mit Holzleim werden die Teile stirnseitig verklebt
Mit Holzleim werden die Teile stirnseitig verklebt

Die Halterung wollte ich erst auch aus Holz bauen, habe mich dann aber für einen 3D-Druck entschieden. Mit Hilfe meines automatisierten Workflows zum CAD-Design habe ich mit Hilfe von Github Copilot ein passendes Modell erstellt, welches sich mit wenigen Parametern an das Tablet anpassen lässt und anschließend mit schwarzem PLA gedruckt wurde.

Vorsicht, frisch gedruckt!
Vorsicht, frisch gedruckt!

Zur Verleimung der unterschiedlichen Materialien habe ich mich lange belesen und letztlich für Sekundenkleber mit passendem Aktivator entschieden. Der Kleber kommt auf das gedruckte Teil, der Aktivator auf’s Holz oder das PLA-Gegenstück. 10 Sekunden zusammenpressen, fertig. Bei meinem Teststück konnte ich die Verbindung anschließend nicht mehr zerstörungsfrei trennen, es hält wirklich bombenfest.

Klebt in Sekunden, geht nicht mehr auseinander
Klebt in Sekunden, geht nicht mehr auseinander

Auch die Füße lassen sich problemlos ankleben
Auch die Füße lassen sich problemlos ankleben

Überraschender Weise passt am Ende alles perfekt zusammen und sogar das Tablet in den Rahmen.

Genau so habe ich es mir vorgestellt
Genau so habe ich es mir vorgestellt

Die Software

Eigentlich hatte ich mir gedacht: Bilderrahmen sind bestimmt absoluter Standard und es gibt hundert tolle kostenlose Apps dafür. Leider weit gefehlt. Die Hersteller-Cloud tausche ich hier gegen Dienste wie Google-Drive oder Dropbox. Nichts, wo ich unbedingt private Fotos hochladen möchte. Sämtliche “kostenlosen” Apps entpuppen sich als “Nagware” und nerven mit Kaufaufforderungen.

Daher entschließe ich mich, eine eigene App zu entwickeln. Ich habe keine Ahnung von Android-Entwicklung, aber ich kann Software spezifizieren und das Ergebnis prüfen. In die Rolle des Coders schlüpft Github Copilot und einige Stunden später habe ich mein “Minimum Viable Product” am Start. Ein paar Iterationen später bin ich soweit, dass ich der Meinung bin, das Ergebnis als Open-Source veröffentlichen zu können: Open Photo Frame, eine App, welche Fotos von einem “Teilen”-Link aus meiner NextCloud synchronisiert, tagsüber anzeigt und das Tablet nachts in den Tiefschlaf versetzt.

Als Gimmick gewichtet der Zufalls-Algorithmus neuere Bilder höher, sodass neue Uploads auch bei tausenden von Bildern eine gute Sichtbarkeit haben sollten.

Fazit

Sekundenkleber mit Aktivator ist toll und KI-gestützte Workflows sind praxistauglich.

Die Großeltern werden sich hoffentlich freuen. Und falls nicht, habe ich zumindest ein neues Open-Source-Projekt am Start.