1. Diese Seite verwendet Cookies. Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies. Weitere Informationen

HowTo Rasperry Projekt Hausautomatik - Teil I Steuerung von Funksteckdosen

Dieses Thema im Forum "Raspberry Pi" wurde erstellt von lenny, 12. September 2012.

  1. lenny
    Offline

    lenny Freak

    Registriert:
    7. Februar 2011
    Beiträge:
    234
    Zustimmungen:
    266
    Punkte für Erfolge:
    63
    Nach einigen Tagen testen und basteln möchte ich hier nun
    ein neues Projekt vorstellen.
    Ich habe mir überlegt was kann er denn noch der Raspi ;=)
    und kam auf den Gedanken etwas mit den Gpio anzufangen.
    Letzendlich bin ich dabei hängengeblieben Funksteckdosen mit dem
    Rasbperry Pi ein und auszuschalten. In Erweiterung und mit Unstützung
    von Aragorn sind diese jetzt sogar über Web bzw über IPC-Webif schaltbar.

    Was wird benötigt ?
    Raspberry Pi mit Debian (Version egal)
    Funksteckdosen Set (Baumarkt ca. 15 € - 4 Steckdosen + 1 Handsender)
    RF Link Sender 433 MHZ (wattenrott.com - ca 3,50 € )

    Welche Software brauchen wir noch ?
    rcswitch für den raspi -->>

    Dieser Link ist nur für Mitglieder!!! Jetzt kostenlos Registrieren ?


    wirinpi für den raspi -->>

    Dieser Link ist nur für Mitglieder!!! Jetzt kostenlos Registrieren ?



    Auf die Installation von Debian etc gehe ich hier nicht mehr ein.

    Grundsätzliche Vorgehensweise:

    1. Installation von WiringPi
    apt-get install git-core
    git clone git://git.drogon.net/wiringPi
    cd wiringPi git pull origin
    ./build

    2. Installation von rcswitch
    git clone

    Dieser Link ist nur für Mitglieder!!! Jetzt kostenlos Registrieren ?


    cd rcswitch-pi
    ./make

    3. Anschluss RF 433 Sender an den PI
    Lediglich 3 Kabel sind anzuschliessen.
    Wenn die Konfiguration in rcswitch nicht geändert wurde,
    dann ist die aktive GPIO 17 / wiringPin 0 also letzendlich PIN 11
    an der Stiftleiste.

    Also grob skizziert :
    RF433 Sender - Raspberry

    PIN 1 GND - PIN 6 (GND) auf der Stiftleiste
    PIN 2 Data in - PIN 11 (GPIO17) auf der Stiftleiste
    PIN 3 Vcc - PIN 2 (5V)auf der Stiftleiste
    PIN 4 Antenne - optional


    4. Vorbereitung der Funksteckdosen
    Die Funksteckdosen die ich habe sind aus dem Baumarkt mit einem PT2262 - Chip
    und sind mittels 10 poligen Dipschalter konfigurierbar.
    5 Pole für den Systemcode und 5 Pole für den Gerätecode - einstellbar mittels
    0 und 1.
    Wenn ich also die erste Steckdose mit der Fernbedienung ansprechen will
    dann so >>
    <gerätecode> <systemcode> <befehl>
    11111 1 1 (1-an , 0 -aus) -> erste Steckdose
    11111 2 1 -> zweite Steckdose
    usw.


    5.Schalten der Dosen per Konsole

    In das Verzeichnis des rcswitch-pi wechseln
    und dort das Programm send mit den entsprechenden Parametern
    aufrufen.
    ./send 11111 1 1 -->> schaltet die erste Dose an
    ./send 11111 1 0 -->> schaltet die erste Dose aus.
    ./send 11111 2 1 -->> schaltet die zweite Dose an
    ./send 11111 2 0 -->> schaltet die zweite Dose aus.


    6. Schalten der Dosen per Webinterface

    Siehe Post 4 und folgende ...
     
    Zuletzt bearbeitet: 25. Januar 2013
    #1
    MexXxo, donnagra3, -Roadrunner- und 16 anderen gefällt das.
  2. phantom

    Nervigen User Advertisement

  3. berndhan
    Offline

    berndhan Newbie

    Registriert:
    5. September 2009
    Beiträge:
    1
    Zustimmungen:
    1
    Punkte für Erfolge:
    0
    AW: Rasperry Projekt Hausautomatik - Teil I Steuerung von Funksteckdosen

    Hallo,
    nachdem ich die RCSwitch bereits von Arduino Projekten kenne, will ich ich auch mit dem PI schalten.
    Meine Linuxkenntnisse sind wohl ehr bescheiden, daher ich schon beim Stepp 2

    git clone ...
    cd rcswitch-pi/
    root@raspberrypi:~/wiringPi/rcswitch-pi# ./make
    -bash: ./make: Datei oder Verzeichnis nicht gefunden

    ls liefert als Ergebnis
    Makefile RCSwitch.cpp RCSwitch.h README.md send.cpp

    Nur das make File ist nicht zu sehen.

    Was macht hier ein Anfänger falsch?

    :fie:
     
    Zuletzt bearbeitet: 30. September 2012
    #2
    semico gefällt das.
  4. aragorn
    Offline

    aragorn Guest

    AW: Rasperry Projekt Hausautomatik - Teil I Steuerung von Funksteckdosen

    gib einfach nur " make " ein ohne ./
     
    #3
  5. Soulfly2111
    Offline

    Soulfly2111 Newbie

    Registriert:
    9. November 2012
    Beiträge:
    2
    Zustimmungen:
    10
    Punkte für Erfolge:
    0
    AW: Rasperry Projekt Hausautomatik - Teil I Steuerung von Funksteckdosen

    Danke lenny - hat alles super funktioniert.

    Ich habe mir ein Web-Interface dafür gebastelt.
    Habe dazu JQuerymobile UI und PHP benutzt.

    Sieht ungefähr so aus:

    Den Anhang 64202 betrachten

    Leider kann ich das gesamte Projekt nicht mit anfügen. Falls jemand das Projekt haben möchte verschicke es aber auch gerne als PN.


    Code:
    <!DOCTYPE html>
    <html>
        <head>
            <meta charset="utf-8" />
            <meta name="viewport" content="width=device-width, initial-scale=1" />
            <title>Plug-Controller</title>
            <link rel="stylesheet" href="https://ajax.aspnetcdn.com/ajax/jquery.mobile/1.1.1/jquery.mobile-1.1.1.min.css" />
            <link rel="stylesheet" href="my.css" />
            <style>
                /* App custom styles */
            </style>
            <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js">
            </script>
            <script src="https://ajax.aspnetcdn.com/ajax/jquery.mobile/1.1.1/jquery.mobile-1.1.1.min.js">
            </script>
            <script src="my.js">
            </script>
        </head>
        <body>
            <!-- Home -->
            <div data-role="page" id="page1">
                <div data-role="content">
                    <div data-role="fieldcontain">
                        <fieldset data-role="controlgroup">
                            <label for="dose1">
                                Steckdose 1
                            </label>
                            <select name="toggleswitch2" id="1" data-theme="" data-role="slider">
                                <option value="off">
                                    Off
                                </option>
                                <option value="on">
                                    On
                                </option>
                            </select>
                        </fieldset>
                    </div>
                    <div data-role="fieldcontain">
                        <fieldset data-role="controlgroup">
                            <label for="dose2">
                                Steckdose 2
                            </label>
                            <select name="toggleswitch3" id="2" data-theme="" data-role="slider">
                                <option value="off">
                                    Off
                                </option>
                                <option value="on">
                                    On
                                </option>
                            </select>
                        </fieldset>
                    </div>
                    <div data-role="fieldcontain">
                        <fieldset data-role="controlgroup">
                            <label for="dose3">
                                Steckdose 3
                            </label>
                            <select name="toggleswitch4" id="3" data-theme="" data-role="slider">
                                <option value="off">
                                    Off
                                </option>
                                <option value="on">
                                    On
                                </option>
                            </select>
                        </fieldset>
                    </div>
                    <div data-role="fieldcontain">
                        <fieldset data-role="controlgroup">
                            <label for="dose4">
                                Steckdose 4
                            </label>
                            <select name="toggleswitch5" id="4" data-theme="" data-role="slider">
                                <option value="off">
                                    Off
                                </option>
                                <option value="on">
                                    On
                                </option>
                            </select>
                        </fieldset>
                    </div>
                    <div data-role="fieldcontain">
                        <fieldset data-role="controlgroup">
                            <label for="dose5">
                                Steckdose 5
                            </label>
                            <select name="toggleswitch6" id="5" data-theme="" data-role="slider">
                                <option value="off">
                                    Off
                                </option>
                                <option value="on">
                                    On
                                </option>
                            </select>
                        </fieldset>
                    </div>
                </div>
            </div>
            <script>
            
            $( "select" ).bind( "change", function(event, ui) {
                console.log($(this).attr('id') + ' - ' + $(this).val());
                $.ajax({
                      url: 'send.php',
                      type: "POST",
                      data: {id : $(this).attr('id'), status: $(this).val(), timestamp: new Date().getTime()},
    
                      success: function(data) {
                        console.log(data);                    
                      }
                    });
            
                
            });
                //App custom javascript
            </script>
        </body>
    </html>
    
    PHP:
    <?php

    // ./send 11111 1 1 -->> schaltet die erste Dose an
    // ./send 11111 1 0 -->> schaltet die erste Dose aus.

    $id $_POST["id"];

    if(
    $_POST["status"]==on)
        
    $status 1;
    else
        
    $status 0;

    $output = `sudo /root/rcswitch-pi/send 11111 $id $status`;
    echo 
    "<pre>$output</pre>";

    ?>
    Gruß
    Soulfly
     
    #4
  6. aragorn
    Offline

    aragorn Guest

    AW: Rasperry Projekt Hausautomatik - Teil I Steuerung von Funksteckdosen

    wieso kannst du das projekt nicht komplett einfügen? sollte eigentlich kein problem sein, einfach mehrere
    PHP:
     oder [code]'s posten
    es wäre besser es zu posten oder als *.zip anzuhängen (siehe forum rules §9)

    jquery würde ich aber auch lokal speichern und den download link hier zur verfügung stellen bzw beschreiben wohin das gespeichert werden müsste denn sonst funktioniert der jquery kram nur wenn man mit dem rpi online ist
     
    #5
  7. Soulfly2111
    Offline

    Soulfly2111 Newbie

    Registriert:
    9. November 2012
    Beiträge:
    2
    Zustimmungen:
    10
    Punkte für Erfolge:
    0
    AW: Rasperry Projekt Hausautomatik - Teil I Steuerung von Funksteckdosen

    Anbei die detailierte Anleitung und das Projekt als ZIP

    1.) Apache mit PHP installieren
    sudo apt-get install apache php
    (apache ist ggf. schon installiert)


    2.)
    Das Projekt ist nun gezippt und beinhaltet JQuery (Hochladen ging vom Arbeitsrechner nicht)
    Download: Den Anhang 64228 betrachten

    Der Inhalt sieht folgendermaßen aus:

    |-index.html
    |-send.php
    |-css
    |---jquery.mobile-1.2.0.min.css
    |---plug-controller.css
    |---images
    |-----ajax-loader.gif
    |-----icons-18-black.png
    |-----icons-18-white.png
    |-----icons-36-black.png
    |-----icons-36-white.png
    |-js
    |---jquery-1.8.2.min.js
    |---jquery.mobile-1.2.0.min.js
    |---plug-controller.js

    Den Inhalt in /var/www/plug-controller entpacken.

    3.) die Datei send.php anpassen

    Folgende Zeile suchen und den Pfad zu send entsprechend eurer Struktur anpassen:
    $output = `sudo /root/rcswitch-pi/send 11111 $id $status`;

    4.) Damit das aus dem PHP Script send ausgeführt werden darf muss www-data der Gruppe sudo hinzugefügt werden
    (hier gibt es aus Sicherheitsaspekten vielleicht noch eine bessere Lösung - mich stört sowas nicht)

    nano /etc/sudoers

    und ganz unten die Zeile:
    www-data ALL=(ALL) NOPASSWD: ALL
    hinzufügen





    weitere Information zu Jquery:

    Dieser Link ist nur für Mitglieder!!! Jetzt kostenlos Registrieren ?


    Dieser Link ist nur für Mitglieder!!! Jetzt kostenlos Registrieren ?




    Viel Spass
    Soulfly
     
    Zuletzt bearbeitet: 10. November 2012
    #6
    friedlw, facebraker, meister85 und 4 anderen gefällt das.
  8. matze5800
    Offline

    matze5800 Newbie

    Registriert:
    11. November 2012
    Beiträge:
    1
    Zustimmungen:
    0
    Punkte für Erfolge:
    1
    AW: Rasperry Projekt Hausautomatik - Teil I Steuerung von Funksteckdosen

    Das ist ja eine Wahnsinns-Idee! Hab mich extra deswegen hier angemeldet ;)

    Sind in allen im Baumarkt erhätlichen Steckdosen die selben benötigten Chips verbaut oder müssten die nach ein paar bestimmten Herstellern ausgewählt werden?

    Danke im Vorraus! :)
     
    #7
  9. lenny
    Offline

    lenny Freak

    Registriert:
    7. Februar 2011
    Beiträge:
    234
    Zustimmungen:
    266
    Punkte für Erfolge:
    63
    AW: Rasperry Projekt Hausautomatik - Teil I Steuerung von Funksteckdosen

    Es kommt Bewegung rein ;=) Ich bin zur Zeit und auch in den letzten Wochen beruflich viel unterwegs sonst hätte ich hier schon weitergemacht.

    Die Steckdosen sollten einen bestimmten Chipsatzunterstützen - ich muss mal die Spezifikationen heraussuchen.

    Aber derzeit gibt es im OBi eine Aktion da gibbet die Steckdosen plus Fernsteuerung für 3 oder 4,99 Euro.

    Da kann man zugreifen. Ich habe das ganze ein wenig weiterentwickelt und schalte mittlerweile auch

    die Garagen meiner Nachbarn ;=) **hehehe** - bin aber derweilen am umbasteln und möchte einen Rückkanal

    für eine Betätigungs / Statusmeldung einbauen. Den entsprechen Receiver habe ich schon geordert.....


    Wg. der Steckdosen schaut mal bei mydealz da gibbet mehr Infos.
     
    #8
    chrisbi gefällt das.
  10. lema67
    Offline

    lema67 Ist gelegentlich hier

    Registriert:
    31. Oktober 2010
    Beiträge:
    77
    Zustimmungen:
    26
    Punkte für Erfolge:
    18
    Coole Idee. Da ich aber keinen Raspberry habe sondern einen Igel mit Debian nutze habe ich mich mal am WE hingesetzt und eine kleine Schaltung entworfen.
    Kernstück ist hier ein FTDI ft232rl ein Atmega16 und natürlich der RF Link Sender.
    Für den Atmega16 habe ich ein kleines Programm geschrieben das die ankommenden Befehlessequenz in die entsprechenden Impulse für den Sender umsetzt.
    Angeschlossen wir der Sender per usb, das Senden der Schaltsequenz per Linux wird mit Bsp. 'echo "00000f0fff0f" > /dev/ttyUSB0' erledigt, für Win7 habe ich ein kleines Vb.net proggi geschrieben.
    Der Steckdosensatz den ich nutze kommt von OBI (ELRO)und hat mal 4,99€ gekostet im Sender ist ein HX2262 Chip verbaut. Mein nächstes Ziel ist es erstmal alles auf einer Leiterplatte zu vereinen( zur zeit befinden sich der rf232 allein auf einer Platine und der Atmega auf einem Breakoutboard) und dann ein Webinterface zu erstellen mit Timer und Manueller Steuerung.

    Update:

    Eigenen Beitrag verfasst: Funksteckdosensteuerung mittels Debian Server
     
    Zuletzt bearbeitet: 24. November 2012
    #9
    mrwong gefällt das.
  11. aragorn
    Offline

    aragorn Guest

    AW: Rasperry Projekt Hausautomatik - Teil I Steuerung von Funksteckdosen

    würdest du deine schaltpläne, genauere aufbau/zusammbau beschreibung sowie programme/scripts hier auch zur verfügung stellen?

    und wenns geht ein bischen sortierter schreiben nicht alles in einem batzen, ruhig zwischendurch auch mal <enter> drücken..
     
    #10
  12. lema67
    Offline

    lema67 Ist gelegentlich hier

    Registriert:
    31. Oktober 2010
    Beiträge:
    77
    Zustimmungen:
    26
    Punkte für Erfolge:
    18
    Ja geht los. Hatte den Beitrag mit tapatalk verfasst da sieht es ganz ordentlich aus. Der Rest geht los die Tage.
     
    #11
  13. lema67
    Offline

    lema67 Ist gelegentlich hier

    Registriert:
    31. Oktober 2010
    Beiträge:
    77
    Zustimmungen:
    26
    Punkte für Erfolge:
    18
    AW: Rasperry Projekt Hausautomatik - Teil I Steuerung von Funksteckdosen

    Eigenen Beitrag verfasst : Funksteckdosensteuerung mittels Debian Server
     
    Zuletzt bearbeitet: 24. November 2012
    #12
    enop und (gelöschter Benutzer) gefällt das.
  14. enop
    Offline

    enop Newbie

    Registriert:
    8. Mai 2010
    Beiträge:
    5
    Zustimmungen:
    1
    Punkte für Erfolge:
    0
    AW: Rasperry Projekt Hausautomatik - Teil I Steuerung von Funksteckdosen

    Hi lenny hast du diesbezüglich weitere Infos ... ? ... zu dem Chipsatz ... und wg. den Rückkanals ... infos würden mich freuen ... ;) Danke
     
    #13
  15. darkwing_lpz
    Offline

    darkwing_lpz Newbie

    Registriert:
    4. August 2009
    Beiträge:
    12
    Zustimmungen:
    2
    Punkte für Erfolge:
    0
    AW: Rasperry Projekt Hausautomatik - Teil I Steuerung von Funksteckdosen

    Sehr schönes Projekt :)
    Ich hab die Schaltung schon unter Arduino und wechsle zum Raspberry da der einfach mehr Möglichkeiten bietet.
    Leider reagiert er nicht auf mein Schaltsignal, bzw. es kommt nichts bei den Dosen an.
    System ist Raspbian “wheezy”.
    5V auf 2 GND auf 6 und Schaltung auf 11 was ja GPIO0 entspricht da ich an der send.cpp nichts verändert habe.

    EDIT:
    beim compilen bekomme ich aber auch seltsame rückmeldungen
    RCSwitch.cpp: In member function 'char* RCSwitch::getCodeWordB(int, int, boolean
    )':
    RCSwitch.cpp:194:61: warning: deprecated conversion from string constant to 'cha
    r*' [-Wwrite-strings]
     
    Zuletzt bearbeitet: 22. November 2012
    #14
    1 Person gefällt das.
  16. Crypto
    Offline

    Crypto Newbie

    Registriert:
    8. Juli 2011
    Beiträge:
    29
    Zustimmungen:
    5
    Punkte für Erfolge:
    3
    AW: Rasperry Projekt Hausautomatik - Teil I Steuerung von Funksteckdosen

    Hast du dran gedacht, die Befehle auch als root auszuführen?
    Einfach sudo vor den Befehl schrieben.
     
    #15

Diese Seite empfehlen