Schlagwort: Funksteckdosen

Funksteckdosen mit dem Raspberry Pi

Funksteckdosen mit dem Raspberry Pi über ein Webinterface und PHP schalten

Im vorangegangenen Tutorial: Funksteckdosen mit dem Raspberry Pi schalten wurde bereits die grundlegende Installation erklärt. Da das Schalten über die Shell nicht sehr komfortabel und sinnvoll ist, wird in diesem Tutorial darauf eingegangen, wie ihr die Funksteckdosen über ein Webinterface mit Hilfe von PHP schalten könnt. So könnt ihr dies z.B auch bequem über den Smartphonebrowser aus tun.

Hier finden Sie alle unsere Raspberry Pi Produkte

Webinterface einrichten

Zuerstmal ist ein einfaches Webinterface nichts anderes als ein HTML oder PHP Dokument, welches mit CSS gestyled ist und PHP Code enthält. Der Grundbaustein ist daher ein einfaches HTML Gerüst.

Der Einfachheit halber, wurde hier das CSS Stylesheet mal außer Acht gelassen. In diesem Tutorial sollen nur einfache Buttons zum Schalten verwendet werden. Kopiert dieses Gerüst in einen Texteditor und speichert die Datei als Funksteckdosen.php ab.

Bis jetzt ist das ganze nur ein leeres HTML Gerüst, daher fügen wir nun Buttons zum Schalten ein. In diesem Beispiel soll es eine Schreibtischlampe, eine Gruppe von Lampen und einen TV geben. Dazu fügen wir 3 Formelemente im Bodybereich ein:

Kurze Erklärung: Das Form Element ruft beim Klicken/Tippen auf den Button das Funksteckdosen.php Dokument auf, also praktisch sich selber. Da im nächsten Schritt noch PHP Code folgt, wird dieser ausgeführt und somit die Funksteckdosen geschaltet.

Im nächsten Schritt soll nun endlich der PHP Code eingefügt werden. Wie im vorangegangenen Tutorial wurde schon gezeigt, dass man über die Shell z.B die Funksteckdose A mit dem eingestellten Hauscode 11010 über folgenden Befehl anschalten kann:

In PHP sieht das ganze folgendermaßen aus:

Hier wird also erstmal abgefragt, ob Schreibtischlampe überhaupt gesetzt ist. Wenn ja wird mit exec der Befehl ausgeführt. Da wir uns ja auf der PHP Seite und nicht in der Shell befinden, muss auch noch der Pfad (/home/pi/raspberrypi-remote/) angegeben werden.

Wollt ihr eine Funksteckdose ausschalten, müsst ihr natürlich die letzte 1 durch eine o ersetzen. In diesem Beispiel wird noch ein zusätzlicher Button zum Ausschalten der ersten Lampe eingefügt.

Diesen Code und den für die anderen Buttons fügen wir nun in das HTML Gerüst ein

Wie ihr seht stehen in der Lampengruppe zwei Befehle. Einmal die Funksteckdose 2 also B und einmal die Funksteckdose 3 also C. So können mehrere Funksteckdosen aufeinmal geschaltet werden. Möchtet ihr noch mehr Funksteckdosen auf einmal schalten, habt aber garnicht soviele Buchstaben zur Verfügung, könnt ihr natürlich auch mehrere Funksteckdosen auf einen Buchstaben setzen und somit alle gleichzeitig schalten.

Jetzt müsst ihr das Funksteckdosen.php Dokument nurnoch in das Webverzeichnis var/www verschieben.

Webinterface aufrufen

Nun könnt ihr das Webinterface über eure Raspberry Pi IP-Adresse + Funksteckdosen.php aufrufen (z.B 192.168.x.x/Funksteckdosen.php). Wisst ihr diese nicht, könnt ihr sie mit dem Befehl ifconfig herausfinden.Das ganze geht natürlich genauso über den Smartphonebrowser, so könnt ihr alles bequem von überall steuern.

Funksteckdosen mit dem Raspberry Pi schalten

Funksteckdosen mit dem Raspberry Pi schalten

Für das Schalten von Funksteckdosen mit Hilfe des Raspberry Pi gibt es eine unmengen an nützlicher Anwendungsmöglichkeiten. Ein Beispiel wäre das Projekt Aufwach und Sport Motivation. Bei dieser Anwendung werden über ein Webinterface Licht, Kaffeemaschine und TV durch einen 433 Mhz Sender und Funksteckdosen gesteuert. Gerade im Bereich Heimautomation ist diese Anwendung sehr hilfreich und vielfältig.

