Startseite
Über Mich
AHP4
Galerie
Sehschlangen
Tourenbuch
Bookmarks
Elektronik
Bewertung
Geschichten
[Tagesmessung] [Jahreswerte] [Information]

Wetterstation

Der Anfang meiner Wetterstation war im Grunde genommen ein 19-Zoll-Rack, das ich Ende 1996 geschenkt bekommen habe. 1997 entstand die Idee eines Windmessers als Einschub für dieses Rack.

Ab 1998 lief der Windmesser auf dem Dach von Heim VI. Mit der Entwicklung eines Einschubs mit einem 16-Kanal-AD-Wandler bot sich dann die Möglichkeit, weitere Sensoren in das Rack zu integrieren. Folgende Sensoren kamen hinzu:
  • Helligkeitssensor auf LDR-Basis
  • Temperaturfühler
  • Barometer
Damit war der Anfang für die Grundfunktionen einer Wetterstation gemacht. Der nächste und nur konsequente Schritt war, die Messwerte im Internet online abrufbar zu machen. Zunächst geschah dies über den Heimserver in Heim VI, ab Sommer 1999 wurde das Konzept der Online-Anbindung grundlegend überarbeitet.

Das Einlesen der Messwerte über den Parallelport übernahm jetzt ein Linux-Server, der mit einem selbstgeschrieben Utility auch sofort HTML-Code generierte und auf einem Apache-Server online zur Verfügung stellte. Im Sommer 1999 zog die Wetterstation auf das Dach des Glückauferhauses in Clausthal um.

Im November 2002 kam als vorläufig letzte Erweiterung ein Niederschlagsmesser hinzu. Die Idee dazu kam, natürlich, während des Jahrhunderthochwassers im Sommer 2002.

Aufgrund von Umbauarbeiten im Server-Raum des Glückauferhauses, der bisher meine Wetterstation beherbergte, wurde meine Wetterstation demontiert und hielt einen mehrjährigen Dornröschenschlaf. Im Februar 2006 startete dann die Reaktivierung der Wetterstation. Während der Aufbau der Hardware unverändert blieb und lediglich zwei Reed-Kontakte und zwei Register-ICs getauscht werden mussten, wurde die Präsentation der Messergebnisse an eher zeitgemäße Techniken angepasst. Statt einer HTML-Generierung durch ein C-Programm werden die Messergebnisse nun in einer mySQL-Datenbank gespeichert und durch PHP-Skripte aufbereitet. Dies ermöglicht völlig neue Möglichkeiten der Datenaggregation.

Im Zeitraum von 2006 bis 2012 war die Wetterstation in Groß Twülpstedt in Betrieb. Leider erwies sich der Betrieb von Regen- und Windmesser als schwierig, immer wieder gab es Defekte. So sorgte der Jahrhundertsturm Kyrill im Januar 2007 für einen Totalausfall des Windmessers. 2009 musste ich dann kapitulieren, die Wetterstation lief aber noch bis Juni 2012, dann mottete ich die Wetterstation für etliche Jahre ein. Zwei Umzüge in 2015 und 2019 sorgten dafür, dass viele Elemente der Wetterstation entsorgt wurden.

