Hallo,
als absoluter Neuling hier erstmal ein "Hallo" :)
Wie schon im Titel ersichtlich habe ich grad die Frage, ob es möglich ist, ein RFM12b Funkmodul direkt mittels der GPIOs an den Pi anzuschliessen (müsste mittels SPI möglich sein) und dieses dann
durch FHEM zu nutzen ?
Soweit ich bisher sehen kann, kann man es sehr wohl am Pi anschliessen und partiell ansprechen aber wie könnte ich das Ganze dann für FHEM erreichbar machen ? Gibt es da eine Möglichkeit bzw. eine praktische Umsetzung ?
Ziel des Ganzen wäre eine drahtlose Anbindung der MAX-Fensterkontakte...einfachste Möglichkeit wäre derzeit das CSM-Modul über UART an den Pi anzuschliessen und dann FHEM zu installieren. Aber da ich grad ein RFM12b-Modul da habe, vorab die Frage ob das nicht auch direkt ginge ? So wie ich das sehe, müsste dann der Pi anstatt eines Mikrokontrollers die Übersetzung der Daten des RFMs übernehmen ?
Vielen Dank im Voraus
Alexander
Hallo,
Sag, hast du was in der Richtung erreicht?
Ich würde gerne mit der gleichen Konstellation fs20 steuern!
Mfg
Hallo zusammen,
ich hab jetzt das RFM12b mit 868Mhz an meinen Raspi R2 angeschlossen.
Leider kann ich keine Daten empfangen.
Ich hab die folgende Anleitung verwendet:
http://www.susa.net/wordpress/2012/08/raspberry-pi-reading-wh1081-weather-sensors-using-an-rfm01-and-rfm12b/ (//www.susa.net/wordpress/2012/08/raspberry-pi-reading-wh1081-weather-sensors-using-an-rfm01-and-rfm12b/)
und hier die Änderungen für den Raspi Revision 2
http://tickett.wordpress.com/tag/rfm12b/ (//tickett.wordpress.com/tag/rfm12b/)
Der Code kompiliert bei mir und kann ihn auch starten. Initialisierung geht auch. Leider empfange ich keine Daten von meinem 868 Mhz noname Außen-Temperatur-Sensor.
Hat jemand sonst noch eine Anleitung oder ein paar Tipps?
Hi,
Ohne die verlinkten Artikel gelesen zu haben: das rfm12b ist ein fm Empfänger, alle am (aka ook) Kommunikation geht an dem Modul vorbei. Das gilt für fast alle noname Sensoren. Es gibt zwar Modifikationen um das rssi Signal abzugreifen, bedeutet aber smd Bauteile zu tauschen und zusätzliche Signalleitungen.
Zum fs20 senden kann man das Modul per Software Hack nehmen, im Kern muss der Trx per spi mit dem richtigen Timing ein und ausgeschaltet werden. Ist ebenfalls nicht trivial.
Vg
Jörg
hi,
super, Dank für die schnelle Antwort.
Im 433 Mhz bereich habe ich es schon geschafft, meine noname Funksteckdose zu schalten. Da gab es aber auch wieder viele Anleitungen und über eine Schleife, hab ich alle Code-Möglichkeiten ausprobiert, bis der Schalter anging :-)
Da ist dann der 868 Mhz Funkbereich etwas komplexer. Werde mir mal ein FS20 Modul kaufen. Würde ich dann da wenigstens irgendetwas empfangen?
Gruß schlauby
Hab inzwischen herausgefunden, das der RFM12b auf "OOK" umkonfiguriert werden kann. FIFO muss dabei deaktiviert werden.
static void rf12_init_OOK ()
{
rf12_control(0x8027); // 8027 868 Mhz;disabel tx register; disable RX
// fifo buffer; xtal cap 12pf, same as xmitter
rf12_control(0x82c0); // 82C0 enable receiver; enable basebandblock
rf12_control(0xA68a); // A68A 868.2500 MHz
rf12_control(0xc691); // C691 c691 datarate 2395 kbps 0xc647 = 4.8kbps
rf12_control(0x9489); // 9489 VDI; FAST;200khz;GAIn -6db; DRSSI 97dbm
rf12_control(0xC220); // C220 datafiltercommand; ** not documented cmd
rf12_control(0xCA00); // CA00 FiFo and resetmode cmd; FIFO fill disabeld
rf12_control(0xC473); // C473 AFC run only once; enable AFC; enable
// frequency offset register; +3 -4
rf12_control(0xCC67); // CC67 pll settings command
rf12_control(0xB800); // TX register write command not used
rf12_control(0xC800); // disable low dutycycle
rf12_control(0xC040); // 1.66MHz,2.2V not used see 82c0
}
Funktionieren tut es leider noch nicht. Finde auch keine richtige Spezifikation für meinen Funk-Thermostat.
Steht leider nur 868 Mhz drauf.
Gibt es für ein FS20 Thermostat eine Spezi? Hab da leider auch nichts gefunden. Nur die normalen FS20 Bedienungsanleitung, da steht auch nichts über die genaue Frequence, AM, FM, OOK,...
Zitat von: schlauby schrieb am Do, 01 August 2013 10:10Gibt es für ein FS20 Thermostat eine Spezi? Hab da leider auch nichts gefunden. Nur die normalen FS20 Bedienungsanleitung, da steht auch nichts über die genaue Frequence, AM, FM, OOK,...
naja, nicht explizit für einen Thermostaten, aber einige Grundlagen gibts hier:
http://fhz4linux.info/tiki-index.php?page=FS20%20Protocol
Bin wieder etwas weiter gekommen...
Hab im Internet nach der richtigen Konfig für das Funkmodul gesucht und bin auf folgenden Link gestoßen:
http://tools.jeelabs.org/rfm12b.html (//tools.jeelabs.org/rfm12b.html)
Hier kann ich alles einstellen, was das Modul machen soll. Ich hab den "RX FIFO Buffer" deaktiviert und den angezeigten Hex-Code in meinem Code angepasst. Und siehe da, ich kann etwas empfangen :-)
Die Idee mit der Modulation war also richtig!!! Vielen Dank hierfür nochmal.
Jetzt geht es mir der Analyse der empfangenen Daten weiter...
Ich werde dann wieder berichten :-)
Hallo,
schau mal bitte hier rein:
http://jeelabs.net/projects/cafe/wiki/Receiving_OOKASK_with_a_modified_RFM12B (//jeelabs.net/projects/cafe/wiki/Receiving_OOKASK_with_a_modified_RFM12B)
Die JeeLib RF12 Bibliothek für den Arduino kann nicht nur FS20 senden sondern auch FS20, S300 und EM10 empfangen/dekodieren.
https://github.com/jcw/jeelib (//github.com/jcw/jeelib)
Eine mit JeeLib kompatible Bibliothek für den Raspberry Pi findest du hier:
https://github.com/gkaindl/rfm12b-linux (//github.com/gkaindl/rfm12b-linux)
Aus eigener Erfahrung mit dem RFM12B und dem Arduino kann ich dir nur empfehlen den C_arssi Kondensator auszutauschen. Ich verwende einen 220pF SMD Kondensator und empfange damit FS20, S300TH und ein weiteres mir nicht bekanntes Gerät.
Vielen Dank für die Links.
Leider lösst es nicht so ganz mein Problem.
Ich kann jetzt bereits die Daten, die von meinem Funk-Thermostat geschickt werden, auslesen. Leider kenn ich den Gerätecode nicht, um die Stelle zu finden, an dem die Temperatur steht.
Hab auch schon versucht nach der Temperatur zu suchen um eventuell den Gerätecode davor zu erkennen. Leider ohne Erfolg :-(
Was mich auch wundert, dass nicht immer die gleiche Anzahl an Bytes geschickt werden. Diese variiert stark.
Auf dieser Seite
http://www.susa.net/wordpress/2012/08/raspberry-pi-reading-wh1081-weather-sensors-using-an-rfm01-and-rfm12b/ (//www.susa.net/wordpress/2012/08/raspberry-pi-reading-wh1081-weather-sensors-using-an-rfm01-and-rfm12b/)
Werden die Daten für die Wetterstation WH1081 erklärt (hab ich leider nicht). Bei der Temperatur werden immer 400 abgezogen, um die Temperatur zu erhalten.
Dies verstehe ich nicht...
Hab wieder mehr Infos gefunden...
Ich benutzte das TX 29-IT Temperatur-Außenfühler. Folgende Werte habe ich rausgefunden:
Mittenfrequenz 868,3 MHz
Modulation: FSK
Frequenzhub: +/- 90 kHz
Datenrate: 17.241 kbit/s
Wo ich die Daten einstelle weis ich, aber wie kann ich die Modulation auf FSK stellen? Mein Code steht auf OOK.
Hallo @ll,
ich kann einfach nicht aufgeben ;-)
Leider find ich im Internet nix, wie man den RFM12B mit dem Raspberry in FSK betreibt.
Hab von der Hochschule Coburg (http://www.hs-coburg.de/20775.3 (//www.hs-coburg.de/20775.3)) einen Artikel gefunden, wie zwei Raspberrys über RFM12B Daten austauschen. Der Anschluss hier ist aber anders, als in den oben genannten Artikeln.
Kann es sein dass ich für FSK Modulation den RFM12B anders anschließen muss?
* RFM12b --- Raspberry Pi (version B):
* GND --- GND (Pin 25)
* VDD --- 3.3V (Pin 17)
* FSK/DAA/nFFS --- über 10k auf 3.3V (Pin 1)
* SDO --- MISO (Pin 21)
* SDI --- MOSI (Pin 19)
* nIRQ --- GPIO 22 (Pin 15)
* nSEL --- CS1 (Pin 26)
Ich hoffe ihr könnt mir weiter helfen :-)
(Die Hochschule Coburg hat leider nur den Code veröffentlicht)
Das RFM12B macht doch von Haus aus (nur) FSK?
ja, stimmt schon. Der RFM12B ist ein FM Empfänger. Es gibt aber eine undokummentierte Funktion, bei der man auf AM umschalten kann.
Die ganzen Anleitungen im Netz verwenden das Modul als AM Empfänger,
daher weiß ich leider nicht, wie ich die "Standard-FM-Funktion" verwenden kann.
Zitat von: schlauby schrieb am Do, 15 August 2013 13:20Der RFM12B ist ein FM Empfänger.
Nein. RFM12B ist ein Transceiver, also bestehend aus einem Empfangs- UND einem Sendeteil.
Zitat von: schlaubyLeider find ich im Internet nix, wie man den RFM12B mit dem Raspberry in FSK betreibt.
Zitat von: schlaubyDie ganzen Anleitungen im Netz verwenden das Modul als AM Empfänger,
Zitat von: schlaubydaher weiß ich leider nicht, wie ich die "Standard-FM-Funktion" verwenden kann.
Was willst Du eigentlich wirklich? AM? FM? FSK? Irgendwie werde ich aus Deinen Fragen nicht schlau - in jeder kommt eine andere Modulationsart ins Spiel.
Hast Du schonmal ins
Datenblatt geschaut?
Ich möchte einen TX 29-IT Temperatur-Außenfühler über den RFM12B empfangen.
Folgender Link hat mir die Daten geliefert:
http://www.seegel-systeme.de/index.php?page=funkthermometer-tx-29-it (//www.seegel-systeme.de/index.php?page=funkthermometer-tx-29-it)
Mittenfrequenz 868,3 MHz
Modulation: FSK
Frequenzhub: +/- 90 kHz
Datenrate: 17.241 kbit/s
-> aus diesem Grund benötigen ich die Modulation FSK :-) und wenn ich es richtig interpretiere FM ist.
ok, sorry bring da was durcheinander, FSK hat nix mit FM zu tun :-(
hab leider kein genaues Datenblatt, nur den Link oben. Ist ja auch in billig Sensor...
Zitat von: schlauby schrieb am Do, 15 August 2013 13:43hab leider kein genaues Datenblatt, nur den Link oben.
Ich hatte Dir in meinem letzten Beitrag oben den Link zum Datenblatt mitgeschickt...
http://www.hoperf.com/upload/rf/rfm12b.pdf
Hallo zusammen,
ich hab inzwischen aufgegeben. Theoretisch soll es möglich sein den RFM12B mit FS20 zu koppeln, aber der Empfang ist nicht so gut, weil der Funkempfänger nicht dafür ausgelegt ist.
Jetzt hab ich bei Busware einen Chip gefunden, der dass kann:
http://busware.de/tiki-index.php?page=CSM
Hallo Schlauby,
warum nimmst Du nicht eines der beiden LCD Erweiterungen für den Raspberry Pi?
http://forum.fhem.de/index.php/topic,12854.0.html (http://forum.fhem.de/index.php/topic,12854.0.html) bzw. das
http://forum.fhem.de/index.php/topic,14156.0.html (http://forum.fhem.de/index.php/topic,14156.0.html)Beim ersten ist das CSM als Modul mit drauf, beim zweiten ist der CC1101 mit im Layout integriert.
Gruß PeMue
Hallo PeMue,
danke für deinen Tip. Das wäre natürlich eine Lösung, ich möchte aber gerne selbst etwas basteln, daher suche ich weiter an einer Lösung :-)
Hab inzwischen auch ein fertiges Modul gefunden, dass genau das abbildet, was ich suche (RFM12 an Raspi zu Funkthermostat)
http://www.seegel-systeme.de/index.php?page=funksensoren-am-raspberry-pi
An die Sourcen komme ich leider nicht dran :-( ohne etwas zu kaufen.
Also werde ich mich jetzt intensiver mit den Funkprotokol beschäftigen - ich weis zumindest jetzt, dass es funktionieren sollte :-)
Gruß schlauby
Hallo zusammen,
ich will jetzt mal meinen Beitrag zum Abschluss bringen ;D
Hab mir bei Seegel-Systeme (http://shop.seegel-systeme.de/Module/Raspberry-RFM.html) das RFM12B mit Platinen gekauft. Dazu gab es eine Pearl Bibliothek. Nach langem Testen habe ich es leider nicht zum Laufen bekommen, bzw ich habe nichts empfangen. Dann habe ich den Raspi neu aufgesetzt und siehe da es lief (plankes Debian). Sobald aber wieder FHEM lief (Debian und FHEM, sonst nix), ging es nicht mehr. Dann habe ich FHEM wieder gestoppt und es lief. Muss aber dazu sagen, dass ich trotzdem max ein Paket pro Minute empfangen habe, obwohl alle 4 Sekunden etwas kommen sollte.
-> Also demnach unbrauchbar mit FHEM (werde mal das Testen mit einem C-Programm, dass schneller ist.
Hab mir jetzt einen Arduino geholt, den per USB an den Raspberry gehängt. Bespielt habe ich es mit dem Lacross-Sketch.
Jetzt empfange ich alle 4 Sekunden ein Paket ;D
Gruß schlauby