Hallo liebe Community,
da bei mir gerade ein Pi ohne Verwendung in der Ecke liegt, habe ich mir Gedanken gemacht, was ich mit diesem anstellen könnte.
Eine Idee, die dabei aufkam war einen Wecker zu basteln. OK grundsätzlich wohl nicht sonderlich schwer umzusetzen, stoße ich aber ohne sonderliche Programmierkenntnisse schnell an meine Grenzen.
Da ich von einem Ambilight Projekt noch einige LED's übrig habe (WS 2801 LED Stripes), würde ich diese gerne in meinem Wecker verwenden.
Nun nach einiger Recherche habe ich festgestellt, dass immer wieder die Möglichkeit mit Cronjobs in Zusammenhang mit "Weckern" aufkommt.
Mit Hilfe von Cronjobs ist es natürlich relativ einfach bestimmte Dinge (bspw. Scripts) zu bestimmten Zeiten auszuführen.
Ich habe das Ganze auch erfolgreich zum Laufen gebracht, aber ehrlich gesagt gefällt mir diese Möglichkeit nicht besonders, da alleine schon das Ändern von Weckzeiten zu umständlich ist. Zudem leidet der Woman Acceptance Factor auch sehr darunter
Also dachte ich mir, dass für das Einstellen der Weckzeit eine GUI her muss, bevorzugt ein kleines Webinterface.
Als ich beim Stöbern dann auf den Eintrag von julian92 gestoßen bin, (Thread) versuchte ich mal mein Glück.
OK, also schnell drei neue Menüpunkte (Wecker an, Weckzeit stellen und Wecker aus) erstellt. Für "Wecker ein" und "Wecker aus" jeweils ein Script geschrieben, und für Weckzeit stellen ein paar Codeschnippsel (PHP, Javascript) zusammengesucht, indem ich auf einer Webseite quasi die Weckzeit einstelle und diese in eine Textdatei schreibe.
"Wecker an" startet ein kleines Python Programm, welches die erstellte Textdatei lädt, jede Minute die Zeit in der Date mit der Systemzeit vergleicht, und bei identischen Zeiten zur Zeit ein fest definiertes Lied abspielt.
"Wecker aus" killt dann dieses Python Programm.
Funktioniert erstmal alles soweit. (wobei man bei geänderten Weckzeiten das Python Programm einmal beenden muss, und neustarten muss, damit die neue Zeiten eingelesen werden, aber OK)
Nun wollte ich aber weitergehen, und auch einen "Sonnenaufgang-Effekt" mit den bereits vorhandenen LED Stripes verwirklichen (Effekt sollte relativ einfach über die Hyperion Effect Engine zu bewerstelligen sein), zudem sollte der Weckton frei einstellbar sein und da frage ich mich ob es nicht elegantere Möglichkeiten gibt und ob ich den falschen Ansatz gewählt habe.
Evtl. gibt es schon ein Webinterface um zeitgesteuert Scripts ausführen zu lassen oder Ähnliches.
So, also sorry für den langen Text, aber ich wollte beschreiben, was und wie ich bis jetzt gemacht habe...
_____________________________________
Hier nochmal die Kurzfassung:
Wecker mit...
- Weckzeiten über Webinterface einstellen
- Sonnenaufgang Effekt (vorhandene LED WS2801 Stripes)
- Weckton einstellbar
später
- Internetradio Funktion
- Display
- Tasten (Hardwarebuttons)
- Snoozefunktion
- Wecken auf bestimmte Tage begrenzen
- Feiertage beachten
- uvm.
Zur Info: Ich weiß, dass es durchaus ähnliche Projekte gibt (Bspw: Projekt), sich aber diese nicht ohne weiteres verwenden lassen können.
Ich lasse mich aber gerne eines Besseren belehren.
Vielen Dank fürs Lesen und evtl. habe ich ja den ein oder anderen mit der Idee angesprochen, der bereit wäre hier mitzuhelfen!