Ende Januar 2020 habe ich in Neindorf den mühsamen Anlauf gestartet, die Wetterstation zu reaktivieren. Das 19"-Rack war noch vorhanden, aber den damals verwendeten Linux-Server mit dem passenden Namen petrus hatte ich beim Umzug von Groß Twülpstedt nach Velpke entsorgt. Glücklicherweise meinte ich, noch die Backups des home-Verzeichnisses auf CD zu haben. Es gab viele Sicherungen, nur die aktuellste habe ich mit nach Velpke genommen. Und dann begann das Drama! Auf der CD war tatsächlich der alte Quelltext vorhanden, im Unterordner wetter. Datei MessStation.c mit ca. 20kB. Juhu! Dann der große Schreck: Die Datei ließ sich nicht öffnen. Die ganze CD (ca. 470 MB) war lesbar, Ausnahme: Alles im Unterordner wetter! Auch der Einsatz von ddrescue konnte nichts retten, ein einziger 2048-Byte-Block auf der CD-ROM war defekt, und der saß genau auf dem C-Quelltext! Meinen damaligen Linux-Rechner habe ich wieder zusammengesetzt und hochgefahren, aber dort war der Quelltext nicht abgelegt. Tja, dann musste ich also Reverse Engineering betreiben.
In folgenden Phasen habe ich die Wetterstation in Betrieb genommen:
  1. Einarbeiten in RaspBerry GPIO-Anschlüsse
  2. Auswahl der GPIO-Pins, Zuordnung zum Centronics-Parallelport
  3. Bau eines Adapterkabels zwischen RaspBerry und dem Parallelport-Anschluss des 19"-Racks
  4. Erste Tests mit den 8-Bit-Datenleitungen. Umgang mit STROBE. Dabei Sammeln erster Grundkenntnise mit der WiringPI-API. Traurig war dabei, dass der Programmierer von seinem Projekt mittlerweile die Schnauze voll hat, weil seine Leistung von anderen Mikrocontroller-Plattformen ausgenutzt wurde.
  5. Erstellung eines einfachen Hallo-Welt-Programms für den RaspBerry: Ein Knight-Rider-Lauflicht.
  6. Aus den Schaltplänen, die ich 1996 und 1997 erstellt habe, rekonstruierte ich die Funktionsweise des SRAM-Einschubs und die Ansteuerung der 15x14-LED-Matrix
  7. Grundprinzipien der Steuerung programmiert: Zwei Steuerleitungspaare D0/D1 und D2/D3. Koordination mit den Kommando- und Informationsladeleitungen D4-D7. Impulsgebende Funktionen und Steuerfunktionen in C implementiert.
  8. Nach ersten Versuchen erste komplexe Funktion zum Setzen oder Löschen von Matrixpunkten geschrieben.
  9. Funktionen zum Zeichnen von Linien und Rechtecken
  10. Aufbau einer LED-Zeichenbibliothek (am Ende ca. 85 Einzelzeichen), Implementierung einer Laufschrift.
  11. Erste Versuche, Daten über die Centronics-Eingangspins über den GPIO einzulesen. Dies schließt auch die Konfiguration mit PullUp an den GPIO-Pins, da die Ausgänge des 19"-Racks mit Active-Low-Logik arbeiten.
  12. Funktionsweise des 16-Kanal-AD-Wandlers aus Schaltplan und Platine ermittelt.
  13. Erste Sensoren am AD-Wandler angeschlossen. Schwerwiegendes Timing-Problem im Zusammenspiel mit 16-Kanal-Analog-Multiplexer und dem AD-Wandler gel¨st.
  14. LDR-Signal erfolgreich ausgewertet.
  15. Luftdruck-Sensor per Datenblatt funktional abgebildet.
  16. Mit drei Referenzpunkten (Außentemperatur, Raumtemperatur, Körpertemperatur in der Achselhöhle) eine kubische Intervallinterpolation für die Temperaturmessung implementiert.
  17. PHP-Skript zum Einfügen neuer Messerte in die Datenbank
  18. Auf dem RaspBerry cronjob zum Einlesen der Wetterdaten vom 19"-Rack und Weiterleiten an die Homepage erstellt.
Ergebnis: Am 13.02.2020 nahm die Wetterstation in Wolfsburg-Neindorf wieder ihren Betrieb auf. Wind- und Regenmesser setzten weiteres Equipment voraus, das wenige Tage später ergänzt werden konnte.

Update 01.09.2020: Seit heute ist der Sensor AM2306, ein kombiniertes Thermometer mit Hygrometer, geeignet für den Außenbereich, im Einsatz. Der AM2306 ist nur per eBay direkt aus China (Hersteller Aosong) zu beziehen. Über ein sehr interessantes 1-Wire-Protokoll wird der Sensor ausgelesen. Die auf der Wetterseite angezeigte Außentemperatur kommt jetzt aus dem AM2306. Der Sensor misst die Temperatur mit einer Nachkommastelle Genauigkeit, allerdings kann die Datenbanktabelle nur Integer abspeichern. Es wird daher die gerundete ganzzahlige Temperatur verarbeitet.

Update 03.11.2020: Integration des CO2-Sensors MH-Z19B.

Update 17.07.2021: Aufbau eines Windrichtungssensors. Über Reed-Kontakte schaltet der Sensor in 45 Grad-Schritten verschiedene Widerstandswerte. Per Spannungsteiler kann ich eine Spannung auf den AD-Wandler geben und in eine Windrichtung umwandeln.

Update 10.03.2022: Bei dem schweren Orkan am 20.02.2022 hat es die Kabel am Windmesser durchgescheuert. Zuerst dachte ich an einem Schaden des Reed-Kontakts, aber der klickerte lustig vor sich hin. Verbindungsstellen neu gelötet und die Mimik mit Kabelschellen am Holzmasten befestigt, das sollte jetzt etwas länger halten.

Update 15.07.2022: Im Tagesdiagramm erfolgt jetzt auch die Darstellung einer Stundenwindrose. Basierend auf den Windrichtungsmessungen einer Stunde wird die am häufigsten gemessene Windrichtung als kleiner Pfeil dargestellt. Es kann durchaus mal vorkommen, dass zwei Windrichtungen mit gleicher Häufigkeit gemessen werden. Die Anzeige nach Kardinalität fand ich besser als das Ermitteln des arithmetischen Mittels, da es sich aus meiner Sicht mathematisch nicht vermeiden lässt, dass dann die Windrichtungen Nordwest und Nord stochastisch zu kurz kommen.

