433mhz Steckdosen Steuerung

Heute ist Stammtischzeit:
Jeden Donnerstag 20:30 Uhr hier im Chat.
Wer Lust hat, kann sich gerne beteiligen. ;)
  • Hallo, ich versuche mich eben an der Steuerung von Funksteckdosen. Das haben Leute wohl schon tausend mal gemacht, aber mir scheint es nicht zu gelingen.

    Hier erstmal zu meinem SetUp:

    * RPi Rev2 512MB

    * Steckdosen (wie in den beiden Tutorials)
    Elro AB440S/3C Funksteckdosen Set: 3 x Funksteckdose und 1 x Fernbedienung (auf amazon so findbar)


    Fotos (Dropbox)
    https://dl.dropbox.com/u/8658085/rpi/…%2017.08.14.jpg
    https://dl.dropbox.com/u/8658085/rpi/…%2017.08.24.jpg

    Software:
    https://github.com/domfi/rcswitch-pi/
    https://projects.drogon.net/raspberry-pi/wiringpi/

    Hardware:
    Pinbeledung für wiringPi
    https://projects.drogon.net/raspberry-pi/wiringpi/pins/

    Tutorials nach denen ich mich versuche zu richten:

    http://www.jotschi.de/?tag=raspberrypi (t1)
    http://www.gsurf.de/preiswertes-funkmodul-fur-raspberry-pi/ (t2)
    http://code.google.com/p/rc-switch/ (t3)

    Ich versuche die Fernbedienung mit dem RPi mit strom zu versorgen und per rcswitch-pi zu betreiben.
    Die beiden bibliotheken habe ich mir auch erfolgreich von GitHub geholt und compiled,

    sudo ./send 11111 1 1

    Läuft auch soweit, wobei ich den PIN in der send.cpp (wie auf den Fotos) auf 1 gestetzt habe.

    Laut (t2) kann man die Fernbedienung, welche mit 12 Volt läuft auch mit 5V betreiben, wobei die Reichweite deutlich leidet.
    Derzeit bin ich aber noch auf die Fernbedienung angewiesen, weil das Funksendemodul aus Honkong wohl noch etwas auf sich warten lassen wird. Bis dahin war mein Plan (keine Ahnung ob das so geht): 12V Batterie in der FB lassen, und nur den OUT der DF abgreifen (zweiter Pin des Hx2262 von oben rechts) abzugreifen und über rcswitch-pi das Ganze in die Luft bringen.

    Kann sowas gehen? Was mache ich falsch?
    Jeder Hinweis und jede Hilfe wäre nett,

    danke,

    Harry

  • Zitat von honky pid="3347" dateline="1356712132"

    Bis dahin war mein Plan (keine Ahnung ob das so geht): 12V Batterie in der FB lassen, und nur den OUT der DF abgreifen (zweiter Pin des Hx2262 von oben rechts) abzugreifen und über rcswitch-pi das Ganze in die Luft bringen.

    Kann sowas gehen?


    Warscheinlich nicht. Die 3,3Volt verden von der Fernbedienung ich als High-Signal erkannt. Üblich ist etwa 0,6x Betriebsspannung, also mindestens 7,2Volt.

    Zitat

    Was mache ich falsch?


    Du hast Dir keine Gedanken über die Signalpegel gemacht ;)

  • Erst einmal vielen Dank.

    Wenn ich demnach die FB mit 5V betreibe, was laut einem Tutorialschreiber möglich sein soll ergibt sich:

    5V*0.6 = 3V und 3.3V > 3V Signalmind.
    Die Reichweite wäre mir dabei zunächst egal.

    Oder gibt es eine bessere Alternative?

    Wie könnte man mein Setup beibehalten und lediglich etwas hinzufügen? (z.B. etwas in Reihe dazu geschalten oder ähnliches)

    Gruß und Dank,

    Harry


    Update - es läuft!

    (t1) mit einem 10 k ohm Widerstand, weil ich leider auf die schnelle keinen anderen auftreiben konnte.

    an - aus - an - aus, es ist herrlich.
    Das Projekt geht aber weiter. Bin eigentlich Programmierer und hab großes vor :D

  • Also nach dem kleinen fix an der FB:

    Habe ich auf dem RasPi schnell ein NodeJs aufgesetzt und ein kleines Bootstrap Interface gebaut:


    (ja auf Windows, der Raspi hat meinen letzten linuxfähigen WlanStick gefressen)

    Dafür läuft es super - sowohl auf Handy als auch auf Tablet und PC. Da ich noch keinen Weg gefunden habe ein Device zu fragen ob es an oder aus ist, kümmert sich der Raspi darum, indem er alle devices beim serverstart als ausgeschaltet annimmt und sich anschließend alle Änderungen merkt. So wird auch verhindert, dass sinnlose Anweisungen (einer klickt 100 mal auf Schalte Gerät 1 an) und blockiert damit einen anderen, der mal kurz Gerät 2 ausschalten wolle, indem er das einfach nicht durchreicht.

    Besteht am Quellcode Interesse? Node.js wird eine Randerscheinung sein bisher.

    Die Reichweite schwankt bei 5V und 10kOhm Widerstand derzeit zwischen 8-9m. Für meine Bedürfnisse ausreichend, aber da geht noch was.

    Gruß und gute Nacht,

    Harry

  • Hallo [size=1][font="Tahoma, Verdana, Arial, sans-serif"] honky,[/font][/size]
    [size=1][font="Tahoma, Verdana, Arial, sans-serif"]deine Ausführungen und links finde ich hoch interessant.[/font][/size]
    [size=1][font="Tahoma, Verdana, Arial, sans-serif"]Ich wollte eigentlich meine alte Atmegaschaltung, welche an einem[/font][/size]
    [size=1][font="Tahoma, Verdana, Arial, sans-serif"]Windowsrechner läuft dafür nutzen.[/font][/size]
    [font="Tahoma, Verdana, Arial, sans-serif"][size=1]Deine Ansteuerung ist natürlich hardwaremäßig extrem einfacher.[/size][/font]
    [font="Tahoma, Verdana, Arial, sans-serif"][size=1]Schön wäre eine Lösung die Tasten einer x10 Fernbedienung parallel[/size][/font]
    [font="Tahoma, Verdana, Arial, sans-serif"][size=1]dafür zu nutzen, leider komme ich mit Lirc nicht klar.[/size][/font]
    [font="Tahoma, Verdana, Arial, sans-serif"][size=1]Hier meine Atmegaschaltung nur zur Info[/size][/font]
    [font="Tahoma, Verdana, Arial, sans-serif"][size=1]http://www.tvdn.eu/wimpuls1.htm
    [/size][/font]
    [font="Tahoma, Verdana, Arial, sans-serif"][size=1]Viele Grüße[/size][/font]
    [font="Tahoma, Verdana, Arial, sans-serif"][size=1]Manne[/size][/font]

  • Hey Manne, interessante Loesung.
    Die Reichweite deiner Schaltung wird entsprechend groesser sein oder?

    Mein Projekt geht nun in eine definiertere Richtung:

    Es wird eine Pflanze am Leben gehalten werden:


    Als Pumpe kommt die eines Zimmerbrunnens zum Einsatz, als Schlauch
    ein etwas besonderer Strohhalm, alles wird dann durch etwas Holz fixiert und durch
    eine Webcam ueberwacht. Steuerbar aus dem Internet waere auch witzig. Die Technik
    steht ja soweit.

    Gruss,

    Harry (von der englischen Tastatur)

  • So weit:

    Der Brunnen: (ca 10€)

    die Pumpe:

    Der Pflanzkübel, mit ehemals Frostschutzkanister: (ca 10€)

    +15 € Steckdosen, +3,50 € Leiste + Kabelbinder und Kupferdraht

    Das komplette SetUp, nun fehlt nur noch Licht, Webcam und Ventilator \o/

    Gruß,

    Harry

    P.S. Über Ideen und Vorschläge würde ich mich sehr freuen :)

  • Hi,

    ich bin der Autor von http://www.gsurf.de. Hattest du meinen Ursprünglichen Artikel gelesen gehabt? Du kannst die Fernbedienung problemlos weiter mit 12 Volt betreiben. Den HX2262 Chip kannst du komplett entfernen. Der verbaute 10k Vorwiderstand kann durch Parallelschaltung eines weiteren 10k Widerstandes halbiert werden. Das Signal hat ja nur 5 Volt statt bisher 12, das passt dann schon. Die Massen der Batterie und des RPi müssen natürlich verbunden werden. Ich habe von einer Softwarelösung abgsehen, weil es bei der Steuerung der Steckdosen stark aufs Timing ankommt. Und wenn der Pi ausgelastet ist (bei mir z.B. durch openHAB), wird das Ganze schnell unzuverlässig. Und der HX2262 kostet ja nichts. ;)

    Die Idee mit der Pflanze ist interessant. Ich hatte vor etwas Ähnliches in Größer im Garten zu realisieren. Ich möchte dort mit dem Pi Magnetventile ansteuern. Das vorhandene Hauswasserwerk merkt dann den Druckabfall und springt automatisch an. Das ist aber eher ein Projekt für den Sommer. :D

    Die Reichweiter mit dem Modul aus Fernost ist übrigens super. Im Gebäude würde ich ca. 20 Meter schätzen. Außerhalbt habe ich nicht getestet. Würde aber ca. 100 Meter schätzen.

  • Vielen Dank JanG80 für die Hinweise.
    Deine Seite war in der Tat sehr informativ, leider habe ichs damals (also gestern) versäumt mehr als http://www.gsurf.de/preiswertes-funkmodul-fur-raspberry-pi/ zu lesen.

    Warum kommt es auf das Timing an? Mal abgesehen davon, dass man nicht zwei Befehle zeitgleich absenden sollte, weil sonst nach meinen Erfahrungen der erste verloren geht - aber was spricht gegen einen Warteschleife oder ein Lock (Sperrung(?)).

    Node.js war dahingehend echt dankbar - erstmal der Vorteil, dass es echt wenig Ressourcen braucht und dabei noch wahnsinnig schnell ist.

    Außerdem schalteten die Steckdosen meist schneller, als dass ich meinen Zeigefinger von Maus oder Touch lösen konnte.

    Der Quellcode ist nur flott dahingeschrieben:

    Kurze Erklärung, auf Port 80 läuft ein kleiner Webserver (ExpressJS) der sobald er eine URL bekommt wie ./switchStatus&family=x&device=y&status=z die entsprechende Steckdose ansteuert, währenddessen blockiert und sich deren Zustand merkt.
    Wenn befehle mehrfach kommen, oder sinnlos sind (weil ein device z.B. schon aus ist, dann spart er sich es). Sollte er bereits mit einem Befehl beschätigt sein, so wartet er (ja blöde Idee hier eine echt feste Zeit zu nehmen aber egal) 100 ms bevor er es wieder versucht.

    Zugegebenermaßen läuft bei mir kein openHAB nebenbei, aber bisher kamen alle befehle sauber durch - auch wenn mehrere Dinge kurz nacheinander passieren sollten.

    Andrerseits habe ich das Problem des Timings auch nicht wirklich - ich mein, Pumpe an, Pumpe aus. Die Zeit dazwischen ist er einzige kritische Punkt, und denn fange ich erstmal etwas ab, indem ich das Wasser etwa 50cm hinaufpumpen lasse, was wohl 1-2 sek dauert, da die kleine Pumpe damit kämpft, und die Menge des Wassers jetzt auch nicht das allerwichtigste ist - notfalls kommt ein kleiner Sensor hinzu, der dann eben nochmal feuert.

    OpenHab ist eine gute Sache. Lohnt sich das "wegen einer Pflanze"?

    Meine Automatisierung könnte ein cronjob übernehmen, meine Universale Schnittstelle wäre Port 80 und HTTP.

  • Lies dir mal diese Seite durch:

    https://forum-raspberrypi.de/Funksteckdosen.htm

    Dort wird das Funkptotokoll erklärt, mit dem die Steckdosen arbeiten. Die Dauer der einzelnen Bitübertragungen (wenn man das so nennt?) muss auf ein paar Microsekunden genau sein, damit das Ganze funktioniert. Der RPi wird das in der Regel schaffen. Aber wenn irgendein anderer Prozess gleichzeitig käuft eventuell halt mal nicht. Das Raspberry ist halt ein Multitasking System.

    Eine mögliche Implementierung habe ich hier beschrieben:

    http://www.gsurf.de/avr-elro-funks…-2313-schalten/

    Ich denke, man sieht, wie das Ganze unter der Haube aussieht.

    Es stellt sich die Frage, ob du mit dem RPi wirklich nur eine einzige Pflanze versorgen willst. Das ist jetzt interessant zu realisieren, aber was machst du nächste Woche? ;)

    Genau so verhält es sich mit openHAB. Für diese eine Aufgabe ist das sicherlich mit Kanonen auf Spatzen geschossen. Aber wenn man langfristig mehr machen möchte, ist das eine nette Lösung.

    Node.js kann ich noch nicht. Werd's mir mal ansehen.

  • okay so langsam daemmerts was es damit auf sich hat.
    Ein paar Tests und ich konnte das Problem heraufbeschwoeren.

    Eine Idee haette ich aber noch:

    sudo nice --19 ./send 11111 1 0

    also hoechste Prioritaet fuer das Senden im Multiusersystem.

    Hat jemand schon Erfahrungen damit? Bei mir ist es bisher nicht wieder aufgetreten.
    Allerdings werde ich da noch mehr Zeit mit verbringen.

    Gruss,

    Harry

  • Ich denke, das wird 99,9% aller Fälle einwandfrei funktionieren. Ich würde damit nur keine kritischen Lasten schalten. (Bügeleisen usw...) Aber das würde ich mit den Elro Steckdosen eh nicht, da sie keinen Rückkanal haben. Ich weiß also im Endeffekt eh nie, ob das Signal ankommt oder nicht.

    Mal was anderes: Da es dir ja offensichtlich nur um die eine Pflanze geht - warum brauchst du überhaupt die Funksteckdosen, wo doch der Raspberry direkt daneben hängt? :angel:

  • Im Wesentlichen, weil ich Steckdosen und damit alle anderen Geräte im Haus / Wohnung / Zimmer steuern kann und es für mich ein interessanter Gedanke war. Damit kann ich alles ziemlich unkompliziert kombinieren und ohne Aufwand austauschen.

    Wie könnte man es anders machen? Einen Schalter direkt zwischen [font="Tahoma, Verdana, Arial, sans-serif"]Raspberry[/font][font="Tahoma, Verdana, Arial, sans-serif"] und Pumpe? Der Aufbau würde mich interessieren, google spuckt hunderte Ergebnisse aus, die aber alle mit 433mhz zutun haben :) [/font]


    [font="Tahoma, Verdana, Arial, sans-serif"]Mein Projekt geht derweil weiter, Pflanze ist drin (Ich nenne Ihn Günther2), etwas Ambiente ist vorhanden (siehe Bild) und gegossen kann schon fleißig werden: Und zwar per Twitter :) Habe mit node-twitter einen Streamclient angelegt, welcher bei entsprechenden Kommandos ( LichtfürGünther, WasserFürGünther, RadioFürGünther usw) dann etwas kontrolliert die Steckdosen schaltet.[/font]
    [font="Tahoma, Verdana, Arial, sans-serif"]Günther wird dann bald mit einem Tweet an die entsprechende Person antworten und einen WebcamShot von sich als media anhängen. Webcam, motion etc stehen schon bereit - leider ist meine SD Karte etwas buggy und zerstört mir ständig das Raspian, weswegen ich sie noch nicht auf die kompletten 16gb erweitern kann (ich hab demnach zur Zeit nur rund 100mb frei dank wheezy und ein paar Kleinigkeiten), ohne einen kompletten Datenverlust zu riskieren. [/font]
    [font="Tahoma, Verdana, Arial, sans-serif"]Entsprechende Schnittstellen bietet node-twitter ([/font][font="Tahoma, Verdana, Arial, sans-serif"]https://github.com/jdub/node-twitter) bereits, aber ich muss die Teile noch zusammenführen.[/font]


    [font="Tahoma, Verdana, Arial, sans-serif"]Was halt schön an der Sache ist - der TwitterStream bietet Eventbasierte Reaktionen - also unmittelbar, wenn ein Tweet eingeht mit irgendeinem bestimmten Begriff (Kommando) kommt das Event bei meinem NodeJs an und reagiert anschließend darauf - ich muss also nicht ständig twitter bombadieren und zeitverzögert drauf reagieren, sondern twitter kommt quasi von allein und sagt mir bescheid :)[/font]

    Das Ganze ist natürlich als Spaß zu verstehen. Ich mach das um es mal gemacht zu haben und weil es immer was neues zu lösen gibt.

    [font="Tahoma, Verdana, Arial, sans-serif"]Genug Wirres mit schlechter Rechtschreibung für heute, sondern weil Leute Bilder mögen, noch eines zum Abschluss:[/font]


    [font="Tahoma, Verdana, Arial, sans-serif"]
    [/font]

  • Strom (aus der Dose), Wasser(in dem die Pumpe hängt) und Selberlöten :)Mir graut es.

    Wer das Projekt weiter quasi live verfolgen will einfach mal hier auf Twitter schaun.

    Eine Liste der Kommandos werde ich hier noch posten und auch irgendwie im Twitter noch verlinken.

    Sollte wohl die Tage soweit sein. Heute musste ich nochmal ran und löten, eine Kontakstelle wurde kalt.
    Aber Günther kennt keine Probleme mit dem Widerstand :)
    Long live the Günther (wenn er denn mal loslegt und wächst)

    Falls jemand mal in dem Zusammenhang eine gute Anleitung sucht um Node.js auf Raspbian zum laufen zu bekommen:

    https://gist.github.com/3301813

    Mittlerweile habe ich mir auch eine Standard-Vorgehensweise für ein frisches Raspian gebastelt, was alles inkl. wiringPi und rcswitchPi, samba etc. nacheinander installiert und für einen node-twitter vorbereitet.

    Besteht an sowas Interesse?

    Gruß,

    Harry

  • Das Projekt geht weiter, gestern gab es eine neue Lampe und ein paar Kleinigkeiten.

    Da Günther auf dem Fensterbrett steht, liegt der Gedanke nahe, das angekippte Fenster öffnen und schließen zu können. Die Einzelteile sind in Honkong bestellt und kommen wohl in den nächsten Wochen.

    DX.com liefert:
    Breadboard Jumper Wires for Electronic DIY (70-Cable Pack)
    Artikelnr. 80208
    $3,50 USD

    Solderless Breadboard - White (Large Size)
    Artikelnr. 121529
    $4,80 USD

    SG90 Mini Servo with Gears and Parts (2Kg Torque)
    Artikelnr. 35764
    $4,00 USD

    DIY 1/4W Resistance Carbon Film Resistors - Yellow + Silver (500 PCS)
    Artikelnr. 151155
    $5,70 USD


    und damit sollen dann Fenster aufgehen :)

    Mal schaun.

    Und weil Leute Bilder lieben, hier ein aktuelles:


    (RPI ist an ein kleines Brett gehängt, Fernbedienung komplett auseinander genommen und die Bohrungen zum Festschrauben an das Brett genutzt, Webcam drangelegt und im Baumarkt für 8€ eine kleine anklippbare Lampe gekauft, die Nachts Webcambilder erlaubt (Fotos(!)). Außerdem bekomme ich nun nach jedem Gießen eine Mail mit Protokoll und Bild. Achja und der "Unterteller" beim Blumentopf ist neu, ich war die gelegentlich bräunliche Suppe wegzuwischen, die aus dem Loch im Blumentopf austrat, wenn doch mal etwas mehr Wasser kam.)

    Gruß,

    Harry

  • Guten Abend,

    ich hoffe ihr könnt mir helfen.

    Ich versuche, wie im ersten Post beschrieben, meine Funksteckdosen mit rcswitch-pi zu steuern. Leider passiert aber gar nichts... :(

    Bei meinen Steckdosen handelt es sich ebenfalls um die ELRO AB440S/3.

    Was ich bisher getan habe:

    • - Installation von Raspbian
    • - Installation von wiringPI und GPIO
    • - Installation von rcswitch-pi


    Alle Programme wurden ohne Fehler oder Einschränkungen konfiguriert.

    Außerdem habe ich meine Steckdose wie folgt verkabelt:

    • Ground auf Minus der Fernbedinung
    • 5V auf Plus der Fernbedinung
    • GPIO17 auf Dout (inkl. 8,2 kOhm Widerstand)


    Ich habe es auch ohne Widerstand, mit 5,3 kOhm und 10,4kOhm versucht.

    Leider alles ohne Erfolg. Selbst wenn ich Steckdose direkt neben den Sender lege tut sich nichts.

    Alle Dip-Schalter des Hauscodes habe zum testen nach oben (auf on) gesetzt und den Befehl für die erste Steckdose sende ich so:

    Code
    ./send 11111 1 1

    Mit einem Multimeter habe ich folgendes getestet:

    • ca. 5V zwischen Plus und Minus an der Fernbedienung
    • unterschiedliche Spannungen zwischen Dout und Minus an der Fernbedienung (abhängig von Hauscode und Dose)


    Irgendwelche Ideen was ich falsch gemacht haben könnte?

    Danke im Voraus.

    MfG,
    S-E-A

    "The best way to predict your future is to create it!"

  • 5V ist sehr wenig dafür, dass die Fernbedienung für 12V konzipiert wurde. Hast du es mal mit 12 Volt versucht? Einfach Batterie drin lassen und nur die Massen von Fernbedienung und RPi verbinden. Eventuell stören auch die übrigen Bauteile noch rein. Ich habe schon diverse User gesehen, die die Platine modifizieren mussten.

  • Bin nur am Telefon...

    Stecken die Pins richtig? Die Nummerierung ist manchmal irreführend. Auf den Fotos ist es PIN 1 im wiring pi. Muss man im send.cpp entsprechend ändern und neu maken

    Kalte Lötstellen?

    ...

    Sonst gibts vieles, bin die Tage zur Not Uch kurz im skype / chat der wahl

    Gruß,

    Harry

    Leider falsch Jan. Signalpegel usw. 5V laufen bei mir auch prima.
    Siehe oben.

  • Zitat von JanG80 pid="4616" dateline="1359152138"


    5V ist sehr wenig dafür, dass die Fernbedienung für 12V konzipiert wurde. Hast du es mal mit 12 Volt versucht? Einfach Batterie drin lassen und nur die Massen von Fernbedienung und RPi verbinden. Eventuell stören auch die übrigen Bauteile noch rein. Ich habe schon diverse User gesehen, die die Platine modifizieren mussten.

    Um dies auszugleichen, sollte eigentlich der Widerstand dienen. Laut Homepage von rcswitch... ;)

    Aber ich probiere es noch mal mit 12V! :D

    -----
    Nachtrag:

    Auch mit der Batterie und mit angeschlossener Masse funktioniert es nicht.
    -----

    @honkey:
    In der send.cpp ist Port 0 als init PIN gesetzt. Das Kabel zur Fernbedienung habe ich auf GPIO 17 (Port 11) stecken. Das sollte doch passen?

    Ich kann den Ausschlag auch direkt an den Kontakten messen, also denke ich nicht, dass eine kalte Lötstelle das Problem sein sollte.

    "The best way to predict your future is to create it!"

    Einmal editiert, zuletzt von s-e-a (25. Januar 2013 um 23:34)

Jetzt mitmachen!

Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!