Lichtwecker mit dem PI

  • Guten Tag zusammen,


    Ich weiß nicht ob mein Thema hier richtig ist. Es geht um die Sprache Python und php.


    Ich habe bei mir auf dem PI einen „Lichtwecker“ laufen. Ich kann über einen Webserver diesen Wecker einstellen max. 7 Wecker. Die eingegebenen Daten werden in einer XML-Datei gespeichert. Auf dem PI läuft jede Minute ein Python-Skript(2.7) das ermittelt ob die aktuelle Uhrzeit der Weck Zeit entspricht. Wenn dem so ist wird geguckt in welchem Weckmodus (XML-Datei) geweckt werden soll. Und dann dieser Modus gestartet. Es wird nun eine RGB LED Strip entsprechend des Modus gesteuert.


    Das läuft bei mir auch alles sauber. Aber ich glaube nicht, dass die XML-Datei die Perfekte Lösung ist. Ich habe dem Webserver mit html und php Programmiert.


    Es gibt doch bestimmt eine bessere Lösung um dies umzusetzen. Ich würde auch das gesamte Projekt neu beginnen. Ich habe dies damals mit XML gemacht weil ich mich mit dieser Thematik etwas befassen wollte. Aber jetzt wo ich diese Funktion aktiv nutze ärgere ich mich immer ein wenig darüber, dass es bestimmt eine bessere Lösung gibt.


    Die Bedienung soll weiterhin über einen WebServer erfolgen. Ich würde gerne für jeden Weck Modus ein eigenes Python Skript haben. Damit ich diese Übersichtlicher gestalten und bearbeiten kann. Ich spiele auch mit dem Gedanken Ton nach zu rüsten.


    Meine Überlegung ist nun das benutzen von Cronjobs.
    Ich habe hier nun einen Link gefunden wo beschrieben wird wie man ein Cronjob über php einrichtet. http://www.raspberrypi-tutoria…-erstelleneinrichten.html
    Aber wie genau das Funktioniert habe ich noch nicht verstanden da ich diese Funktionen gerne umsetzen würde:
    - Wecker deaktivieren
    - Wecker einmalig oder widerholt ausführen
    - Welche Wochentage.


    Also muss ich auch in der Lage sein einen Cronjob zu löschen. Und die eingegebenen Daten möchte ich auch weiterhin auf dem Webserver angezeigt bekommen.


    Ich stelle mir den Ablauf ganz grob so vor:
    1. Ich gehe auf die Seite. Wenn bereits Wecker hinterlegt sind werden diese mir angezeigt.
    2. ich gebe die Daten für einen Wecker ein.
    3. Jetzt muss ein eventuell bestehender Cronjob gelöscht und durch einen neuen ersetzt werden.
    4. Die eingegebenen Daten müssen gespeichert werden.
    5. Der Cronjob startet ein Python Script.
    6. Dieses greift auf die gespeicherten Daten zu und entscheiden was als nächstes geschieht.(eventuell starten eines weiteren Python Skripts über import.) (PID in tmp-Datei speichrn)
    7. Beenden des Weckers über den Webserver Beenden von PID. (eventuelle Schlummer Funktion einbinden; noch keine Idee)


    Oder gib es noch weitere Lösungsansätze?

  • Wg. 7 Einträgen MySQL - ich fasse es nicht ;-))


    Ich verwalte bei meinem Wecker auch ca. 7 Weck-Ereignisse und ich benutze zum Speichern eine einfache Text-Datei. Bei mir steuert das Python-Hauptprogamm die ganze Weckersteuerung. Mit crontabs war mir das alles zu kompliziert: Snooze, Alarme abbrechen, etc....

    Edited once, last by WernerPI ().

  • Was ist denn an XML falsch?
    Im Grunde genommen kann man das ja auch als Datenbank bezeichnen und für die Menge an Daten die du ablegen und verwalten musst, reicht das doch vollkommen aus.
    PHP bietet da ja auch gute Werkzeuge für soweit ich weiss.