Artikel-Schlagworte: „7in1“

Einmal Hacker sein… ;-)

Seit vielen Jahren nutze ich eine Wetterstation im Garten. Sinnvollerweise hatte ich immer eine Station, bei der ich die Messwerte einfach zur eigenen Nutzung und Weiterverarbeitung selbst aus der Station ziehen kann. Im Lauf der Jahre passiert aber, was zwangsläufig mit jeder Technik irgendwann passiert: sie geht kaputt. In meinem Fall verabschiedeten sich von der ersten Station Schritt für Schritt die Sensoren. Bei der zweiten Station kommt eigenes Unvermögen dazu. 🙁
Wenn man schon zur Bespaßung der Hunde Bälle durch den Garten wirft, sollte man so werfen, dass die Außensensoren nicht im Weg sind…
Also reifte der Entschluss, bei nächster Gelegenheit etwas neues zu beschaffen. Nun kam es so, dass ein Angebot eines Discounters und der nahende Geburtstag Anlass zur Neubeschaffung einer neuen Station boten.
Im Vergleich zu anderen Angeboten war das Angebot des Discounters fast 150€ preiswerter. Schnäppchen also!
Aber wie das immer so ist: Kein Vorteil ohne nicht mindestens zwei Nachteile! Bei dieser Station (Bresser 7 in 1) gibt es keine (offizielle) Möglichkeit, auf direktem Weg an die Wetterdaten zu kommen. Zwar besteht die Möglichkeit des Anschlusses an das heimische WLAN, aber man kann die Daten dann nur über den Umweg wunderground.com (funktioniert bei mir nicht) oder weathercloud.net(funktioniert) bekommen. Da ich die Daten, speziell die Niederschlagsmenge, zur Steuerung meiner Gartenberegnung (Eigenbau, später vielleicht dazu mehr…) nutzen möchte, ist so ein Umweg natürlich suboptimal und fehleranfällig. Also begann ich über alternative Lösungen nachzudenken und entwickelte mich zum „Hacker“ ;-).
Alles, was per Netzwerk irgendwohin übertragen wird, kann man mit den passenden Werkzeugen ausschnüffeln. In meinem Fall war das mein Linux-Desktop und Wireshark. Zunächst ermittelte ich die IP-Adresse der Wetterstation im WLAN. Das war nicht schwer, weil mein Router mir jedes neue Gerät im Netzwerk per Mail petzt.
Als nächstes nutzte ich eine versteckte Funktion im Router dazu, den Netzwerkverkehr „nach draußen“ aufzuzeichnen. Diese Datei öffnete ich in Wireshark, setzte einen Filter mit der IP der Wetterstation und siehe da… die ist so „gesprächig“, dass sie die Daten im Klartext mittels eines einfachen Aufrufs einer URL überträgt. In diesem Fall ging der Aufruf der URL an wunderground.com. Allerdings endete dieser Aufruf permanent mit einer Fehlermeldung der Webseite (unauthorized – warum auch immer…).
Jetzt gäbe es die Möglichkeit, im lokalen Netz einen eigenen DNS-Server zu betreiben und den Aufruf an einen eigenen Server umzuleiten. Das war mir aber zu aufwändig. Es gibt da nämlich im Setup der Wetterstation noch die Möglichkeit, einen anderen „Wetterserver“ einzutragen. Nach etwas Frickelei und dem nochmaligen Einsatz von Wireshark war es dann geschafft – die Station „telefoniert“ jetzt mit meinem eigenen Server. Die Verbindung mit dem „Wetterserver“ funktioniert nämlich haargenau so, wie die mit wunderground.com. :).
Jetzt muss ich mir nur noch ein kleines php-Script schreiben, dass die Daten entgegen nimmt und in meine eigene Datenbank schreibt.