Forum: Mikrocontroller und Digitale Elektronik Mal wieder eine Wetterstation (Froggit WH5300)


von Sascha K. (kuschelganxta)


Angehängte Dateien:

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/

von Wolfgang A. (Gast)


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.

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
Noch kein Account? Hier anmelden.