Software für die Wetterstation WS-2300 unter LINUX / OpenSuse
- Die Wetterstation Heavyweather WS-2300 wurde im Februar 2007 angeschafft, nachdem das Sturmtief Kyrill über das Erzgebirge gezogen war. Natürlich war geplant, die gemessenen Werte im Web zu verwerten.
- Die Windows-Software Heavy Weather Publisher, welche der Wetterstation beiliegt, genügt für das Auslesen der Wetterstation, gestattet die Erzeugung einer individuell gestalteten Wettergrafik, ermöglicht den zeitgesteuerten, regelmässigen Upload der Grafik und reicht daher für die Anzeige der aktuellen Wetterdaten auf einer Webseite vollkommen aus. Es ist sicher nicht die stabilste Lösung, welche man sich vorstellen kann. Angesichts des Gesamtpreises (Wetterstations-Hardware und Software) sollte man jedoch realistische Ansprüche stellen.
- Bei etwas ernsthafterer Betrachtung ist störend, dass man die Daten der Wetterstation nur mit der beiliegenden Originalsoftware auslesen und speichern kann.
- Weiterhin ist ärgerlich, dass die Daten nicht nur verschlüsselt übertragen und gespeichert werden, sondern auch nur als CSV-Tabelle exportiert werden können. Für diese Arbeiten ist zudem "Handarbeit" notwendig. Das heisst, dass diese Vorgänge nicht zeitgesteuert und automatisiert werden können.
- Für den Betrieb der Wetterstation ist ein seperater PC am Aufstellort notwendig. Hier wird nicht nur Hardware benötigt, sondern es muss auch eine Windows-Lizenz gekauft werden. (Empfehlung: PC als Leasing-Rückläufer mit vorinstallierter Windows-Lizenz (COA) kaufen !) Hinzu kommt der Stromverbrauch des Rechners. Da die Wetterstation einen relativ kleinen internen Speicher besitzt, muss der Rechner (bei kleinen Messintervallen) im Dauerbetrieb laufen.
- An einem Windows-PC wird ein Virenschutz notwendig, es fallen ständig Wartungsarbeiten an. Windows-Updates fordern zum Neustart auf, die Antiviren - Software braucht ebenfalls regelmäßige Pflege - auch wenn es nur ein paar tägliche oder wöchentliche Mausklicks sind. Ein "unbemannter" Betrieb der Wetterstation über Wochen oder gar Monate hinweg ist kaum möglich.
- Aus diesem Grund entstand schnell der Wunsch, eine kleine, überschaubare Lösung unter Linux zu entwickeln. Problematisch erwies sich die Übertragung der Daten zwischen Wetterstation und Linux-Rechner über die serielle Schnittstelle, da das eine "Eigenentwicklung" des Wetterstations-Herstellers ist. Offenbar ist gewollt, dass nur die hauseigene Software verwendet wird.
- Die Bibliothek OPEN2300, welche das Auslesen der WS-2300 unter Linux ermöglicht, bekam ich unter älteren Versionen von Opensuse nicht zum Laufen. Erst ab OpenSuse 11.2 lief sie einwandfrei.
- Die Entwicklung meiner Software erfolgte sporadisch, in vielen kleinen Schritten, bedarfsabhängig und (ursprünglich) für den Eigengebrauch, was zu einer fehlenden Dokumentation "von Anfang an" geführt hat.
- Die Anwendung wurde komplett in PERL realisiert.
- Die Erzeugung der Grafiken erfolgt wahlweise per Cronjob auf dem Webserver und/oder wird bei der Übertragung der aktuellen Wetterdaten auf dem Server im WWW angestossen.
Da ich die Kommunikation zwischen Wetterstation und Linux in den ersten 2 Jahren nicht zum Laufen bekam, war der erste Entwicklungsschritt folgender:
- Auslesen der Wetterstation mit einem Windows-PC und der Heavy Weather Software
- Exportieren der Wetterdaten nach TXT / CSV
- Upload der Wetterdaten-Textdatei via Browser oder FTP zum Webserver / MySQL-Datenbankserver
- Entgegennahme der Wetterdaten durch den Apache-Webserver, Zerlegung der Datenzeilen in Einzelwerte und Insert der Daten in eine MySQL-Datenbank
- Entwicklung der Software zur Erzeugung der Grafiken (Unter Verwendung von GD)
- Zeitgesteuerte Erzeugung der Wettergrafiken, Wetterstatistiken und Listen via cronjobs
- Darstellung der Werte in Tabellen und Grafiken auf einer Webseite
- Konfiguration eines Linux-Servers mit Opensuse, MySQL, Apache Webserver und OPEN2300
- Entwicklung des Programms zum Auslesen der Wetterstation mit OPEN2300.
- Entwicklung des Programms zur Übertragung der Daten in eine lokale MySQL-Datenbank
- Mehrere kleine Tools, um die Messintervalle der Wetterstation einzustellen, die Daten zeitgesteuert auszulesen und an einen Webserver zu übertragen, die MySQL-Datenbank zu sichern und den lokalen Server an der Wetterstation zeitgesteuert herunterzufahren
- Nachträglicher Umbau und Neukonfiguration des Servers auf Basis eines BIOSTAR VIOTECH 3100+ Mainboards und einer kleinen SSD als Festplatte. Dadurch konnte der Stromverbrauch auf etwa 25 Watt gesenkt werden.
- Umbau des Servers von einem 19"/1HE - Gehäuse in ein 19" / 2HE - Gehäuse. Durch Verwendung eines anderen Netzteils konnte der Stromverbrauch im Standby drastisch gesenkt werden. Durch die größeren Lüfter und den grösseren Innenraum des Gerätes reduzierte sich das Betriebsgeräusch des Servers drastisch. Zur Zeit ist der Server nahezu lautlos.
- Die Wetterstation kann mit ihrem lokalen Linux-Server per Vodafone-Router (UMTS,EDGE,LTE), per DSL-Festnetz-Router oder ISDN-Router an jedem beliebigen Standort aufgestellt werden, solange Strom und eines der drei genannten Netze verfügbar sind. Natürlich ist auch eine Anbindung via WLAN vorstellbar, sofern ein solches Netz erreichbar ist.
- Seit März 2013: Komplette Neuentwicklung dieser Website unter HTML5
- 25.3.2013: Berechnung und detaillierte Liste zur Entwicklung der Grünlandtemperatur des jeweiligen Jahres, Tabelle mit Verleichswerten aus den Vorjahren
- 25.3.2013: Einbau der Tabelle "Kältesummen" inklusive Bewertung der Winterhalbjahre
- 24.3.2013: Auf Anwenderwunsch wird die "Innentemperatur" ausgelesen und sowohl auf der lokalen als auch auf der Datenbank des Webservers gespeichert. Bisher war ich der Ansicht, dass die Temperatur des Raumes, in welchem sich die Basisstation befindet, irrelevant ist. Da aber nun Anwender begonnen haben, die Inneneinheit der Wetterstation in Garagen oder in Serverräumen aufzustellen, ergab sich der Wunsch, die Temperaturen dieser Aufstellorte ebenfalls zu protokollieren und via WWW zu überwachen.
- 22.3.2013: Alle Wettergrafiken zeigen jetzt am unteren Bildrand an, wie lange die Erstellung der Auswertung gedauert hat. Die Masseinheit sind Millisekunden. Die Messung erfolgt mikrosekundengenau, wurde jedoch aus Gründen der Übersichtlichkeit auf ganze Millisekunden gerundet. Wer möchte, kann die Subroutine "runtime_end" in "wetter_module.cgi" entsprechend ändern. Danach werden die Millisekunden nicht mehr als Ganzzahl, sondern im Format "99.999" angezeigt.
- 21.3.2013: Neue Datenbank "monatswerte" - die Struktur wird zur Zeit noch erweitert.
- 21.3.2013: umfangreiche Datenbankstrukturänderungen in "tageswerte".
- 20.3.2013: Bisher war ich der Überzeugung, dass sich der Anwender die Werte für "Windchill/Windkühle" aus den Messwerten "Temperatur" und "Windgeschwindigkeit" selbst errechnen kann. Da das aber nicht von jedem Anwender gewünscht wird, gibt es jetzt zwei kleine Skripte, welche die lokale Datenbank mit der Datenbank des Webservers synchronisieren können (Nachträgliches Update des Windchill für alle gemessenen Werte). Das Update besteht aus einem Script für die Wetterstation und einem Script für den Webserver. Auf dem Server im Web ist dazu jedoch eine Strukturänderung der Datenbank "wetterdaten" notwendig. Bei rund 150000 Messwerten dauert diese Synchronisation jedoch einen ganzen Tag. Vorteil dieses etwas umständlichen Verfahrens: Die Scripte funktionieren auch auf gemieteten Webservern, bei welchen man keinen Root-Zugang zur MySQL - Datenbank hat.
- 31.5.2013: Mehrere Starkregenfälle machen die Erweiterung der Niederschlagsgrafiken erforderlich. (Hochwasser 2013)
- 7.11.2013: Listen der Extremwerte von Luftdruck und Taupunkt wurden hinzugefügt.
- 6.8.2014: Eine einfache, selbst geschriebene Android-App (APK) gestattet den schnellen Launch der aktuellen Wetterdaten
- 4.4.2015: Listen und Grafiken zum Thema "Eisheilige" wurden hinzugefügt.
- 20.-26.5.2015: Umstellung der gesamten Webseite auf responsives Webdesign.
- Anfang 2019: Aufgabe der Domain wetterstation-holzhau.de und Integration der Wetterstation bei holzhau.de
- September 2019: Nochmalige Überarbeitung der Webseite
- Wer von der Originalsoftware "Heavy Weather" auf eine MySQL-basierte Lösung bzw. die hier vorliegende Software umsteigen will, kann ein von mir "gestricktes" Daten-Konvertierungsscript nutzen. Zur Konvertierung wird eine Exportdatei (TXT- bzw. CSV-Format) von "Heavy Weather" benötigt.