Ozonsonde aus Uccle (Belgien) bei Wiesenfeld geborgen (3. Januar 2022)

Seit 2019 berge ich gelegentlich Wettersonden in der Region, meistens mit meinem Sohn zusammen. Allerdings auch nur wenn ich mal Zeit habe. Heute war mal wieder so ein schicksalshafter Tag. Nichtsahnend erhielt ich Heute Nachmittag eine WhatsApp Nachricht dass sich eine Ozonsonde aus Belgien in Richtung Coburg bewegen würde. Weiterlesen

Ein Webinterface für das TTGO LoRa APRS iGate

Die meisten LoRa APRS iGates laufen derzeit mit einem TTGO Board. Diese sind recht preiswert zu bekommen. Die bekannteste Software dafür kommt von Peter Buchegger OE5BPA. Diese funktioniert auch recht gut, hat aber wie fast alle anderen Lösungen auch einen entscheidenden Nachteil: Man hat keine große Kontrolle oder Übersicht über die Empfangslage des iGates. Weiterlesen

LoRa APRS iGate mit dxlAPRS und RA02 auf einem RaspberryPi

Mit dem neuen Tool ra02 von Chris OE5DXL ist es auf einfache Weise möglich ein LoRa APRS iGate mit der Software dxlAPRS auf einem RaspberryPi zu betreiben. Der Vorteil ist, man kann es problemlos auch mit anderen Chains (z.B. SDR RX auf 2m/70cm oder einen RX/TX mit einem TNC) kombinieren und gemeinsam in einem iGate betreiben. In der Vergangenheit habe ich so etwas schon unter dem Namen „Multi-APRS iGate“ beschrieben. Weiterlesen

LoRa APRS Gateway mit einem RaspberryPi – diese Methoden gibt es

Wenn man LoRa APRS als iGate oder Digi betreiben möchte, kann man verschiedene Hardware verwenden. Es gibt z.B. die TTGO Boards auf ESP32 Basis, den APRSCUBE von DL3DCW und diverse andere Projekte von findigen Bastlern. Diese kann man man gut Standalone betreiben und sind sicherlich auch sehr stromsparsam. Dennoch besteht oft der Wille für LoRa APRS einen RaspberryPi Computer zu verwenden. Zum Beispiel weil einem bekannte Software wie Direwolf, APRX oder dxlAPRS besser gefällt und man damit das APRS iGate betreiben möchte. Weiterlesen

LoRa APRS Gateway mit dxlAPRS und TTGO LoRa Board

Stand: 01.09.2021

Hier habe ich schonmal beschrieben wie man LoRa APRS mit einem LoRa HAT für den RaspberryPi mit dxlAPRS verbinden kann. Kompatible LoRa HATs für den RaspberryPi  sind aber inzwischen sehr schwierig zu bekommen. Wenn man keinen Selbstbau nach Andreas OE1ROT macht, bleibt einem nur das OE1ACM Board (Gateway V) übrig. Das ist aber derzeit schwer zu bekommen.
Es lag also Nahe mit den beliebten TTGO Boards etwas anzufangen. Doch wie bringt man die TTGO Boards und dxlAPRS zusammen?

Weiterlesen

APRS RX only iGate mit dxlAPRS unter Linux

Im folgenden Beitrag erfahrt ihr, wie ihr unter Linux mit den dxlAPRS Tools und einem einfachen SDR Stick ein APRS RX (=nur Empfang) iGate auf zwei Frequenzen (144,800 und 145,825 MHz) betreibt und die empfangenen Daten via Internet oder Hamnet zu den APRS-IS Servern und/oder zum Kartenprogramm APRSMAP übertragt. Das iGate kann sowohl in einem System mit grafischer Oberfläche als auch ohne benutzt werden, z.B. für abgesetzten Betrieb. Es kann auch auf einem bestehenden System bzw. Server mit dazu installiert werden. Auch auf Einplatinenrechnern wie dem RaspberryPi, BananaPi oder OrangePi mit ARMv7 Architektur ist dxlAPRS lauffähig. Die folgende Beschreibung bezieht sich auf die Installation auf einem RaspberryPi mit RaspberryPi OS.

Weiterlesen

Erfahrungen mit DNT Wetterstation WeatherScreen PRO und WeeWX

