Raspberry PI: Erste Schritte mit dem Steuern der Funksteckdosen

Mein Raspberry PI kam letzt Woche von de.farnell.com an.

Also auspacken und gleich mal installieren.

Als erstes den Standarddialog der Raspberry Config durchgeführt. Ich lasse das GUI nicht automatisch starten, da der RasPI bei mir Serverdienste übernimmt und nur per LAN erreichbar ist und keine Tastatur/Monitor angeschlossen ist. Daher war für mich das Aktivieren des SSH Server Dienstes ein muss.

Da ich das Funkmodul für meine 433,92MHz Funksteckdosen von Watterott direkt bestellt hatte, war das schon da.

Also Anschließen: Der Antennenanschluss ist Beschriftet. Dort habe ich Testhalber erstmal ein kurzes Kabel angesteckt. Der Kontakt neben der Antenne ist VCC und wird mit Pin 4 des RasPI verbunden. Der nächste Pin am Funkmodul ist DATA und wird mit dem Pin 11 des RPI verbunden. Der vierte PIN ist Masse und gehört auf den Pin 6.

Zur Übersicht noch mal:

Pin Funkmodul Funktion Pin Raspberry PI
1 ANT
2 VCC (+3~12V) 4
3 Data 11
4 GND (Masse) 6

Anschließend ein sudo apt-get update.
Nun habe ich den Apache2 und das PHP installiert:
sudo apt-get install apache2
sudo apt-get install php

Nun kann man mit einem anderen Browser testen, ob der Server erreichbar ist.

Nun bin ich über das Raspberry-Remote von xkonni gestolpert. Danke!

Installieren geht folgender maßen:
Als erstes benötigen wir das WiringPI von Godon:
sudo apt-get install git-core
git clone git://git.drogon.net/wiringPi
cd wiringPi
./build

Nun hab ich das Projekt von xkonni „installiert“:
cd ~
git clone git://github.com/xkonni/raspberry-remote.git
cd raspberry-remote

Nun habe ich als erstes die send.cpp compiliert: make send, um das Senden auzuprobieren.
Ein Erster Test: sudo ./send 00001 1 1 – Funktioniert, wenn der Jumper 5 und A auf On an der Steckdose gesetzt ist, Rest auf Off.

