Wecker

  • Inspiriert von einem gestrigen Thread habe ich zugegebenermaßen zuerst Google bemüht um eine Vorlage zu finden, aber da ich nichts vernünftiges gefunden habe, setzte ich mich kurzerhand hin und programmierte selbst einen Webbased Wecker :daumendreh2:


    Auf dem Raspberry Pi wird ein Webserver (apache2, nginx o.ä.) benötigt. Es bedarf nur eine einzige PHP Datei für diesen Wecker.
    Diese Datei wird über den Browser (Desktop oder Smartphone) aufgerufen. Danach kann eine Weckzeit bestimmt werden. Die Weckzeiten werden in eine Textdatei gespeichert. Es können quasi unendlich viele Wecker erstellt werden.
    Die selbe PHP Datei trägt man auch entsprechend in Crontab ein sodass es jede Minute ausgeführt wird.. Die Textdatei wird also jede Minute verarbeitet und prüft ob ein Alarm anliegt. Wurde ein Alarm ausgelöst wird dieser aus der Textdatei gelöscht.


    Das PHP Script funktioniert soweit schon, es muss nur noch die jeweilige Aktion eingefügt werden - also das was passieren soll wenn ein Alarm ansteht: Zeile 30 ... In dem Abschnitt wo das Kommentar // ALART! :) steht. Ich wollte eigentlich noch einbauen zwischen Funksteckdose, MP3 oder Internetradio wählen zu können... Aktuell kann auch nur eine Zeit für heute oder morgen genutzt werden. Ein Datum ist aber bereits vorbereitet (um auch Weckzeiten weiter in der Zukunft einstellen zu können) Oben rechts wird auch die aktuelle Uhrzeit angezeigt (Javascript, läuft also Clientseitig und belastet somit nicht den Pi) In den beiden Eingabefeldern für Stunde und Minute sind am rechten Rand Richtungsgeber um die Zahl hoch oder runter zu stellen. Für Stunde ist das Maximum 23 und für Minute 59. Man muss zumindest Stunde angeben, wird Minute nicht angegeben verwendet das Script 00. Stay Tune.


    Installation:

    /var/www/html/wecker/index.php


    sudo crontab -e

    Code
    * * * * * /usr/bin/php /var/www/html/wecker/index.php cron >/dev/null 2>&1


    Aber jetzt erst mal :sleepy:

  • Also mein Python Script Weckt mich per Sprachausgabe, mit einem Motivations Spruch und dem Wetter. Danach kommt ein MP3 Lied.
    Vielleicht kannst du ja ein paar Anregungen mitnehmen. :D :denker:

  • Hallo,


    habe Dein Weckerskript in die von Dir beschriebene Datei, ins angegebene Verzeichnis abgelegt. Auch mit chmod +x versehen. Sudo crontab -e usw. - alles gemacht. Aber wenn ich eine Weckzeit einstellen will, dann erhalte ich die Fehlermeldung:


    Was mir nicht kler ist -> wo wird die txt.weckzeiten abgelegt?
    [code=php]
    Warning: file_put_contents(txt.weckerzeiten): failed to open stream: Permission denied in /var/www/html/wecker/index.php on line 150
    [/php]
    Da ich für mein Projekt diese Vorgangsweise nutzen möchte wäre es mir wichtig, dass alles funktioniert.
    Was habe ich falsch gemacht? :s

    Wer einen Schreibfehler findet darf ihn behalten!
    Adler-Suchsystem ist auch nicht ganz einfach zu handhaben...


    In einem wankenden Schiff fällt um, wer stillesteht, nicht wer sich bewegt.
    (Ludwig Börne)

    Edited once, last by janzeitler ().

  • Dann passen die Zugriffsrechte nicht. Die PHP Datei muss dem Benutzer www-data gehören.


    Code
    sudo chown -R www-data:www-data /var/www/html/*


    Recursive für alle Dateien und Unterverzeichnisse.


    Somit wird dann die WeckZeitenDatei auch mit den richtigen Rechten versehen, oder wenn diese noch nicht existiert, der Besitzer der php Datei angepasst.



    chmod war übrigens nicht notwendig da die Datei direkt an den Interpreter übergeben wird (/usr/bin/php) aber auch keinen Shebang besitzt.

  • Genau das war es!!!
    Die weckzeiten.txt wird erstellt - aber es passiert nichts um die eingestellte Uhrzeit... :s


    Sorry, daß ich solästig bin

    Wer einen Schreibfehler findet darf ihn behalten!
    Adler-Suchsystem ist auch nicht ganz einfach zu handhaben...


    In einem wankenden Schiff fällt um, wer stillesteht, nicht wer sich bewegt.
    (Ludwig Börne)

  • Kannst du mal ein Beispiel Zeile schreiben bei uns soll eine URL über mpc Play 1 angespielt werden würde uns sehr weiter helfen