Update: 20.02.2024

Im Folgenden Beitrag erwartet euch ein kurzer Erfahrungsbericht zur neuen DNT Wetterstation inklusive einer Anleitung, wie ihr diese über die WLAN Funktion mit WeeWX verbinden könnt.

Bisherige Erfahrungen mit WeeWX

Ich betreibe seit mehreren Jahren eine drahtlose Wetterstation von Typ WX2013 mit der Software WeeWX auf einem Raspberry Pi. Leider funktioniert diese nicht mehr so gut und liefert immer wieder mal falsche Informationen aus, wie z.B. 1600 Liter Niederschlag an einem Tag. Nachdem auch die Außeneinheit so langsam den Anschein macht, dass sie an ihr Lebenende kommt und immer mehr Signalausfälle zu verzeichnen sind trotz frischer Batterien in der Außeneinheit, habe ich mich seit einer Weile nach einer neuen, besseren Wetterstation umgesehen.

Auf der Suche nach einer neuen Wetterstation

Moderne Wetterstationen haben sogar schon WLAN an Bord, so dass man keine USB-Verbindung mehr braucht um an die Daten zu kommen. Für WeeWX gibt es da auch schon etliche „Treiber“ für solche Stationen. Ende 2020 habe ich dann zufällig eine neue Wetterstation von DNT entdeckt, die DNT WiFi Wetterstation WeatherScreen Pro. DNT war mir bisher nur als Funkgerätehersteller aus CB-Funk Zeiten bekannt. Auf die Schnelle wurde ich nicht fündig ob man diese WLAN Wetterstation denn mit WeeWX betreiben kann, ich fand aber Treiber für andere WLAN Wetterstationen. Deren Bedieneinheit ähnelte vom äußeren Aussehen her der DNT Wetterstation, nur im Display sah man was anderes.
Von den Parametern her war ich überzeugt. Die Außeneinheit sah sehr ordentlich und robust aus, kein Kabelgewirr wie bei der WX2013. Die Kommunikationsfrequenz von Außeneinheit zur Basisstation ist auf 868 MHz, was Störungen durch Funkbetrieb auf 430 MHz ausschließt. Die Außeneinheit erfasst alle wichtigen Daten, und noch ein paar mehr als die alte WX2013 (z.B. Sonneneinstrahlung in Watt, UV-Index). Außerdem kann man die Wetterstation mit bis zu Neun weiteren Innensensoren erweitern und damit z.B. die Räume einzeln überwachen (Temperatur, Luftfeuchtigkeit und Luftdruck). Allerdings hat das Gerät keine USB Schnittstelle mehr um ihr Daten zu entlocken, aber da Sie WLAN kann, gab es da ja sicherlich andere Möglichkeiten.

Die Entscheidung ist gefallen

Das Gerät sah gut aus, die Parameter waren OK, der Preis war auch in Ordnung. Ich wagte also den Schritt und kaufte die DNT Wetterstation um zu erkunden, was damit alles geht.

Der Vollständigkeit halber sei noch erwähnt, die Wetterstation wird nicht VON DNT hergestellt, sonder FÜR DNT. Es ist ein generisches Produkt welches identisch auch von anderen Herstellern verkauft wird, unter anderen Namen. Alle Angaben gelten daher auch für folgende Wetterstationen (Liste kann sich noch erweitern…)
Froggit HP1000SE PRO Wi-Fi WLAN Internet Funkwetterstation
Ecowitt HP2551 WiFi Weather Station

Erste Erfahrungen mit der DNT Wetterstation

Ein paar Tage nach Erhalt habe ich die Wetterstation dann das erste mal in Betrieb genommen und sie funktionierte erstmal erwartungsemäß gut. Ein WeeWX Treiber den ich im Internet gefunden habe, der mit einer ähnliche Wetterstation zusammen arbeiten soll, funktionierte leider nicht. Im Netzwerkmonitor sah man, dass der Treiber seine „discovery Pakete“ sendete, aber die Wetterstation nicht darauf antwortete. Es passierte einfach nichts. Gleichzeitg entdeckte ich, dass auch die Wetterstation „Discovery Pakete“ sendete, von Port 2525 ausgehend an 255.255.255.255 in UDP. Nur konnte ich damit nichts anfangen.

