Raspberry als Schaltzentrale (Teil 2)

Letzte Woche habe ich berichtet, dass ich meinen Raspberry zum Schalten von Funksteckdosen gebracht habe.
Nun ist es allerdings wenig komfortabel, wenn ich mich jedesmal via SSH auf dem Raspi anmelden muss, um dann mittels

sudo ./send 00100 2 1

eine Steckdose zu schalten.

Ich brauchte eine Weblösung und hatte auch mal wieder so richtig Lust, etwas selber zu frickeln.

Der dafür notwendige Webserver „nginx“ war dank der kompakten Ausführungen von kaffeeringe.de schnell eingerichtet.

Damit mein PHP-Skript (bzw. der Webserver) den send-Befehl als root ausführen darf, musste dies noch in der Datei /etc/sudoers eingetragen werden.
Dafür gibt es den Befehl „visudo“, also

sudo visudo

und dort „www-data ALL=NOPASSWD: /home/pi/rcswitch-pi/send“ eingetragen.

Beim PHP-Skript habe ich mich ein wenig von der RPi.RCSwitchWebapp inspirieren lassen und dabei ganz nebenbei Bootstrap kennengelernt. Somit für mich schon ein Gewinn.

Mir war es dann auch wichtig, dass ich auch alle Funksteckdosen in einem Raum zusammen an- bzw. ausschalten kann.

Das sieht dann bei mir so aus:

rcswitchpi-web_Screenshot


Ich stelle das Skript mal so zur Verfügung, wohl wissend, dass jeder ernsthafte Programmierer die Hände über dem Kopf zusammenschlagen wird, wenn er meinen Code sieht. Also nicht meckern, bei mir läuft es und mehr will ich gerade nicht 🙂

Download und Nutzung auf eigeen Gefahr: rcswitchpi-web

Die einzelnen Funksteckdosen habe ich in der config.php in ein Array gelegt. Der send-Befehl muss in dem Verzeichnis /home/pi/rcswitch-pi liegen, ansonsten muss der Pfad in der index.php geändert werden (und auch in der /etc/sudoers).

 

 

Share Button

06. März 2014 von Dirk
Kategorien: Frickeln, Sysadmin | Kommentare deaktiviert für Raspberry als Schaltzentrale (Teil 2)