Update 22.07.2023: Nach Ausfall dreier Außensensoren (Regenmesser, Windmesser, Windrichtungsmesser) bestand akuter Handlungsbedarf. Verdrahtung der Außensensoren auf (hoffentlich) wasserdichte Elektroabzweigdosen umgerüstet. Beim Windmesser ist der Reed-Kontakt defekt und musste gewechselt werden.

Update 18.08.2023: Durch Zufall einen Artikel über den Taupunkt gelesen und festgestellt, dass die Rohdaten zur Taupunktmessung in meiner Wetterstation vom AM2306 ideal ermittelt werden.
Nützliche Infos zum Taupunkt hat der Deutsche Wetterdienst.
Konzeption einer Auswerteroutine. Idealerweise müsste mit den Werkzeuge der Analysis der Tagesverlauf der relativen Luftfeuchtigkeit untersucht werden. Ein solcher Abtastprozess ist jedoch nur sehr schlecht in SQL abbildbar. Deswegen gehe ich einen anderen Weg. Der AM2306 kann keine exakten 100 Prozent relative Luftfeuchtigkeit liefern, sondern geht aus mir unbekannten Gründen bei 96,6 Prozent in die Sättigung. Der Taupunkt ist nun die Temperatur, bei der die relative Luftfeuchtigkeit die maximale S&aumml;ttigung erreicht oder wieder verlässt. Bei Analyse meiner Messung hat sich gezeigt, dass die Messwerte der rel.Luftfeuchtigkeit die Sättigung nicht sprunghaft, sondern relativ sanft verlassen. Bei meinem Messraster von 3 Minuten definiere ich daher ein sogenanntes Tauwertfeuchteintervall [93,96] (abgek. TWFI). Damit lässt sich sehr einfach eine Aggregatabfrage definieren, die nach der gemessenen Außentemperatur bei den Messungen sucht, deren relative Luftfeuchtigkeit im TWFI liegt. Die Aggregation liefert sogar oberen und unteren Taupunkt, um die Entwicklung des Taupunkts im Tagesverlauf auszudrücken.
Bei der Analyse meiner Messungen sind mir allerdings auch zwei Konstellationen aufgefallen, die bei dieser Art der SQL-Abfrage kein Ergebnis liefern. Leider ist es mir nicht gelungen, für diese speziellen Tage Fachbegriffe der Meteorologie zu finden, deswegen habe ich mir selbst Begriffe ausgedacht. Weiterhin sind diese speziellen Tage ein gewisses Problem bei Jahresaggregationen in SQL-Statements. Beim Abruf des Jahresdiagramms wird für diese Tage keine Linie im Taupunktdiagramm gemalt, nur in der Einzeltagessicht lässt es die Performance zu, eine Annäherung zu ermitteln. Wer die richtigen meteorologischen Begriffe kennt, darf sie mir natürlich gern verraten. ;-)
  1. Alle Feuchtigkeitsmessungen liegen über dem TWFI. Hier liegt ein Wolkenklimatag vor, da sich so die Luft in einer Kumuluswolke anfühlen dürfte. Die Außentemperatur liegt immer unter dem Taupunkt. An solchen Tagen kann ich den Taupunkt nur abschätzen mit der Tageshöchsttemperatur.
  2. Alle Feuchtigkeitsmessungen liegen unterhalb des TWFI. Hier liegt ein Null-Kondensat-Tag vor, denn zu keinem Zeitpunkt des Tages kühlt sich die Luft unter den Taupunkt ab. Auch hier kann nur eine Schätzung für den Taupunkt abgegeben werden, nälich die Temperatur beim Maximum der Luftfeuchtigkeit. Auswertungen dieser Tage haben gezeigt, dass die Tagestiefsttemperatur nicht geeignet für diese Schätzung ist, sie liegt um 2-3 Grad daneben.
  3. Sehr sehr unwahrscheinlich sind Tage, die Feuchtemessungen über und unter dem TWFI haben, aber keine Messung im TWFI. In meinen Messungen für das Jahr 2023 habe ich solche Fälle nicht entdeckt, aber am ehesten behandele ich solche Tage wie einen Null-Kondensat-Tag bezüglich der Auswertung.
Das ganze ist als Thema sehr spannend, der Tauwert-Spread kann genutzt werden für eine Schätzung der Wolkenbasis. Auch eine Einschätzung, wie schwül ein Tag durch Menschen empfunden wird, ist möglich.

ToDo:
  • Einstellung von Bildern des Windmessers
  • Einstellung von Bildern des 19-Zoll-Racks
  • Blockdiagramm der gesamten Wetterstation

Letzte Änderung : 22-Aug-2023
Copyright Jens Köhler, Wolfsburg, Obere Dorfstraße 10d