Jetzt gehts zum Webinterface, was xkoni direkt mitliefert. Dazu habe ich im Ordner /var/www einen Unterordner remote erstellt und diesen dem User pi zugeordnet mit sudo chown pi /var/www/remote. Anschließend den Inhalt von ~/raspberry-remote/webinterface dorthin verschoben: mv ~/raspberry-remote/webinterface/* /var/www/remote . Jetzt muss noch in der config.php Datei die IP Adresse des Raspberry PIs angepasst werden: dazu endweder den vi oder den nano verwenden.

Nun fehlt noch der Daemon, auf den das PHP-Script des Wibinterfaces zugreift. Dazu gehen wir in das Raspberry-Remote Verzeichnis zurück: cd ~/raspberry-remote und compilieren den daemon: make daemon
Nun können wir diesen Starten: sudo ./daemon & (Das & bewirkt, dass der Prozess im Hintergrund läuft.

Jetzt können wir unser Glück mit dem Webinterface probieren: Dazu rufen wir von einem anderen Rechner/Handy das Webinterface per http://192.168.12.2/remote/ (Eure IP einsetzen) auf. Wenn das geht und dort die verschiedenen Steckdosen sichtbar sind, dann muss man jetzt nur noch in der config.php die Steckdosen mit Namen versehen und evtl. die Codes, etc. anpassen.

Bei Fragen & Anmerkungen bin ich mal auf Kommentare gespannt.

161 Gedanken zu „Raspberry PI: Erste Schritte mit dem Steuern der Funksteckdosen“

  1. Hallo ich hab ein kleines Problem mit der config.php und zwar weiß ich nicht wie die dort funktioniert:

    sudo ./send 11111 1 1
    sending systemCode[11111] unitCode[1] command[1]

    wie sieht das dann im Array der Config aus aus?
    array(„11111“, „01“, „Sofa Lampe“)

    ist das so Richtig oder nicht?

    Vielen Dank!

    Antworten
  2. Hi i have a problem with the web interface.. when loading the page it shows me the following error.. Could not connect to socket .. when i run from command lien the following code it switched my socket of send 11111 1 1 but nothing from the web interface.. plus i dont know how replicate the 11111 1 1 in the config file.. any help would be gratefully appreciated.. thanks

    Antworten
    • Hi daz,
      This error says, that the daemon is not running. Sure, it runs in the background?
      And do you have edit the ip in the config file?
      BR

  3. Hi Felix, thanks for the reply .. i didnt add a server ip address , i added the target ip.. the previous error has gone a new error is shown now Could not bind to socket.

    Antworten
    • Do you have installed the raspydaemon on the same as the webinterface is installed?
      You have to configure at config.php the ip, where the daemon is running.

  4. Erst mal super Projekt, ich nutze es seit ca. 2 Jahren.
    Doch irgendwie bekomme ich es nicht mit Cronjob nicht hin. Kann das mal jemand kurz erläutern wie ich das was ich im terminal eingeb in eine passende datei packe?

    Ich danke für die Hilfe

    Antworten
    • Hallo Michael,
      Was hast du mit dem Cronjob vor?
      Du kannst per Cronjob den send befehl verwenden. Dann siehst du aber nicht das Resultat im Webinterface.
      Die andere Methode wäre, den Befehl an den laufenden Deamon zu senden.
      VG,
      Felix

    • Hallo Felix
      Danke für die Idee habe das soweit auch alles hinbekommen!
      Das einzig Problem das ich habe ist das sich das Webinterface regelmäßig aufhängt. Recht häufig bei Doppelanfragen!
      Hat jemand da schon eine Idee das zu verhindern?
      Ein neustart Hilft!

    • Hi,

      Ich habe in crontab -e folgendes eingetragen:
      #For RaspyRemote
      */2 * * * * ps -ef |grep remote | grep -v grep > /dev/null || sudo /etc/init.d/remotecontrol start

      Hoffe das hilft, aber auch meins hängt regelmäßig 🙁

  5. Hallo, ich habe ein Problem.
    Auf meinem iPhone wird angezeigt: Could not bind to socket
    Meine config.php sieht so aus:

    Ich habe das mit der IP Adresse in der config Datei nicht so richtig verstanden :/
    Danke für jede Hilfe 🙂

    Antworten
  6. Moin,

    vielen Dank erstmal für das tolle Tutorial,
    das Schalten der Steckdosen über das terminal funktioniert tadellos!

    Allerdings will das Ansteuern über das Webinterface nicht so richtig, habe alles wie beschrieben durchgeführt, allerdings kann ich die Webseite nicht aufrufen…
    Weiß jemand woran das liegen könnte?

    Vielen Dank schon mal 🙂

    Antworten
    • Hallo,
      Entschuldige die späte Reaktion, aber ich war erts im Urlaub und dann auf Dienstreise.

      Hast du im www Ordner die config.php angepasst?
      Dort gibt es den Eintrag für die IP Adresse. Der muss in etwa so aussehen:
      $source = $_SERVER['SERVER_ADDR'];
      $target = '192.168.12.2';
      $port = 11337;

      Die IP 192.168.12.2 muss für deinen PI angepasst sein.

      Viel Erfolg,
      Felix

  7. Hi,
    ich habe das gleiche Problem, wie Lorenz. Ich habe Deine Anleitung befolgt und kann den „Send“-Teil nicht aufrufen per 192.168.78.32/remote im Browser.
    in der /var/www/remote/config.php steht:

    $source = $_SERVER[‚SERVER_ADDR‘]; /*aufgrund des Kommentars bei Lorenz ergänzt */
    $target = ‚192.168.178.32‘;
    $port = 11337;

    hast Du evtl. einen Tipp?
    danke

    Antworten
  8. Hallo Felix,
    sudo ./send 00001 1 1 bzw 0 funktioniert und schaltet die Elpro ein/aus.

    Das Webinterface läuft,
    aber in der config.php steht bei mir

    $config=array(
    array(„1“, „00001“, „01“, „Steckdose1“),

    Im Webinterface sehe ich dann 1:0001:1
    und das funktioniert natürlich nicht.

    Ändere ich auf
    array(„0“, „00001“, „01“, „Steckdose1“),
    oder
    array(„0“, „0001“, „01“, „Steckdose1“),
    oder
    array(„00001“, „01“, „Steckdose1“),

    erhalte ich in der Konsole
    pi@raspberrypi ~/raspberry-remote $ message: 00001012
    wrong systemkey!

    Gibt es da Hilfe?

    Danke

    Antworten
    • Hallo,
      also bei mir ist es beim untersten:

      array(„00010“, „02“, “ Stehlampe“),
      array(„00011“, „01“, “ Rolladen „),

      und zur Erklärung: die Stehlampe ist bei den Elro Steckdosen auf 00010 und B eingestellt.
      Und der Rollladen auf 00011 und A.

      Kannst du mir sonst mal die ganze Config.PHP schicken?

      Viel Erfolg

    • Danke Felix,

      das Array kann ich ja passend auf meine Elro Dose einstellen und habe es auch gemacht.
      Die Array-zeile ist anders, siehe die vorangestekkte „1“.

      Ich habe das Problem aber lösen können,
      denn es gibt wohl eine neuere Raspberry-Remote von xkonni
      und die habe ich erwischt.

      Eine ältere Version installiert und das Problem ist weg.
      Es funktioniert dann alles wie von Dir beschrieben.

      Natürlich auch mit array(„00001“, „01“, „Steckdose1“),

      Danke, Peter

  9. Hallo Felix & Hallo Peter,

    Ich habe genau das gleiche Problem mit der neueren Version, wie ist es denn möglich die ältere Version zu bekommen? Habt Ihr für einen Neueinsteiger ggf. eine Kurzanleitung?

    Schönes Wochenende

    Jan

    Antworten
  10. Hallo,
    da mein Port 80 schon belegt ist, läuft das Webinterface nicht.
    Ich hatte den Port 8080 eingerichtet mit dem alles lief.
    Nach einer Neuinstallation der SD-Karte, schaffe ich es nicht mehr den Port 8080 einzurichten.
    Bin kein Linuxer aber es macht Freude mit dem Raspi zu arbeiten.
    Wie ist dafür die beste Lösung. Bitte verständliche Angaben machen.
    Danke einstweilen.

    Antworten
  11. Hat sich erledigt. Habe ein Image wieder auf die SD-Karte zurückgespielt, welches noch keine Installationsleichen enthielt. Nach einer Neuinstallation hat dann alles so funktioniert wie es soll.

    Antworten
  12. Vielleicht hilft folgender Hinweis Nutzern weiter, welche die aktuellere Version von Raspberry-Remote (xkonni) nutzen.

    Haus-Code für alle Steckdosen: 00001
    Lampe01 = A
    Lampe02 = B
    Lampe03 = C

    Meine array in der config.php sieht wie folgt aus:

    $config=array(
    /*
    * Elro
    */
    array(„1“, „00001“, „16“, „Lampe01“),
    array(„1“, „00001“, „08“, „Lampe02“),
    array(„1“, „00001“, „04“, „Lampe03“)
    )

    Bin durch Zufall nach lesen des Abschnitts „Binary Mode“ auf https://github.com/xkonni/raspberry-remote darauf gekommen. Vermutlich steht meine Steckdose A für den Binärcode 10000 und Dezimal der 16. Keine Ahnung ob es Zufall ist, aber es funktioniert. 😉

    Antworten
  13. Ich danke Ihnen für diesen hilfreichen Artikel. Für solche Arbeiten ist es immer gut eine ordentliche Lötstation da zu haben.
    Beste Grüße,
    Marcus

    Antworten
  14. Ich danke Ihnen für den interessanten Artikel. Solche Raspberry Pi Projekte sind immer wieder spannend. Freue mich auch auf weitere Artikel.
    Beste Grüße,
    Jens

    Antworten
  15. Ich bin gerade zufaellig auf Ihrer Page gelandet (war eigentlich auf der Suche nach einer anderen Seite).
    Ich moechte diese Seite nicht verlassen, ohne Dir ein Lob
    zu dieser gut strukturierten und schick designten Page zu hinterlassen!

    Antworten

Schreibe einen Kommentar zu Oliver G. Antworten abbrechen

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.