Ob eine Anfrage beim Hersteller helfen könnte, um eine passende Schnittstelle zu entwickeln? Ich habe es versucht, aber es brachte leider keinen Erfolg. Die Informationen zur technischen Schnittstelle der Wetterstation wurden zwar schon beim eigentlichen Hersteller angefragt, nur möchte der damit nicht rausrücken. Eigentlich beschämend!

Ich war also erstmal enttäuscht und habe andere Internetfunktionen getestet. Die Übermittlung zu Wunderground funktionierte tadellos, nur leider werden dort nur wenige Informationen übermittelt und auch nur die Außenwerte. Klar, wen interessiert es wie warm es in meiner Wohnung ist.

Außerdem gefiel es mir nicht dass die Wetterstation freien Internetzugriff hat. Wer weiß, was da alles übertragen wird? Und nein, es ist keine Fantasie meinerseits. Schon am ersten Tag konnte ich feststellen, das die Wetterstation selbst ohne konfigurierte Übermittlung der Daten ins Internet fleißig „nach Hause telefoniert“. Folgende Ziel IP-Adressen konnte ich aus den Logs der Firewall auslesen:

47.246.43.207:80
47.102.253.116:80
169.60.133.174:80
169.60.133.171:80
169.47.111.60:80
169.47.111.58:80

In der Regel handelt es sich um Cloud-Dienste diverser Anbieter (z.B. Alibaba-Cloud).

Weiterhin werden ICMP Pakete (vermutlich PING Anforderungen) an folgende IPs mehr oder weniger regelmäßig gesendet:

99.86.2.4
103.235.46.39
143.204.90.225
104.108.41.30
2.18.233.29

Es scheint auch als ob jeden Tag immer neue IP-Adressen hinzukommen. Die einzige „offizielle“ Funktion, die das rechtfertigen könnte, wäre die Synchronisierung mit einem Zeitserver im Internet (time.nist.gov – leider nicht änderbar). Sicherlich geht auch die ein oder andere IP-Adresse darauf zurück, aber alle sicherlich nicht. Vor Allem nicht die, die an Port 80 der Server senden wollen. Ich habe der Wetterstation jedenfalls in der Firewall jeglichen Internetzugriff verweigert. Sicher ist sicher.

Wie steht es mit der Anbindung an WeeWX?

Ich wurde aufmerksam auf das Ecowitt Protokoll, welches die Wetterstation unterstützt. Dies schien kein proprietäres Protokoll eines kommerziellen Anbieters zu sein. Laut Datenblatt werden im Ecowitt-Protokoll alle Messdaten übertragen, also auch die der Innensensoren. Und man kann in der Wetterstation auch einen eigenen Server einstellen und dort mit Ecowitt oder Wunderground Protokoll die Daten abliefern. Das klang schonmal sehr gut. Nach kurzer Recherche scheint es auch Ecowitt-Schnittstellen für WeeWX zu geben. Wenn man also der Wetterstation die Daten nicht abluchsen kann, dann kann man sie vielleicht überreden diese selber auszuspucken.

Als erstes habe ich es mit Lorenzos Ecowitt HTTP Gateway probiert. Dieser beinhaltet einen Ecowitt WeeWX Treiber, welcher einen Ecowitt Server bereitstellt, die Daten dort annimmt und an WeeWX weiterreicht. Eigentlich genau das, was ich brauchte. Leider ist sein Treiber noch in Python2 geschrieben und es wird empfohlen, diesen in Python3 umzuwandeln. Dies habe ich auch gemacht, jedoch funktionierte es nicht wirklich. Im Syslog tauchte immer wieder eine Fehlermeldung auf. Matze DM4TZE half mir zwar bei der Beseitigung des Fehlers und es wurden dann auch Daten über den Ecowitt-Server angenommen, jedoch nicht an WeeWX weitergeleitet. Python ist leider nicht in meinem Wissens-Portfolio, weshalb an dieser Stelle Schluss für mich war.

Zufällig entdeckte ich dann ein weiteres Projekt, den WeeWX Interceptor von Matthew. Er versprach eine ähnliche Funktion wie der Ecowitt Treiber von Lorenzo. Diesen habe ich dann auch installiert und es lief dann auch auf Anhieb. Wie die Installation abläuft, beschreibe ich weiter unten.

