Go Down

Topic: RFM12B Arduino UNO Funksteckdosen (Read 6035 times) previous topic - next topic

emilio20

Hallo
ich habe ein Arduino Uno mit einen RFM12B nach folgender Schaltung aufgebaut
http://openenergymonitor.org/emon/sites/default/files/Cookbook_RFM12B_connections.png

Die lib RFM12B Simpelmaster habe ich auch installiert.

Wie kann ich eine 433Mhz Funksteckdosen schalten oder das Funksignal der Fernbedienung empfangen ?

im Internet finde ich nicht viel hierzu ?

Spexx

In der Jeelib Library gibt es hierzu ein Beispiel. Hat bei mir zwar nicht funktioniert, aber vielleicht hast du ja mehr erfolgt  :|

emilio20

#2
Mar 26, 2014, 08:42 pm Last Edit: Mar 26, 2014, 09:13 pm by emilio20 Reason: 1
Lib habe ich aber wie kann ich das Testen ? Welches Programm muss ich aufspielen ? Wie erfahre ich welche sinal eine Steckdose benötigt ?

LastSamurai

Oft findest du per googel Angaben direkt zu deiner Steckdose. Eventuell musst du auch den Sender aufmachen und schauen wie die Platine/Sender darin heißt und dann danach googeln.
Es gab aber auch irgendwo eine Arduino Bibliothek zum schalten von Steckdosen. Der Name fällt mir gerade nicht mehr ein... aber ich glaube die hatte sogar einen Lernmodus, in der sie die Signale der Steckdose erkennen kann.

erni-berni


Es gab aber auch irgendwo eine Arduino Bibliothek zum schalten von Steckdosen. Der Name fällt mir gerade nicht mehr ein... aber ich glaube die hatte sogar einen Lernmodus, in der sie die Signale der Steckdose erkennen kann.

Das ist http://code.google.com/p/rc-switch/

Spexx

Was ist denn Simpelmaster, sagt mit nix.

In deinem anderen Thread gab es doch schon einen Hinweis auf den Sketch http://forum.arduino.cc/index.php?topic=226057.0 und ein Link auf die Jeelabs Seite. Dort solltest du auch noch mehr Informationen finden.
Ansonsten mal nach RFM12B OOK googeln. So wie ich das aber verstanden habe, ist ein empfangen von OOK nicht ohne weiteres möglich.
Vielleicht hat sich ja aber schon jemand damit beschäftigt und kann uns eine bessere Auskunft geben... War mir dann auch zu kompliziert, ich verwende einen "normalen" 433Mhz Sender für die Funksteckdose und die rc-Switch Library.

Deine Wetterstation wird hingegen vermutlich im FSK Verfahren senden. Diese Daten kannst du dir dann mit dem RFM12BDemo Sketch anzeigen lassen.

Gruß

erni-berni

Quote
So wie ich das aber verstanden habe, ist ein empfangen von OOK nicht ohne weiteres möglich.
Vielleicht hat sich ja aber schon jemand damit beschäftigt und kann uns eine bessere Auskunft geben.

Ja, ich :-)
Ich habe einen Sketch von User jurs zum Empfang einer K9010 Wetterstation dazu angepasst und die Konfguration für OOK durch Recherche hauptsächlich im Mikrocontroller Forum herausgefunden.
Wenn man den Sketch RFM12B_K9010_ONE laufen lässt wird der RFM12B für OOK konfiguriert. Wenn man dann danach einen anderen Sketch lädt, der den gleichen Interrupt nutzt und wenn der RFM12B nicht stromlos gemacht wird, läuft der mit der OOK Konfiguration weiter. Ich nutze dann gerne den zweiten Sketch mit dem man die HIGH und LOW Zeiten von Wetterstationen oder Fernbedienungen ermitteln kann, übrigens auch von jurs. Abweichend zum ursprünglichen Code nutze ich hier den INT1 auf PIN3.
Gruß
Reinhard

emilio20

#7
Mar 27, 2014, 08:28 pm Last Edit: Mar 27, 2014, 09:14 pm by emilio20 Reason: 1
Hallo
momentan weiß ich noch garnicht ob mein RFM12B mit den ensprechenden Wiederständen überhaupt funktioniert.

Wie kann ich teste ob es geht ?

Wenn ich die Datei RFM12K_9010_ONE Hochlade erhalte ich nur komische Zeichen.

Wenn icch das Projekt "Tx_SimpleRFM12B_demo" Hochlade erhalte ich folgendes


Code: [Select]

RFM12Transmitter - Simple demo
Node: 10 Freq: 433Mhz Network: 210
power1: 1
power2: 2
power3: 3
battery: 4

power1: 2
power2: 4
power3: 6
battery: 8

power1: 3
power2: 6
power3: 9
battery: 12




Bei Rx_Simple_RFM12b_demo erhalte ich


Code: [Select]

RF12B demo Receiver - Simple demo
Node: 30 Freq: 433Mhz Network: 210




Spexx

Also ich weiß gar nicht was du da für eine Library bzw. Sketche verwendest...

Bei der Jeelib Library heißt der Demo-Sketch "RF12demo". Wenn du den startest sollte so etwas hier im Terminalfenster erscheinen:
Code: [Select]

[RF12demo.10] A i1 g200 @ 433 MHz

