Guten Morgen liebes Forum, wie so oft schon gesehen, geht es hier um die Dekodierung der Funkdaten einer Wetterstation zwischen Station und Sender. Es handelt sich um eine Froggit WH5300 [1], die auch unter anderen Namen vertrieben wird (z.B. ChilliTec WH5530). Eine Internet/Forensuche hat leider nichts ergeben, daher bitte ich hier um hilfreichen Input. Anbei sind mehrere Screenshots des empfangenen Telegramms: - whole_telegram.png zeigt das Telegramm in der Übersicht. Deutlich zu sehen ist eine Präambel gefolgt von 'dichtem Code' - FastBits zeigt den hinteren 'dichten' Teil des Signals. Die Pulsbreiten sind etwa 2,5 ms mit wechselnden Weiten des ersten Signalteiles mit 1,45ms und 1,05ms. - Weather.logicdata sind die Rohdaten, aufgenommen mit meinem Saleae Logic. Download der GUI unter [2] Empfangen wurde über die Station per Abgriff am Empfänger. Das gleiche Signal ist auch mit einem gewöhnlichen Superregenerativempänger auf 433MHz per ASK/OOK zu empfangen. Ich gehe davon aus, dass das Telegramm aus 3 Teilen besteht: - Startsignal (ganz weit links) - Präambel zum Einschwingen/Tunen des Empfängers - Manchester-Kodierte Daten im hinteren Teil Da das Signal ähnlich aussieht wie unter [3], wo jemand eine Wetterstation mit einem 433 MHz Empfänger am Raspberry dekodiert hat, gehe ich mal davon aus, dass dessen Erklärung "RTZ PWM (Return To Zero, Pulse Width Modulation)" auch auf das Signal meiner Station passt. Ist diese Annahme richtig? Außerdem frage ich mich, wie ich im Code (werde C nutzen) das Signal auf die Nutzdaten filtern kann. Reicht hier ein Array, dass erst ab einem gewissen Index bearbeitet wird? Ich danke bereits jetzt für eure Hilfe. Viele Grüße Sascha [1] http://www.froggit.de/product_info.php/info/p163_wetterstation-froggit-wh5300.html [2] https://www.saleae.com/downloads [3] http://www.susa.net/wordpress/2012/08/raspberry-pi-reading-wh1081-weather-sensors-using-an-rfm01-and-rfm12b/
Sascha K. schrieb: > Außerdem frage ich mich, wie ich im Code (werde C nutzen) das Signal auf > die Nutzdaten filtern kann. Dein Empfänger hat in der Präambel etwas Probleme mit seinem Schwellwert, erkennbar an dem Prellen auf den steigenden Flanken. Davon darf sich die Auswertung nicht irritieren lassen. Bei den Nutzdaten bietet es sich an, auf die steigenden Flanke zu reagieren und ca. 1ms später den Signalpegel auszuwerten. Dafür bietet sich eine Timersteuerung an. Ob du den Code dafür in C oder sonsteiner Programmiersprache erzeugst, ist völlig wurscht.
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.