Das Ergebnis konnte sich sehen lassen. Die WeeWX Webseite war nach einiger Zeit wieder gefüllt mit aktuellen Daten. Allerdings hat diese Methode einen großen Nachteil: WeeWX kann nur die Informationen anzeigen, die von der Wetterstation in Echtzeit übermittelt werden. Es können also keine Archivdaten aus der Vergangenheit „synchronisiert“ werden, wie bei der alten Wetterstation. Wenn die WeeWX Software einmal beendet wurde wegen Wartung etc., dann hat man eine Lücke in den Daten. Aber bis zum Erscheinen einer echten Schnittstelle zu WeeWX, tut das auch so!

Meine WeeWX Wetterstation kann man übrigens über das Hamnet unter dieser Adresse einsehen: http://wx.dl1nux.ampr.org/weewx/

Installationsanweisungen

1. WeeWX installieren

WeeWX wird gemäß Anleitung installiert, als Wetterstation wird erstmal der „Simulator“ ausgewählt, da der passende Treiber nicht im Programm selber enthalten ist. Für Debian Systeme (auch Ubuntu oder auf dem RaspberryPi) befindet sich die Anleitung hier: http://www.weewx.com/docs/debian.htm

2. Webserver installieren

Anschließend muss man noch einen Webserver installieren, beispielsweise Apache oder nginx. Es ist nur der reine Webserver erforderlich, kein PHP.

Achtung, ab Version 5 von WeeWX unterscheiden sich die folgenden Schritte:

Bis WeeWX Version 4.x

3. WeeWX Interceptor herunterladen.

wget -O weewx-interceptor.zip https://github.com/matthewwall/weewx-interceptor/archive/master.zip

4. Den Treiber in WeeWX installieren.

sudo wee_extension --install weewx-interceptor.zip

5. Den Treiber konfigurieren.

sudo wee_config --reconfigure --driver=user.interceptor --no-prompt

6. Treiberoptionen festlegen

In der weewx.conf wurde ein neuer Abschnitt [Interceptor] integriert. Dieser muss noch angepasst werden.

[Interceptor]
# This section is for the network traffic interceptor driver.

# The driver to use:
driver = user.interceptor
device_type = ecowitt-client
port = 9876
address = 44.149.25.66

Bei address wird die IP-Adresse des Rechners bzw. der Netzwerkschnittstelle, auf dem der Interceptor Treiber hören soll, eingetragen. Es ist wichtig hier die echte IP-Adresse anzugeben und nicht z.B. 127.0.0.1, da der Rechner sonst an der falschen Netzwerkschnittstelle (127.0.0.1 = loopback device) hört und keine Daten bekommt. Da meine Wetterstation im Hamnet erreichbar ist, ist es hier die IP-Adresse 44.49.25.66. In den meisten Heimnetzwerken wird es eine IP-Adresse nach dem Schema 192.168.xxx.yyy sein.

Es sei kurz erwähnt, dass der WeeWX Rechner natürlich mit einer festen (=statischen) IP-Adresse konfiguriert sein muss, die sich nicht ändern. Entweder man konfiguriert seinen Router so, das der WeeWX Rechner immer die gleiche Adresse per DHCP zugewiesen bekommt, oder man stellt die statische IP Adresse im WeeWX Rechner manuell ein.

Unter port muss der Netzwerkport der Schnittstelle eingetragen werden, auf dem der Interceptor Treiber hören soll. Der Port darf noch nicht belegt sein, ich habe deswegen einen krummen Port „9867“ gewählt, der in der Regel nicht in Benutzung ist.

Ab WeeWX Version 5.x

3. WeeWX Interceptor online installieren

sudo weectl extension install https://github.com/matthewwall/weewx-interceptor/archive/master.zip 

4. Interceptor Konfiguration in weewx.conf einfügen

Da die alte Version des Interceptor nicht ganz kompatibel ist mit WeeWX 5, muss die folgende Konfiguration manuell vorgenommen werden

In der weewx.conf muss ein neuer Abschnitt [Interceptor] hinzugefügt werden, am besten nach dem [Station] Abschnitt am Anfang