Available commands:
  <nn> i     - set node ID (standard node ids are 1..30)
  <n> b      - set MHz band (4 = 433, 8 = 868, 9 = 915)
  <nnn> g    - set network group (RFM12 only allows 212, 0 = any)
  <n> c      - set collect mode (advanced, normally 0)
  t          - broadcast max-size test packet, request ack
  ...,<nn> a - send data packet to node <nn>, request ack
  ...,<nn> s - send data packet to node <nn>, no ack
  <n> l      - turn activity LED on PB1 on or off
  <n> q      - set quiet mode (1 = don't report bad packets)
  <n> x      - set reporting format (0 = decimal, 1 = hex)
  123 z      - total power down, needs a reset to start up again
Remote control commands:
  <hchi>,<hclo>,<addr>,<cmd> f     - FS20 command (868 MHz)
  <addr>,<dev>,<on> k              - KAKU command (433 MHz)
Current configuration:
A i1 g200 @ 433 MHz


Wenn ich dann z.B. mit dem Befehl 0g die Gruppe 0 auswähle, empfange ich haufenweise Daten, vermutlich von irgendwelchen Sendern in der Nähe. Ich denke das wäre schonmal ein Test, ob du überhaupt was empfangen kannst. Hast du denn zwei Module, dann könntest du auch Daten hin und her senden...

emilio20

#9
Mar 28, 2014, 07:18 pm Last Edit: Mar 28, 2014, 07:21 pm by emilio20 Reason: 1
Habs versucht. erhalte nur

Code: [Select]

XAIÜH ¤"*º>7??¨­©4 y



Spexx


emilio20

Das wars hate 9600 .
bei 57600 erhalte ich die richtigen zeichen.

emilio20

#12
Apr 06, 2014, 01:05 pm Last Edit: Apr 06, 2014, 01:14 pm by emilio20 Reason: 1
Hallo
erhalte jetz folgendes
Code: [Select]

RF12demo.12] A i1 g212 @ 868 MHz q1

Available commands:
 <nn> i     - set node ID (standard node ids are 1..30)
 <n> b      - set MHz band (4 = 433, 8 = 868, 9 = 915)
 <nnnn> o   - change frequency offset within the band (default 1600)
              96..3903 is the range supported by the RFM12B
 <nnn> g    - set network group (RFM12 only allows 212, 0 = any)
 <n> c      - set collect mode (advanced, normally 0)
 t          - broadcast max-size test packet, request ack
 ...,<nn> a - send data packet to node <nn>, request ack
 ...,<nn> s - send data packet to node <nn>, no ack
 <n> q      - set quiet mode (1 = don't report bad packets)
 <n> x      - set reporting format (0: decimal, 1: hex, 2: hex+ascii)
 123 z      - total power down, needs a reset to start up again
Remote control commands:
 <hchi>,<hclo>,<addr>,<cmd> f     - FS20 command (868 MHz)
 <addr>,<dev>,<on> k              - KAKU command (433 MHz)
Current configuration:
A i1 g212 @ 868 MHz q1





habe aber ein 433 mhz RFM12. Was muss ich jetzt umstellen und wie ?

wie kann ich testen ob ich von meiner 433mhz Fenbedienung daten empfange ?

Spexx

Die Kommandos stehen ja da... Einfach 4b im Serialfenster eintippen, dadurch wird 433 MHz ausgewählt.
Die Netzwerkgruppe könntest du auch noch auf '0 = any' mit dem Befehl 0g umstellen. Danach solltest du bereits irgendwelche Daten aus der Umgebung empfangen können, ist zumindest bei mir so :)

Dadurch kannst du zumindest davon ausgehen, dass dein RFM12B-Modul richtig angeschlossen ist und Daten empfangen werden. Deine Fernbedienung sendet jedoch in einem anderen Modulationsverfahren, d.h. die wirst du zumindest mit diesem Sketch nicht empfangen können. Dazu hatte aber auch erni-berni in dem anderen Thread mal was gepostet, hab es aber auch nicht zum Laufen bekommen.

Ich verwende diese Module nur für die Kommunikation untereinander, d.h. nur von RFM12B zu RFM12B. Um eine Funksteckdose zu schalten, würde ich dir lieber einen 'normalen' Sender empfehlen (z.B. sowas http://www.watterott.com/de/RF-Link-Sender-434MHz), was auch von der RC-Switch Library unterstützt wird...

emilio20

Was muss ich noch eingeben damit ich daten empfange ?
Code: [Select]


[RF12demo.12] A i1 g200 @ 433 MHz q1

Available commands:
  <nn> i     - set node ID (standard node ids are 1..30)
  <n> b      - set MHz band (4 = 433, 8 = 868, 9 = 915)
  <nnnn> o   - change frequency offset within the band (default 1600)
               96..3903 is the range supported by the RFM12B
  <nnn> g    - set network group (RFM12 only allows 212, 0 = any)
  <n> c      - set collect mode (advanced, normally 0)
  t          - broadcast max-size test packet, request ack
  ...,<nn> a - send data packet to node <nn>, request ack
  ...,<nn> s - send data packet to node <nn>, no ack
  <n> q      - set quiet mode (1 = don't report bad packets)
  <n> x      - set reporting format (0: decimal, 1: hex, 2: hex+ascii)
  123 z      - total power down, needs a reset to start up again
Remote control commands:
  <hchi>,<hclo>,<addr>,<cmd> f     - FS20 command (868 MHz)
  <addr>,<dev>,<on> k              - KAKU command (433 MHz)
Current configuration:
A i1 g200 @ 433 MHz q1
> 0g
A i1 g0 @ 433 MHz q1





Go Up