==============
== morph.sh ==
==============
Einfach mal was mit Holz machen.

Project Log: der Müllreminder

de tinkering

Hallo 2023!

Ja, auf diesem Blog war in letzter Zeit wenig los - nicht, dass es irgendjemanden interessiert, aber ich dachte mir, ich dokumentiere hier mal ein paar kleinere Bastelprojekte, damit es nicht so tot aussieht.

Den Anfang macht der Müllreminder! Inspiration war ein Post auf Mastodon, wo jemand aus einem Arduino und einem Display eine kleine Box gebastelt hat, die einen dran erinnert, die Mülltonne rauszustellen. Das wollte ich auch haben, habe es aber der Einfachheit halber “in Software” gebaut und auf einem alten Smartphone deployt, das ich noch rumliegen hatte. Das hängt jetzt im Flur und zeigt an, wenn am nächsten Tag der Müll abgeholt wird.

Ein Screenshot vom Müllreminder

Das Smartphone war für sich eigentlich auch ein Bastelprojekt; es ist ein Samsung Galaxy S5 neo, das ich kaputt geschenkt gekriegt habe. Als Fingerübung für meine Reparaturskills habe ich ein neues Display eingebaut und LineageOS installiert, damit ist es für den Zweck super geeignet. Bonuspunkte kriegt es für das OLED-Display; damit leuchten nur die Pixel, die es müssen, und es ballert nicht eine ganze Display-Hintergrundbeleuchtung durch den Flur.

Softwareseitig habe ich das - für mich ganz neu - in clientseitigem Javascript umgesetzt. Der Code (einschließlich HTML und CSS) ist unglaublich hässlich und wahrscheinlich ginge das alles deutlich besser, für meine privaten Bastelprojekte ist mir das aber egal :) die Zeit, in der ich den Code verschönern könnte, verbringe ich lieber mit einem neuen Projekt (oder einem Spazierganz draußen). Unter https://dump.morph.sh/muelltime/ ist immer der aktuelle Status zu sehen. Das Script liest eine Json-Datei mit den Abholterminen und zeigt jeweils am Tag vorher an, welche Mülltonne raus muss. Und das Smartphone zeigt diese Seite einfach nur an und lädt sie periodisch neu.

Wenn mir mal langweilig ist, gieße ich das ganze mal in eine Android-App, die mir die Seite in einer WebView (heißt das so?) anzeigt und dazu auch noch die Displayhelligkeit regeln kann - dann muss es nicht ständig leuchten, wenn nichts relevantes draufsteht.

Badabing badaboom

Und zack, funktioniert. Es war schön, wieder mal ein völlig unperfektionistisches Bastelprojekt zu machen, aus dem am Ende auch noch etwas halbwegs nützliches rausgefallen ist. Ich hoffe, davon gibt es 2023 mehr! :)