Digital Eliteboard

Registrieren dich noch heute kostenloses um Mitglied zu werden! Sobald du angemeldet bist, kannst du auf unserer Seite teilnehmen, indem du deine eigenen Themen und Beiträge erstellst und dich über deinen eigenen Posteingang mit anderen Mitgliedern unterhalten kannst! Zudem bekommst du Zutritt zu Bereiche, welche für Gäste verwert bleiben

HowTo Rasperry Projekt Hausautomatik - Teil I Steuerung von Funksteckdosen

Mitglied seit
7. Februar 2011
Beiträge
235
Gefällt mir
266
Punkte
63
#1
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 -->>
Du musst dich Anmelden um diesen Link zusehen. Melde dich an oder Registriere dich jetzt.

wirinpi für den raspi -->>
Du musst dich Anmelden um diesen Link zusehen. Melde dich an oder Registriere dich jetzt.


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
Du musst dich Anmelden um diesen Link zusehen. Melde dich an oder Registriere dich jetzt.

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:
Mitglied seit
5. September 2009
Beiträge
1
Gefällt mir
1
Punkte
3
#2
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:
Mitglied seit
9. November 2012
Beiträge
2
Gefällt mir
10
Punkte
3
#4
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:

Anhang anzeigen 64202

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
 
A

aragorn

Guest
#5
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
 
Mitglied seit
9. November 2012
Beiträge
2
Gefällt mir
10
Punkte
3
#6
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: Anhang anzeigen 64228

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:

Du musst dich Anmelden um diesen Link zusehen. Melde dich an oder Registriere dich jetzt.

Du musst dich Anmelden um diesen Link zusehen. Melde dich an oder Registriere dich jetzt.



Viel Spass
Soulfly
 
Zuletzt bearbeitet:
Mitglied seit
11. November 2012
Beiträge
1
Gefällt mir
0
Punkte
1
#7
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! :)
 
Thread Starter
OP
L
Mitglied seit
7. Februar 2011
Beiträge
235
Gefällt mir
266
Punkte
63
#8
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.
 

lema67

Ist gelegentlich hier
Mitglied seit
31. Oktober 2010
Beiträge
78
Gefällt mir
26
Punkte
18
#9
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:
A

aragorn

Guest
#10
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..
 

lema67

Ist gelegentlich hier
Mitglied seit
31. Oktober 2010
Beiträge
78
Gefällt mir
26
Punkte
18
#11
Ja geht los. Hatte den Beitrag mit tapatalk verfasst da sieht es ganz ordentlich aus. Der Rest geht los die Tage.
 
Mitglied seit
8. Mai 2010
Beiträge
5
Gefällt mir
1
Punkte
3
#13
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.
Hi lenny hast du diesbezüglich weitere Infos ... ? ... zu dem Chipsatz ... und wg. den Rückkanals ... infos würden mich freuen ... ;) Danke
 
Mitglied seit
4. August 2009
Beiträge
12
Gefällt mir
2
Punkte
3
#14
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:
Mitglied seit
8. Juli 2011
Beiträge
29
Gefällt mir
5
Punkte
3
#15
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.
 

Oben