Hallo, ich habe im Forum schon ein wenig nach diesem Thema gesucht, aber nichts passendes gefunden. Daher vorab schon mal sorry, falls dies eine "alte Frage" sein sollte und die Bitte mich ggf. auf die richtige Spur zu bringen. Ich möchte gerne am PC, die übertragenen Daten meiner Funkthermometer mitschreiben und ggf. später auch mal per Software auswerten. Ich habe diverse Funkmodule hier zum "Spielen", angefangen von den Pollin RF12 Modulen über das RZ600 von Atmel (AT86RF212, AT86RF230, AT86RF231) und die ChipCon Module 1101 aus dem TI Shop. Das Thermometer sendet mit 868 MHz, soweit so klar. Im Forum gibt es einige Threads die sich mit dem Thema befassen: "Was ist das für ein Protokoll", usw. und es wir dein entsprechender Bitstream präsentiert, der decodiert sein will. Mich interessiert aber als allererstes die Frage: Wie komme ich überhaupt erstmal an so einen Bitstream, wie zeichne ich sowas auf? Gibt es dafür fertige (kostenlose?) Tools? Von TI gibt es den SmartRF Sniffer, der aber wohl mit meiner Kombi (SmartRF04EB und CC1101) nicht funktioniert. Ich möchte als ersten Schritt erstmal nur das "visualisieren", was so über den Äther geht - wenn das überhaupt möglich ist. Entweder mit fertiger Software á la SmartRF Sniffer oder, mit etwas Programmierarbeit, auch einfach alles auf einem ATmega mit den RZ600 Empfängern mitlesen und über UART an den PC senden. Ich stelle mir das so vor, dass ich dann wahrscheinlich viele, viele "Nuller" empfange und in dem Moment, wo die Funkstationen was senden, dann irgendwas signifkantes im Bereich zwischen 0 und 255 (oder sonst irgendeinen Ausschlag). Ich möchte mich erstmal mit der Materie befassen, verstehen was passiert wenn ich an diesem oder jenem Parameter der Funkmodule drehe. Und das geht nun mal am Besten wenn man das Ergebnis auch irgendwie "sehen" kann. Habe ich da eine völlig falsche Vorstellung von dem Thema oder wäre das ein sinnvoller, und vor allem einfacher, erster Schritt? Wie man wohl schon rausliest, hatte ich mit Funk bislang nicht wirklich was zu tun. Abkürzungen wie RSSI, SNR usw. verstehe ich, aber damit hörts auch erstmal auf... Könnte mir jemand bitte bei diesen ersten Schritten helfen?
Markus D. schrieb: > Mich interessiert aber als allererstes die Frage: Wie komme ich > überhaupt erstmal an so einen Bitstream, wie zeichne ich sowas auf? Gibt > es dafür fertige (kostenlose?) Tools? Die fertigen Tools dafür sind das komplette Gegenteil von kostenlos, nämlich extrem kostenintensiv: ein Spektrumanalysator. Den braucht man zumindest erst einmal, um das Signal initial so weit zu analysieren, dass man sich einen Reim auf die verwendete Modulation und deren Parameter gemacht hat. Mit aktuellen Spektrumanalysatoren kann man danach auch noch den Signalverlauf aufzeichnen, ansonsten könnte man an dieser Stelle einsetzen und einen passenden IC entsprechend zu konfigurieren versuchen.
Jörg Wunsch schrieb: > Markus D. schrieb: >> Mich interessiert aber als allererstes die Frage: Wie komme ich >> überhaupt erstmal an so einen Bitstream, wie zeichne ich sowas auf? Gibt >> es dafür fertige (kostenlose?) Tools? > > Die fertigen Tools dafür sind das komplette Gegenteil von kostenlos, > nämlich extrem kostenintensiv: ein Spektrumanalysator. Den braucht > man zumindest erst einmal, um das Signal initial so weit zu > analysieren, dass man sich einen Reim auf die verwendete Modulation > und deren Parameter gemacht hat. Oh ja, so ein Teil würde ich mir auch wünschen... ;-) > Mit aktuellen Spektrumanalysatoren > kann man danach auch noch den Signalverlauf aufzeichnen, ansonsten > könnte man an dieser Stelle einsetzen und einen passenden IC > entsprechend zu konfigurieren versuchen. Hmm, kann man da nicht auch einfacher herangehen - wenn es auch trotzdem noch ordentlich Geld kostet (3-stellig, die erste Ziffer wird keine 1 sein). Diese 868MHz-Sachen benutzen entweder AM oder FM soweit ich weiss. Also nimmt man einen Funkscanner oder so der AM und FM und natürlich die Frequenz kann. Dessen Ausgangssignal tut man dann in eine PC-Soundkarte (oder ein Oszi?) und schaut es mit einer passenden Software an. Immer vorausgesetzt die Signale sind primitiv und schmalbandig genug dass das technisch hinhauen kann. Dazu müsste man mal nachlesen was die verrückten Hersteller so um 868MHz treiben (dürfen).
Oookay... das heißt also, einfach nur - bildlich gesprochen - "Receive all" am Funkchip einzustellen, sowas geht nicht? Wenn ich nun aber die genaue Frequenz wüsste, dann ist das doch alles nicht nötig, oder? Kann ich mich nicht einfach durch das 868 MHz Band in kleinen Schritten wühlen? Mir geht es ja auch darum, wie ich denn die Daten erstmal irgendwie zu Gesicht bekomme: Also sowas wie: **PSEUDOCODE** long freq = 867998000 for (stepfreq=0 to 20000) { freq=freq+stepfreq byte b = readfromrf(freq) uart_write(b) } Wäre sowas nicht möglich? Oder hätte da jemand vielleicht was mehr oder weniger fertiges für die o.a. Runkmodul-Chips?
Warum so umständlich. Die HF ist doch nur das Transportmedium der Information. Dich interessiert aber die Info, also musst du anders ansetzen. Mache ein Funkthermometer auf, suche die Stelle an der "die Info" dem Modulator übergeben wird und hänge dich dort mit einem Logikanalyser oder Speicheroszi dran. Lass dir das Protokol anzeigen und werte das aus. Alleine das wird schon schwierig genug sein, warum sich also mit HF befassen?
Hallo, mir gehts ja gerade um den Funkteil, weil ich mehr darüber lernen möchte (und ich jetzt hier diese diversen Funkmodule rumliegen habe, die sonst nur verstauben) ;-)
Ich würde den Audacity empfehlen. Nimmt von der Soundkarte auf und das über mehrere Stunden. Man kann die Aufzeichnung später damit analysieren. Müsstest die Soundkarte an den Sender (TX Data) ankoppeln. http://audacity.sourceforge.net
Markus D. schrieb: > Wäre sowas nicht möglich? Den Funkkanal zu finden, ist nicht das Problem, sofern das Funkmodul nicht wild zwischen den verfügbaren Funkkanälen hin- und her hüpft (Frequency hoping) oder eine Spread Spectrum Modulation verwendet. Die Information kann dem Funksignal auf sehr unterschiedliche Weisen aufgeprägt sein: Amplitudenmodulation, Frequenzmodulation u.v.a.. In deinen Funkmodulen wird irgendwo zwischen Empfänger und Dekoder der demodulierte Datenstrom durchlaufen. Da kannst du ihn dir ansehen, wenn du ran kommst. Ohne Demodulator direkt auf der HF bzw. ZF zu gucken, bringt i.A. nichts. Auf einem leeren Funkkanal wirst du übrigens eher ein wildes Rauschen als eine saubere 0 empfangen, falls der Empfänger nicht bei zu niedrigen Signalpegenl den Ausgang über eine Rauschsperre abhängt.
Die RFM (und andere) Funkmodule lassen einem bei Modulation, Protokoll usw. nicht sonderlich viel Wahl. Die Module sind auch schon zu sophisticated und werden daher nicht in billig-Funkthermometern/Türklingeln/etc. verbaut, weil zu teuer. Wie oben schon beschrieben kommt da meistens FSK (oder selten noch AM) zum Einsatz. Der einfachste Weg da ranzukommen, ist meistens irgendein anderes, möglichst billiges Funk-Device aus dem selben Band zu kaufen (z.B. Türgong) und da dann im Receiver das Signal hinter dem HF-Teil abzugreifen und in die Soundkarte zu werfen. Bei den 433MHz Empfängern findet man da oft einen Schmitt-Trigger hinter dem ein PT2272 o.ä. hängt - da kann man das gut am Eingang des 74ac14 abgreifen, dann kann man sich in Software auch nen RSSI-threshold definieren. Grundsätzlich gibts bei 868MHz zwar noch verschiedene Bereiche (http://www.rn-wissen.de/index.php/Funkmodule#Das_neue_868_MHz_Band), ich würde es da aber einfach drauf ankommen lassen und mal so eine Türklingel versuchen - oft gibts die schon für 5€. In nem 433MHz device hab ich auch schon oft diskret aufgebaute HF-Teile gefunden die eine kleine Abstimmspule mit Ferritkern zum raus/reindrehen haben.
Das Mitschneiden ist nicht so sehr das Problem. Zu einem Funkthermometer gehört in der Regel ein Empfänger. Hier sucht man sich den Ausgang, der den Datenstrom ausgibt. Um ihn auszuwerten, kann man hier, wie schon oben geschrieben, ein Oszi oder den Mikrofoneingang (Soundkarte) anschließen. So hatte ich es mal versucht, aber wieder aufgegeben, da ich das Protokoll nicht entschlüsseln konnte. (zu doof) Trotzdem viel oder mehr Erfolg. MfG
Ein "mitschneiden" auf der HF-Schnittstelle ist aussichtslos sofern man nicht einen "REALTIME" Spektrumanalyzer hat und den gibts erst ab 20 KiloEuro. Die Thermometer senden nämlich nicht permanent sondern nur alle paar Minuten ein Telegram das deutlich kürzer als 1 Sekunde ist. Ein normaler Spektrumanalyzer zeigt da gar nichts an, geschweige dass man auf die Parameter der Modulation schließen könnte. Sinnvollerweise nimmt man den Originalempfänger und sucht das demodulierte Signal um es dann zu dekodieren. Die Empfänger sind jedoch nicht permanent auf Empfang da dies bei Batteriebetrieb eine viel zu kurze Lebensdauer ergeben würde. Der Empfänger sucht nach einlegen der Batterien, oder einmal am Tag, seine Sender indem er für 5-10 Minuten alles empfängt und analysiert. Wenn Stationen empfangen wurden so merkt sich der Empfänger die Sendezeit und schaltet dann den Empfänger erst wieder ein wenn eine Übertragung des Senders (festes Intervall) kurz bevorsteht. Bei dem Modell das ich untersucht habe wurde der Empfänger nur Millisekunden vor der Aussendung eingeschaltet und sofort danach wieder aus. Schaltet man den Empfänger zwangsweise ein so erscheint dort am Ausgang nur ein digitales Rauschsignal. Da die Thermometer nur alle paar Minuten senden ist eine Analyse des Protokols eine Sache für Leute mit viel viel Zeit oder einem Logicanalyzer mit intelligentem Trigger und großem Speicher.
>> Ein "mitschneiden" auf der HF-Schnittstelle ist aussichtslos sofern man >> nicht einen "REALTIME" Spektrumanalyzer hat und den gibts erst ab 20 >> KiloEuro. Jetzt übertreibe mal nicht. Wenn Du dieses Problem tatsächlich mit 20k€ erschlagen willst, frage ich mich, wie die ganzen Leute hier Elektronik als Hobby betrieben können. Wenn man den Empfänger hat und dessen Empfängermodul abgreifen kann kostet das keine 10Euro. Einen TV-Tuner bekommt man auch in diesen Frequenzbereich gedreht, so dass man die ZF runtermischen und mit der Soundkarte sampeln kann. Kosten < 50€ Wenn keine Ahnung von der Modulation hat und nichts selbst bauen will, kauft man sich ein USRP und ist mehr als sehr gut ausgestattet um ordentlich Bandbreite zu sampeln und das Filtern und demodulieren am PC zumachen (GNU-Radio),für <1000€. Kreativität ist gefragt ...
Thomas Fr schrieb: > Einen TV-Tuner bekommt man auch in diesen Frequenzbereich gedreht, so > dass man die ZF runtermischen und mit der Soundkarte sampeln kann. Ja, das wäre eine Art "spezielles (für diesen Anwendungszweck) SDR". Ist letztlich nicht viel anderes als ein Spektrumanalysator mit vergleichsweise geringer (einige 10 kHz) maximaler Bandbreite. Aber ein Erstlingsprojekt dürfte das trotzdem auch nicht gerade sein.
Thomas Fr schrieb: > Jetzt übertreibe mal nicht. Wenn Du dieses Problem tatsächlich mit 20k€ > erschlagen willst, frage ich mich, wie die ganzen Leute hier Elektronik > als Hobby betrieben können. So macht man es professionell, wenn man zu einem Ergebnis kommen muss. > Wenn man den Empfänger hat und dessen Empfängermodul abgreifen kann > kostet das keine 10Euro. Das war auch mein Vorschlag und damit muss man nichts über die HF-Übertragung wissen. > Einen TV-Tuner bekommt man auch in diesen Frequenzbereich gedreht, so > dass man die ZF runtermischen und mit der Soundkarte sampeln kann. > Kosten < 50€ Reine Theorie, praktisch absolut aussichtslos. Selbst wenn man 868 MHz empfangen kann, dann hat man ein Ausgangssignal auf 34MHz das man runter mischen muss. Breitbandig oder doch besser mit einem SAW begrenzen? Mit TV-ZF-ICs mischen bei 8MHz Bandbreite? Wie generiert man die AGC für den Tuner? Das einzige was man hier mit der Soundkarte sampeln kann ist Rauschen. > Wenn keine Ahnung von der Modulation hat und nichts selbst bauen will, > kauft man sich ein USRP und ist mehr als sehr gut ausgestattet um > ordentlich Bandbreite zu sampeln und das Filtern und demodulieren am PC > zumachen (GNU-Radio),für <1000€. Mag sicher gehen aber hier braucht man noch viel viel viel mehr Zeit um eine Software zu generieren/schreiben die das Signal filtert und demoduliert (noch nicht mal decodiert) von dem der TO nicht weiß wie es ausschaut. Immer dran denken, das Signal ist nur für wenige hundertstel Sekunden in der Luft! Falls es unter GNU-Radio einen universellen 434/868MHz Schmalbandsniffer mit gefilterter Aufzeichnung bereits gibt wäre ich an einem Link interessiert. Man könnte viel mehr Parkplätze nutzen ;-) > > Kreativität ist gefragt ... Na dann zeig mal wie's geht .....
>> So macht man es professionell, wenn man zu einem Ergebnis kommen muss.
Ja, das stimmt. Ich wollte nur aufzeigen, dass es auch andere
Möglichkeiten gibt. Ich benutze für solche Spielereien einen
Kommunikationsempfänger mit IF-Ausgang, den ich entsprechend
runtergemischt und bandbreitenbegrenzt auf einen BT878 gebe. Damit
bekommt man 350-400 kHz Bandbreite beim realtime Sampling.
Hallo, ok, also ich habe verstanden, das das wohl alles nicht ganz so trivial ist, wie ich zunächst vermutet habe :-( - und dabei habe ich ja noch gar nicht das Thema mit der Analyse des Bitstroms angeschnitten... Was mich nur wundert: Das heisst, dass bei den ganzen Threads hier im Forum zum Thema Funkthermometer vermutlich immer ein zusätzlicher Empfänger benötigt wurde und dort das Signal nach dem Empfang abgegriffen wird? Heisst auch ich kann mir nicht einfach mit einem Arduino Board und einem RF-Shield o.ä. etwas zusammen basteln, sondern habe sozusagen immer so einen "Klotz" (anderer Empfänger) mit dran hängen? Ich kann also mit meinen ganzen Funkmodulen diesbezüglich nicht wirklich was anfangen?? Sind die dann echt nur geeignet wenn ich etwas baue, wo ich sowohl den Sender als auch den Empfänger "unter meiner Kontrolle" habe? Wenn ich aber nun einen zweiten Empfänger nehme - ist es denn nicht so, dass die Sender immer zu einem Empfänger "gepaired" werden und das ggf. sogar dann Empfängerspezifisch verschlüsselt wird? In diesem Fall würde mir ja der zweite Empfänger überhaupt nichts bringen, oder? VG Markus
Hi, wenn Du etwas Zeit hast studier dich doch mal durch die site http://jeelabs.net/projects/cafe/wiki/Decoding_the_Oregon_Scientific_V2_protocol gibt dort einen Bericht über die Methodik zum Decodieren diverser Funkprotokolle sowie Hardware auf RFM 12 /Arduino Basis
Markus D. schrieb: > Hallo, > > ok, also ich habe verstanden, das das wohl alles nicht ganz so trivial > ist, wie ich zunächst vermutet habe :-( - und dabei habe ich ja noch gar > nicht das Thema mit der Analyse des Bitstroms angeschnitten... Oohhh, den Bitstrom nachzuvollziehen ist nochmal ganz was anderes. > Was mich nur wundert: Das heisst, dass bei den ganzen Threads hier im > Forum zum Thema Funkthermometer vermutlich immer ein zusätzlicher > Empfänger benötigt wurde und dort das Signal nach dem Empfang > abgegriffen wird? Im Prinzip schon. > Heisst auch ich kann mir nicht einfach mit einem Arduino Board und einem > RF-Shield o.ä. etwas zusammen basteln, sondern habe sozusagen immer so > einen "Klotz" (anderer Empfänger) mit dran hängen? Keine Ahnung was das RF-Shield genau macht, wenn es die richtige Frequenz und Demodulation macht - die Du aber ja scheinbar nicht genau kennst? > Ich kann also mit meinen ganzen Funkmodulen diesbezüglich nicht wirklich > was anfangen?? Sind die dann echt nur geeignet wenn ich etwas baue, wo > ich sowohl den Sender als auch den Empfänger "unter meiner Kontrolle" > habe? Ja und nein. So wie sie sind stimmt das. Mit ein bisschen Bastelei (und zusätzlicher Technik) kann man damit schon was anfangen indem man das Signal schon "vor dem Ausgang" abgreift und etwas damit tut. Ist natürlich ein bisschen Glücksspiel und ohne Schaltplan usw. macht das auch keinen Spass. > Wenn ich aber nun einen zweiten Empfänger nehme - ist es denn nicht so, > dass die Sender immer zu einem Empfänger "gepaired" werden und das ggf. Nicht wirklich, das Pairing findet auf Ebene des Bitstroms statt, es ist einfach eine Art Netz-ID die übertragen wird. > sogar dann Empfängerspezifisch verschlüsselt wird? In diesem Fall würde > mir ja der zweite Empfänger überhaupt nichts bringen, oder? Hehehe, ach Gott, die Optimisten werden nie alle... ;-) Verschlüsselt? Träum weiter, das wird alles im Klartext übertragen, sonst könnte ja der Nachbar nicht mithören/rumstören. Und es würde womöglich 10 Cents mehr kosten, geht ja garnicht sowas.
Hi, Schneideroldie schrieb: > Ein "mitschneiden" auf der HF-Schnittstelle ist aussichtslos sofern man > nicht einen "REALTIME" Spektrumanalyzer hat und den gibts erst ab 20 > KiloEuro. > Die Thermometer senden nämlich nicht permanent sondern nur alle paar > Minuten ein Telegram das deutlich kürzer als 1 Sekunde ist. Ein normaler > Spektrumanalyzer zeigt da gar nichts an, geschweige dass man auf die > Parameter der Modulation schließen könnte. Sinnvollerweise nimmt man den > Originalempfänger und sucht das demodulierte Signal um es dann zu > dekodieren. Naja, wenn zumindest der grobe Frequenzbereich bekannt ist brauch tman nicht zwangsläufig ein Realtime SA. Die meisten zumindest für ambitionierte Hobbyisten noch bezahlbaren gebrauchten SA der Preisklasse 1-3K Euro bieten eine kleinstmögliche sweep Time die Geringer ist als Sendezeit. Mittels der MaximumHold Funktion lässt sich das dann schon gut bestimmen wo die Geräte genau Senden. Für eine Ausgiebige Analyse des Modulationssignals reicht das aber bei weiten dann doch nicht. Allenfalls kann man daraus sehr grobe Rückschlüsse ziehen wenn es markante Merkmale gibt. Da dürfte es vielversprechender sein einfach einen Breitband Audioempfänger (Scanner) auf die Frequenz einzustellen und mittel geübten GEhör die Auswahl der möglichen Modulationen auf einen ganz kleinen Kreis zu beschränken. Diese dann durchprobieren bis man auf dem Skope sowohl beim Originalen Empfänger als auch beim Versuchsempfänger denselben BitStrom abgreift. Wobei: Wenn man realistisch ist, dann kommen ja nun nicht wirklich viele Modulationsvarianten in Frage. Es wird ja wohl etwas sein das technisch einfach zu realisieren und zudem "gängig" ist. Denn ein denn ein Billigthermometerhersteller wird wohl kaum mit der Entwicklung eines Modulationsverfahrens anfangen. Aber über den Inhalt der Nachricht sagt das noch gar nichts aus, das ist eine andere Baustelle. > Da die Thermometer nur alle paar Minuten senden ist eine Analyse des > Protokols eine Sache für Leute mit viel viel Zeit oder einem > Logicanalyzer mit intelligentem Trigger und großem Speicher. Nun ja... Fürs erste kann man das Senden des Aussenmoduls auch "provozieren" in dem man es immer wieder von der Spannungsquelle trennt. HAt man dann mit etwas probieren die richtigen PArameter für die Luftschnittstelle gefunden würde ich einfach mal eine Zeitlang sowohl den Bitstrom als auch den "Klartext" aufzeichen und zudemm wenn möglich einzelne PArameter geziehlt beeinflusse. Das erfordert natürlich trotzdem ein wenig Knobellei und vor allem GEduld. Aber das sollte bei Bastelprojekten ja OK sein. Im Professionellen Bereich würde man natürlich mit anderer Ausrüstung an die Sache ran gehen. Aber ehrlich gesagt glaube ich kaum das sich DIESE Fragestellung in dieser Form im Professionellen Bereich jemals stellen wird. Markus D. schrieb: > Ich kann also mit meinen ganzen Funkmodulen diesbezüglich nicht wirklich > was anfangen?? Sind die dann echt nur geeignet wenn ich etwas baue, wo > ich sowohl den Sender als auch den Empfänger "unter meiner Kontrolle" > habe? Das kommt darauf an. Wie oben schon geschrieben ist die Auswahl der Übertragungsverfahren bei derart Simplen Anwendungen recht Übersichtlich. Bei vielen Dingen stehen die Chancen also gut das man auch ein Fremdgerät zur Kommuniktation mit einem dieser Funkmodule benutzen kann. Aber es führt kein Weg daran vorbei das man dazu sowohl die Frequenz wie auch das Übertragungsverfahren kennen muss. Das kann durch Messen und Analysieren - oder aber durch Versuch und Irrtum erfolgen. ICh würde an deiner sTelle versuchen versuchen die genaue Frequenz deines Funkthermometers herauszubekommen. Meist können die ja eh nur einen Kanal... Die Frequenz findet sich nicht selten auf einem Schildchen am GErät oder als Hinweis in der Bedienungsanleitung. Sonst hilft nur Messen. Dann nimmst du einfach alle Funkmodule die DIR zur Verfügung stehen und programmierst diese Frequenz. Jetzt vergleichst du das Ausgangssignal von diesen Modulen mit dem Ausgangssignal der Empfängers in deiner Innenstation. Wobei, manchmal ist dieser Vergleich gar nicht nötig. Bei einigen Verfahren kommt es ja nur darauf an das du sauber die beiden logischen Zustände unterscheiden kannst. Wenn also eines der Module ein schönes Datensignal liefert könnte das schon reichen. Danach gibt es nur noch das Vergleichen von TElegramm und Klartext. Wenn man aber kein Modul findet das ein brauchbares Signal liefert... PECH GEHABT! Gruß Carsten Gruß Carsten
Carsten Sch. schrieb: > Denn ein denn ein Billigthermometerhersteller wird wohl > kaum mit der Entwicklung eines Modulationsverfahrens anfangen. Das könnte ja aber der IC-Hersteller für ihn erledigt haben. OK, ist für ein Thermometer nun wirklich nur hypothetisch, aber wenn du dir anguckst, dass IEEE 802.15.4 eine OQPSK standardisiert, dann ist da wohl nichts mehr groß mit "nach Gehör entscheiden".
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.