Freitag, 25. Oktober 2013

funksteckdosen steuern


Eine nützliche Erweiterung des PIs ist die Verkabelung von einem Sende- und Empfangsmodul auf dem 433MHz-Band.  Diese können über die GPIO-Schnittstelle des RaspberryPI  genutzt werden. Dadurch lassen sich zum Beispiel Funksteckdosen ein- und ausschalten, was wie ich finde sehr nützlich für die Automatisierung ist. In Verbindung mit einem Webserver - welcher von außen erreichbar ist - lassen sich verschiedene Geräte mittels eines Smartphone von unterwegs steuern. Oder man schreibt sich Cronjobs wodurch man Tätigkeiten automatisieren kann, wie zum Beispiel das anschalten der Kaffee-Maschine frühs um 6 :) Besser geht es doch nicht!!!

Was wird benötigt:

  • Funkmodule zum Senden und Empfangen. Ich verwende diese hier: LINK
  • Ein paar Kabel zum Verbinden
  • Funksteckdosen. Hierbei gibt es viele auf dem Markt. Der Großteil wird von der späteren Software auch unterstützt. Wer sicher gehen will, kann HIER nachschauen. Für die erstmalige  Einrichtung ist ein Set mit Fernbedienung zu empfehlen, da diese zwingend für die Einrichtung erforderlich ist.


Kommen wir nun Einrichtung:

  • Zu Beginn verkabelt man die Funkmodule mit dem PI wie folgt:

  • Als Zweites installiert man die pilight-Bibliothek. Diese dient zur einfachen Verwendung der Signalübertragung. Die Protokolle der Steckdosen sind ebenfalls bereits enthalten. Für die aktuellste Installationsanleitung verweise ich einfach mal auf die Seite der Entwickler: LINK
  • Nun ist die Konfiguration an sich schon fertig :)
Funksteckdosen steuern:

Um die Funksteckdose zu steuern, werden über diese noch eine Informationen benötigt. Hier kommt die Fernbedienung ins Spiel. Hierfür startet man - sofern noch nicht geschehen - den pilight-Daemon mit dem Befehl:
sudo pilight-daemon start

Als nächstes lesen wir die Fernbedienung aus indem wir das folgende Programm ausführen:

sudo pilight-receive

Nun werden alle Signale, welche das Funkmodul empfängt, angezeigt. Nun hält man die Fernbedienung an das Empfangsmodul und drückt die Taste On-Taste der Dose A. Es sollte nun etwas wie der folgende Code auf dem Display erscheinen:

 {
        "code": {
                "systemcode": 23,
                "unitcode": 1,
                "state": "on"
        },
        "origin": "receiver",
        "protocol": "sartano"
}

Dies ist das Signal der Fernbedienung logischerweise. Hier noch etwas Erklärung dazu:
  •  system-code : Dies ist der PIN, welchen man sowohl in den Steckdosen als auch in der Fernbedienung einstellt.
  • unitcode: Dies ist die Nummer der Steckdose, welche man ebenfalls selber vorher festgelegt hat.
  • state: welchen Status die Steckdose annehmen soll. ( On --> an, off -->  logisch :D )
  • origin: welches Gerät, soll das Signal empfangen
  • protocol: Das Protokoll, welches für die Kodierung verwendet wurde. 
Dies sind alle Informationen die wir nun brauchen, um die Steckdosen zu steuern. Zum Senden des Signals nutzen wir den Befehl pilight-send. Mit den verschiedenen Argumenten kann jede Steckdose angesprochen werden. Ein Beispiel zur besseren Erklärung.

sudo pilight-send -p elro -s 20 -u 1 -t
  • Mit dem Attribut "-p" wird das Protokoll der Funksteckdose definiert. Eine Liste über die verschiedenen Protokolle erhält man, wenn man einfach mal "pilight-send -p" ausführt.
  • Mit "-s" übergibt man eingestellten PIN
  • Mit "-u" übergibt man die Nummer der Steckdose
  • Mit dem Attribut "-t" schaltet man eine Steckdose an. Zum Ausschalten verwendet man das Attribut "-f"
Und das war auch schon alles.

Ich habe mit auf meinen Webserver eine Seite erstellt, welche verschiedene Buttons listet. Je nach Button wird dann ein bestimmter "pilight-send" ausgeführt. Hierfür musste ich noch dem User "www-data" administrative Rechte zum Ausführen von pilight-send erteilen.

Keine Kommentare:

Kommentar veröffentlichen