Folgende Bauteile sind für diese Anwendung nötig:

– Raspberry Pi mit Standardzubehör (Ladekabel & SD Karte)
– 433 Mhz Sender (Hier erhältlich)
– Funksteckdosen 3er Set (Hier erhältlich)
– Male-Male Jumperkabel oder Draht + Lötkolben + Experimentierboard



business_giro_468x60.gif

Aufbau

Der Aufbau ist eigentlich relativ simpel

SenderRaspberry Pi
ANT*
GNDGND
DATA#17
VCC5V

ANT* ist der Antennen-Anschluss. Bei einem Sender mit Spule ist dies aber nicht nötig, da diese als Antenne fungiert. GND steht für “Ground” also die Masse. DATA ist der GPIO Ausgang der zum Schalten verwendet werden soll (in diesem Tutorial wird der GPIO17 verwendet). VCC ist die Spannungsbezeichnung.

Hier seht ihr wie ihr den Sender an die Raspberry Pi Pins anschließen müsst:

funksteckdose

funksteckdose

Software zum Schalten installieren:

Zuerstmal sollte, wie vor jeder neuen Installation ratsam, ein update durchgeführt werden:

1 sudo apt-get update

Dann benötigt ihr noch git-core (falls ihr diesen noch nicht installiert habt):

1 sudo apt-get install git-core

Um die Steckdosen mit Hilfe des Senders letztendlich zu Schalten wird das Projekt Raspberry-Remote verwendet. Installiert dieses mit folgenden Befehlen:

1 cd ~
2 git clone git://github.com/xkonni/raspberry-remote.git
3 cd raspberry-remote

Kompiliert nun noch die send.cpp mit folgendem Befehl:

1 make send

 

Funksteckdosen einstellen

Um mit dem Sender die Funksteckdosen anzusprechen zu können muss man zuerstmal den Code herausfinden, welcher bei den Steckdosen eingestellt ist. Es ist empfehlenswert den Code zu ändern um sicherzustellen, dass euer Nachbar nicht zufällig eure Steckdosen schalten kann.

Dazu öffnet ihr hinten an den Steckdosen mit einem kleinen Schraubenzieher die Abdeckung und stellt euren Wunschcode ein. Dazu muss man zuerstmal wissen, dass “12345″ für den Hauscode steht und ABCDE für die einzelnen Steckdosen.
Ich habe hier 11010 gewählt. Das bedeutet 1 ist oben, 2 ist oben, 3 ist unten, 4 ist oben und 5 ist unten. Bei der ersten Steckdose setzt ihr nun zB “A” auf “1″ (also nach oben), bei der nächsten setzt ihr “B” auf “1″ (also nach oben) usw. So könnt ihr jeder einzelnen Steckdose eine Nummer zuweisen, die ihr nacher ansprechen könnt. Falls ihr mit einem Befehl später mehrere Geräte auf einmal steuern wollt, könnt ihr auch mehrere Steckdosen auf einen Buchstaben setzen.

Um die Steckdosen erstmal zu testen, stellt bei der Funkfernbedienung den gleichen Code ein (11010) und versucht schonmal die Steckdosen zu schalten. Hat das funktioniert gehts weiter mit dem Senden über die Shell.

Funksteckdosen über den Raspberry Pi schalten

Um die Funksteckdosen nun zu schalten, gebt ihr folgendes in die Shell (Schwarzes Kommandozeile) ein:

sudo ./send

In diesem Beispiel mit dem Hauscode 11010: Möchten wir die Steckdose A anschalten geben wir folgendes ein:

1 sudo ./send 11010 1 1

Möchten wir die Steckdose A ausschalten geben wir folgendes ein:

1 sudo ./send 11010 1 0

Wie ihr seht steht bei der Steckdosennummer “1″ für “A”, “2″ für “B” usw. Beim Zustand bedeutet “1″ AN und “0″ AUS.

Das wars auch schon! Nun könnt ihr die Funksteckdosen und somit eure Geräte über den Raspberry Pi schalten. Dieses Konzept kann natürlich noch erweitert werden um das ganze Benutzerfreundlicher zu machen. So kann man das ganze nun über ein Webinterface mit Hilfe von PHP oder sogar über eine App mit Sprachsteuerung schalten. Dazu aber mehr in weiteren Tutorials.