CronJobs per HTML und PHP steuern

Da der Raspberry Cronjobs ausführen kann, liegt der Gedanke nahe diese Funktion später in eine Website ein zu bauen welche die Hausautomatisierung regelt. Da werden Cronjobs plötzlich sehr wichtig. So liegt der Gedanke

Raspberry_pi-logo

.... !!! In Überarbeitung !!

nahe eine Website auf zu stellen über der sich Cronjobs verwalten lassen und die später nahtlos in andere Projekte integriert werden kann. Das bedeutet die Site muss sowohl bestehende Aufgaben auslesen können als auch neue anlegen können. Zudem sollen andere Websites oder Befehle diese beneso nutzen können um neue Projekte einbinden zu können. Da dies das erste Umfangreiche Projekt wird sollte die Raspberry Schale mit den M&M’s bereit stehen.

Grundgerüst:

Unser Web-Server dient hier als Basis. Somit wird mit dem Apache eine neue Site in einem neuem Unterordner erstellt. Nennen wir diese htmlconjobs. Wir sollten uns überlegen wie die Site reagieren soll. Da PHP zum Einsatz kommt werden wir wohl Parameter für einen neuen Cronjob an die Site übermitteln müssen. Idealerweise per POST. In dem Fall dürfen allerdings keine falschen Zeichen Übermittelt werden. Da Werte in einer URL per ? und dem Zeichen & übermittelt werden, dürfen diese nicht vorkommen. Ein Beispiel: http://raspberry-ip/remote/htmlconjob.php?command=433switch&group=01101&switch=02&action=.
 

Die URL übergibt also Werte. Dabei wird die Übergabe mit einem ? eingleitet. Mit command wird der Name der ersten variable übergeben. Mit dem = wird der Wert dieser Variable übergeben. Das & leitet die nächste Variablenübergabe mit dem Wert ein. Die Sonderzeichen sind also feste Größen die wir nicht ändern können. Also sollten diese Zeichen nciht vorkommen. Unsere Webiste mit dem PHP Code darin kann also die Variablen auslesen und auf deren Werte reagieren. Mit der Variable command haben wir also gleich eine Möglichkeit geschaffen Befehle an unser PHP-Script zu senden. Für jeden dieser Befehle können wir nun einen Abschnitt in unserem Script erstellen das die weiteren Werte ausliest und darauf reagiert. Nun muss die PHP-Server-Engine am Ende nur Befehle an den Raspberry senden können. Dazu dient der Befehel exec(). Damit auch entsprechende Berechtigungen existieren um Befehle mit exec() ausführen zu können muss PHP selbst in der Lage sein Befehle als root ausführen zu können. Hier kommen wir an die Grenze der Sicherheitsstufen. Sobald diese Berechtigung erteilt wäre könnte  das ganze zu einem Sicherheitsrisiko werden. Es muss also zunächst eine Lösung her.

Website_Design_NetObjects_Fusion

Projekte rund um Elektronik, Server, Windows und mehr


zum Geschützen Bereich