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.

Sonntag, 13. Oktober 2013

Der Beginn

Nun zu Beginn - und damit der erste Inhalt meines Blogs :-)  - möchte ich erklären, wie ich mein RaspberryPi einrichte.
Es gibt mittlerweile unzählige Beiträge im Internet, welche erklären, wie man ein RaspberryPi startklar einrichtet. Die "Raspberry Pi Foundation" selbst hat auf ihrer Homepage ein Programm namens "NOOBS" veröffentlicht. NOOBS steht für "New Out Of Box Software" durch welche es nicht-technisch-versierten Menschen ermöglicht wird, das RaspberryPi startklar zu bekommen. Dabei wird die, von der Foundation veröffentlichte,Standard-Distribution "Raspian" verwendet.

Weitere Distributionen gibt es auf folgender Seite: HIER

Ich selbst habe mich für Raspbmc entschieden.  Grund dafür ist, das ich in der Vergangenheit zum Einem damit bereits gute Erfahrung gemacht haben und zum Anderem. weil bei dieser Distribution bereits die Media Center Software "XBMC" integriert ist. Diese benötige ich für mein Heimsystem. Doch dazu komme ich später.

Kommen wir  zur Einrichtung:
Für die Installation von Raspbmc auf dem RaspberryPi, muss das Image auf die SD-Karte "installiert" werden.
Hierfür bieten die  Entwickler der Distribution einen einfach Installer an - zu finden unter folgendem Link: Folge mir
Man wählt im Installer-Fenster lediglich nur noch die betreffende SD-Karte aus und der Rest wird wie durch Magie von selbst erledigt. Dabei wird lediglich eine Internetverbindung benötigt, um die aktuellste Version herunterzuladen.

Nun heißt es einfach SD-Karte ins RaspberryPi stecken und dem Gerät Strom geben. Es werden ein paar Einstellung vorgenommen. Das kann ein paar Minuten dauern.
Hat man Pi ein Bildschirm angeschlossen, startet nun automatisch die XBMC-Software. Hier sollte zunächst im aufblobbenden Menü die Sprache und die Zeitzone eingestellt werden.

Nun ist das Pi einsatzbereit.
Es lässt sich ebenfalls über SSH auf das Pi einwählen.
Hierfür sind folgende Anmeldedaten standardmäßig eingestellt:
Benutzer: pi
Passwort: raspberry

dieses sollte selbstverständlich nach der ersten Anmeldung geändert werden.
Dies gelingt ganz einfach mittels des Befehl "passwd". Daraufhin gibt man nochmal sein aktuelles Passwort ein und kann danach sein neues Passwort eingeben und bestätigen.
Mittels passwd lassen sich im übrigen auch die Passwörter anderer Benutzer ändern, sofern man die benötigten Rechte besitzt. Einfach hinter "passwd" den gewünschten Benutzernamen angeben und gut.


Nun heißt es nur noch sagen: Viel spaß beim Basteln :-)