Mal wieder eine Wetterstation (Froggit WH5300)

OP #3731065
Lesenswert?
• ▲
▼
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/
Angehängte Dateien:
Gast #3731071
Lesenswert?
• ▲
▼
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.

Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.