Forum: Mikrocontroller und Digitale Elektronik Dekodieren von Wetterstationssendern


von Jörg W. (joergw)


Angehängte Dateien:

Lesenswert?

Hallo liebe Forengemeinde,
ich versuche gerade den Wetterstationsempfänger einer Wetterstation zu
dekodieren.
Wir haben hier zu hause in unserer Wohnung zwei Wetterstationen des
gleichen, namenhaften, Herstellers, die aber leider die Sensoren der
jeweils Anderen nicht anzeigen wollen. Die eine ältere hat Sensoren,
die lediglich die Temperatur messen, die Andere, neuere, wertet auch
die Luftfeuchtigkeit aus.
Da ich es aber nicht einsehe mir weitere Sensoren zu kaufen will ich
eine Bridge bauen, sie soll die alten Sensoren per Funk auslesen und
dann nach dem neuen Muster codieren und Senden. So muss ich nicht mehr
die alte Station betreiben und kann eventuell noch nen Logger
drausbauen.

Also habe ich mich mal mit dem Signal der kleineren, die lediglich die
Temperatur sendet befasst. Zum Empfangen verwende ich einen Empfänger
der billigsten AM Sende / Empfangsets vom großen C.
Der Sensor sendet nach Reset immer zwei identische Pakete. Jeweils
beginnent mit vielen kurzen Pulsen, wie ich annehme zum Einschwingen.
Darauf folgt eine Art Startsequenz immer ein langes Low, ein langes
High und ein langes Low, danach beginnen die Nutzdaten, die für jedes
Aussendung unterschiedlich sind. Nur in welcher Form?
Es wechseln sich immer Positive und negative Flanken ab. Ich konnte
drei verschiedene Längen ausmachen, die im Verhällnis 1/3, 2/3, 3/3
zueinander stehen. Die 1/3 und 2/3 folgen immer aufeinander, die 3/3
stehen in keinem festen Verhälltnis zu den anderen.
Ich hätte jetzt geschätzt, dass die 1/3, 2/3 Folge eine Null oder eine
Eins darstellt und die 3/3 das jeweils andere Bit. Ich habe das für
eine Temperatur mal ausgewertet, dabei kam ich auf 4 Bytes. Toll dachte
ich und versuchte mal die nächste, um 0,1 grad höhere, Temperatur in
Bits zu schreiben, um zu sehen, was sich verändert.
Da Stieß ich auf ein Problem: Meine Rechnung ging nicht auf. Für den
Fall, dass die 1/2, 2/3 Folge eine Eins sei, kam nach der Startsequenz
eine 1, dann beginnt die nächste 1 nur, an der Stelle, wo ich die 2/3
erwarten würde gibt es eine 3/3 dauernde Flanke. Das angehängte Bild
zeigt 26,6°C, das selbe Problem tritt z.B. auch bei 26,4°C auf.
Kann mir da vielleicht jemand unter die Arme greifen? Kennt jemand das
Format der Daten oder hat sowas schonmal gebaut? Im Netz finde ich
keine wirklich brauchbaren Informationen, zumindest niemanden, der das
Datenformat beschreibt.
Gruß,
Jörg

von Läubi (Gast)


Lesenswert?

eventuell 1/3 = 1 2/3 = 0 3/3 = Stopbit?

von Joachim von Briel (Gast)


Lesenswert?

Hallo,
was ist das fuer eine Wetterstation?

Fuer die ws2300 (erhaeltlich bei der namhaften Firma C aus H) gibt es
ein gutes Wiki:

http://www.lavrsen.dk/twiki/bin/view/Open2300/WebHome

Auf der Webseite des Autors steht, das er HF-Elektroniker von Beruf
ist. Vielleicht hat er bereits etwas Vorarbeit geleistet...



Basierend auf diesem Projekt habe ich einen Umsetzer zusammengeloetet:

http://df4ian.de



J.

von Martin K. (maart)


Lesenswert?

Hallo Jörg!

Wie hast Du denn deine Daten ausgelesen? Wie hast du den Empfänger denn
an deine Soundkarte angeschlossen? Ich habe ihn damals direkt und ohne
einen Kopplungskondensator angeschlossen, als Ergebnis habe ich als
Waveform ein fast perfektes TTL-Signal erhalten.

Damals habe ich herausgefunden:
logische Null:  1ms HIGH-Pegel, 0,8ms LOW-Pegel
logische Eins:  0,4ms high, 0,8ms low

Hier mal die Daten des Feuchtigkeitssensors:
Zum Einschwingen werden 4 Nullen gesendet, dann folgt ein Byte mit der
Sensortyp-Kennung, dann die Sensornummer (ändert sich nach jedem
Batteriewechsel, auch ein Byte), Feuchtigkeitswert BCD-codiert
(gepackt, 1 Byte), Wiederholung der Zehnerstelle (BCD-codiert, 1 Byte)
und zum Schluß das Prüfbyte.

sieht also so aus:

0000  0xAE  0xE6  0x39  0x03  0x94   (= 39% Luftfeuchtigkeit)


Die Temperaturdaten werden ähnlich gesendet, muß ich aber nochmal
nachschauen. Der Empfang der Daten war damals kein Problem, nur senden
konnte ich sie nicht: Bis heute habe ich nicht herausbekommen können,
wie das Prüfbyte berechnet wird.

Gruß, Maart

von Sven Günther (Gast)


Lesenswert?

Das sollte dann auch für die Kabel gebundenen Sensoren gelten oder?

Gruss Sven

von Jörg W. (joergw)


Lesenswert?

@Joachim von Briel
Die Links sind schonmal nicht schlecht, ich habe mich da etwas
missverstädnlich ausgedrück, ich will natürlich nicht den Empfänger
benutzen, sondern quasi selbst einen bauen. In dem von dir genannten
Forum habe ich eine Seite gefunden, die das was ich suche für einen
anderen Sender erklärt. (
http://www.dc3yc.privat.t-online.de/protocol.htm bzw.
http://www.dc3yc.privat.t-online.de/protocol_alt.htm )

@Martin Kreiner
Vielen Dank, das werde ich gleich mal auf meine Graphen anwenden.
Ausgewertet habe ich genau wie du, einfach den Ausgang über 200k an
beide Eingänge der Soundkarte angeschlossen und mit 48.000 Hz Mono
aufgenommen.

@Sven Günther
Kabelgebundene Sensoren sind mir bisher nur in Form von NTC / PTC
Widerständen untergekommen.

von Sven Günther (Gast)


Lesenswert?

@Jörg Weinhardt

die Windgeschwindigkeitsmesser und Windrichtungsanzeiger kann man auch
Draht gebunden Anschlissen.

Gruss Sven

von Sssssss (Gast)


Lesenswert?

Hier gibts auch noch ein paar Infos dazu:
http://thomaspfeifer.net/funk_temperatur_sensor_protokoll.htm

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.