mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Dekodieren von Wetterstationssendern


Autor: Jörg Weinhardt (joergw)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht 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

Autor: Läubi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
eventuell 1/3 = 1 2/3 = 0 3/3 = Stopbit?

Autor: Joachim von Briel (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Martin Kreiner (maart)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Sven Günther (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das sollte dann auch für die Kabel gebundenen Sensoren gelten oder?

Gruss Sven

Autor: Jörg Weinhardt (joergw)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Sven Günther (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Jörg Weinhardt

die Windgeschwindigkeitsmesser und Windrichtungsanzeiger kann man auch
Draht gebunden Anschlissen.

Gruss Sven

Autor: Sssssss (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hier gibts auch noch ein paar Infos dazu:
http://thomaspfeifer.net/funk_temperatur_sensor_pr...

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
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.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.