#########################################################################

[Interceptor]
# This section is for the network traffic interceptor driver.

# The driver to use:
driver = user.interceptor
device_type = ecowitt-client
port = 9876
address = 44.149.25.66

#########################################################################

Bei address wird die IP-Adresse des Rechners bzw. der Netzwerkschnittstelle, auf dem der Interceptor Treiber hören soll, eingetragen. Es ist wichtig hier die echte IP-Adresse anzugeben und nicht z.B. 127.0.0.1, da der Rechner sonst an der falschen Netzwerkschnittstelle (127.0.0.1 = loopback device) hört und keine Daten bekommt. Da meine Wetterstation im Hamnet erreichbar ist, ist es hier die IP-Adresse 44.49.25.66. In den meisten Heimnetzwerken wird es eine IP-Adresse nach dem Schema 192.168.xxx.yyy sein.

Es sei kurz erwähnt, dass der WeeWX Rechner natürlich mit einer festen (=statischen) IP-Adresse konfiguriert sein sollte, die sich nicht ändert. Entweder man konfiguriert seinen Router so, das der WeeWX Rechner immer die gleiche Adresse per DHCP zugewiesen bekommt, oder man stellt die statische IP Adresse im WeeWX Rechner manuell ein.

Unter port muss der Netzwerkport der Schnittstelle eingetragen werden, auf dem der Interceptor Treiber hören soll. Der Port darf noch nicht belegt sein, ich habe deswegen einen krummen Port „9867“ gewählt, der in der Regel nicht in Benutzung ist.

5. Interceptor Treiber aktivieren

Damit auch der Treiber beim Starten von WeeWX geladen wird, muss dieser noch in der weewx.conf im Abschnitt [Station] hinzugefügt werden.

[Station]

station_type = Interceptor

[Interceptor]

Ab hier gilt die Konfiguration wieder für beide Fälle:

7. Wetterstation einstellen

  • Zahnrad-Taste
  • Wetterserver – Einstellungen
  • Anpassungen – Einstellungen
    • Status: Aktivieren
    • Protokoll Art: Wie bei Ecowitt
    • IP/Hostname: IP-Adresse oder Hostname des Rechners, auf dem der Interceptor-Treiber bzw. WeeWX laufen, z.B. 44.149.25.66
    • Port: Der gleiche Port der in den Interceptor Einstellungen gewählt wurde (z.B. 9876)
    • Intervall: „60 Zweitens“

Unter „Intervall“ lässt sich einstellen, wie oft die Wetterstation die Daten übermittelt. Das Wort „Zweitens“ ist übrigens nur eine schlechte Übersetzung des englischen Wortes „Seconds“, was für Sekunden steht. Die Wetterstation selber erhält alle 16 Sekunden neue Daten, allerdings erzeugt WeeWX standardmäßig nur alle Fünf Minuten eine neue Statistik. Ich habe es bei der Einstellung 60 Sekunden gelassen.

Ab sofort erhält WeeWX alle 60 Sekunden neue Wetterdaten von der Wetterstation. Diese können dort nach Belieben weiterverarbeitet werden, je nachdem was eure WeeWX Station alles unterstützt.

 

LoRa APRS iGate mit dxlAPRS auf einem OrangePi

Neben dem sehr beliebten RaspberryPi der RasperryPi Foundation gibt es auch Einplatinenrechner von anderen Herstellern. Ich selbst besitze deswegen einen „OrangePi PC Plus“ und einen „BananaPi Pro“. Da der „OrangePi PC Plus“ einen fest installieren EMMC Speicher hat, wäre dieser ideal für Dauerbetrieb geeignet, da SD-Karten leider sehr anfällig sind und regelmäßig getauscht werden müssen. In Anlehnung an das Multi-APRS iGate für den RaspberryPi hatte ich nun die Idee, ein weiteres mit dem OrangePi zu bauen. Ich habe dieses Board gewählt, da der GPIO Anschluss des OrangePi mit dem des RaspberryPi voll kompatibel ist. Beste Voraussetzungen also für den „schnellen Erfolg“ mit den bestehenden LoRa APRS Gatewayplatinen von OE1ROT oder OE1ACM für den RaspberryPi.
Weiterlesen