APRS-IS Wetterstation mit der LaCrosse WS2300

In diesem Beitrag beschreibe ich, wie die Wetterdaten einer LaCrosse WS2300 Wetterstation zusätzlich an das APRS-IS Netzwerk gesendet werden können.

Das Wetter in Ostfriesland ist oft wechselhaft und meist windig, geprägt von milden Sommern, kühlen Wintern und häufigen Regenschauern. Die Nähe zur Nordseeküste sorgt generell für ein maritimes Klima. Als Technik-affiner Funkamateur finde ich es sehr spannend, die Wetterdaten selbst zu erfassen. Damals kaufte ich mir dazu eine gebrauchte LaCrosse WS2300 Wetterstation, da diese in der APRS-Gemeinschaft oft verwendet wurde. Dieses lag nicht zuletzt daran, dass zahlreiche APRS-Hardware den direkten Anschluss und somit die Übertragung der Wetterdaten ins APRS-Netzwerk ermöglichten.

So betrieb ich die Wetterstation einige Jahre an meinem ehemaligen QTH am Bodensee, bevor sie nach dem Umzug in einem Karton verschwand.

Otmar DJ1OF bei der Installation der Wetterstation am alten QTH JN47MR in 2016

Da die Wetteranlage meines Vaters DL9BGG dem rauen Ostfriesischen Wetter auf Dauer nicht gewachsen war entschlossen wir uns im Mai diesen Jahres kurzerhand, meine alte Wetterstation zu testen und an seinem QTH zu installieren.

Ein erster Test im Innenraum wurde erfolgreich bestanden und so Stand einer Installation auf dem Hausdach nichts mehr im Wege.

Da mein Vater keinen APRS-Sender betreibt, ich die Daten aber gerne ins APRS-Netzwerk spielen wollte, um mir auch in Singapur ein Bild über das aktuelle Wetter in Singapur machen zu können, suchte ich nun nach einem Weg, die Daten direkt ins APRS-IS Netzwerk zu senden.

Da ich das Rad, auch aus Zeitgründen, nicht komplett neu erfinden wollte und ich mir sicher war, dass dieses in etlichen Projekten bereits realisiert wurde, recherchierte ich im Internet nach geeigneten Lösungen. Nach nur kurzer Zeit wurde ich im Internet fündig und musste mir die einzelnen Bausteine nur gemäß meiner Konfiguration zusammensetzen.

Der slowenische OM Andrej S55MA beschreibt in seinem HAM Blog in dem Beitrag “La Crosse WS2300, WS2307 series APRS with Xastir” ein vom ihm geschriebenes Script, welches das Programm Fetch2300 nutzt und die Daten der Wetterstation zunächst in eine temporäre Textdatei schreibt. Fetch2300 kommt als Teil des open2300 Projektes von dem Dänen Kenneth Lavrsen, welches nicht mehr weiterentwickelt wird. Das Script von Andrej S55MA öffnet dann diese Textdatei um sie zu lesen, wertet die Daten dann aus und schreibt sie in einen Textstring, der von der Linux APRS-Software Xastir gelesen werden kann. Sein Script stellt außerdem einen Webserver bereit, mit dem sich Xastir dann verbinden kann, um sich die Textzeile mit den Wetterdaten zu holen. In seinem Blog beschreibt er außerdem detailliert die dazu erforderlichen Installationsschritte.

Xastir erfordert jedoch die Verwendung einer grafischen Oberfläche (Gui). Da ich das Ganze auf einem Raspberry Pi nebenher laufen lassen wollte, auf dem bereits ein OpenWebRX+ ohne grafische Oberfläche läuft und ich die anderen Funktionalitäten einer vollen APRS-Software in meinem Fall nicht benötige, suchte ich nach einer anderen Möglichkeit. OpenWebRX+ verwendet DireWolf von WB2OSZ, um die mit dem SDR empfangenen APRS-Pakete zu decodieren und ins APRS-IS Netzwerk weiterzuleiten. Was lag also näher, eine entsprechende Bake für die Wetterdaten zu konfigurieren?

Leider führte mich auch das in eine Sackgasse. Zwar konnte ich die Wetterdaten als Bake aussenden, jedoch nicht in dem Bakenformat, um sie als Wetterstation zu erkennen. Eine neue Lösung musste also her. Ich entschied mich kurzerhand, das Script von Andrej S55MA so umzuschreiben, dass es statt der Bereitstellung eines Webservers, über den die Daten abgerufen werden, die Daten gleich selbst ans APRS-IS Netzwerk sendet. Glücklicherweise fand sich unter dem Titel Send APRS objects or telemetry via Bash auch für diese Aufgabe eine passende Anleitung in Andrej’s Blog. Ich musste also nur seine beiden Blog Einträge kombinieren und schon hatte ich Erfolg.

Wetterdaten von DL9BGG-13 auf aprs.fi

Screenshot von aprs.fi

DL9BGG-13 auf aprs.fi

Die Anpassung meines Scriptes basiert auf Version 1.6 seines Scriptes. Im Eingangsbereich des Scriptes konfigurieren wir zunächst unser Rufzeichen, die zu verwendende SSID, den dazugehörigen Passcode, den Längen- und Breitengrad der Wetterstation im DDM-Format (Dezimal-Minuten), sowie optional einen statischen Kommentar (z.B., welche Wetterstation verwendet wird). Außerdem definieren wir noch, an welchen APRS-IS Server gesendet werden soll, dessen Port und das Intervall in Sekunden, indem gesendet werden soll. Schließlich benötigt das Script noch den vollständigen Pfad zur open2300 Konfigurationsdatei. Abweichend zu Andrej’s Anleitung habe ich diese in dem Verzeichnis “/usr/local/etc/” liegen.

#DEFINE VARIABLES
callsign="xxxxxx"
aprsssid="13"
passcode="xxxxx"
lat="0000.00N"
long="00000.00E"
comment="LaCrosse WS2300"
server="euro.aprs2.net"
port="14580"
interval="60"
ws2300config="/usr/local/etc/open2300.conf"

Das Auswerten und schreiben der einzelnen Werte ist identisch zu Andrej’s Script mit dem Unterschied, dass ich zusätzlich noch die Tendenz und die Vorhersage auswerte und später mit in den Kommentar schreibe.

tendency=$(cat "$fetch_path" | grep -oP 'Tendency\s+\K\S+')
forecast=$(cat "$fetch_path" | grep -oP 'Forecast\s+\K\S+')

Interessanter wird es jetzt beim Zusammenbau des Bakenstrings. Der zusammengebaute Bakentext mit den Werten sieht dann beispielhaft so aus:

DL9BGG-13>APN000,TCPIP*,qAC,T2PRT:@025940z5336.60N/00709.97E_157/009g...t068r000p000P...h71b10544LaCrosse WS2300, Tendency: Falling, Forecast: Rainy

Schließlich starte ich das Script einfach durch einen cronjob, wenn der Raspberry Pi hochfährt. Führt dazu den Befehl sudo crontab -e aus und ergänzt in einer neuen Zeile:

@reboot bash /usr/local/sbin/wxdata.sh &

Interessierte können mein modifiziertes Script hier herunterladen.

Linux-Script: WS2300 Wetterdaten an APRS-IS Senden

#This script reads weather data via fetch program which is part of Open2300 suite written by Kenneth Lavrsen (http://www.
#lavrsen.dk/foswiki/bin/view/Open2300/WebHome).
#It outputs the right data needed to feed Xastir for APRS weather reports. The scripts utilizes Ncat utility as server to
#serve the fetched output to Xastir.
#Fetched Data is pushed to Ncat server and then to Xastir. (Fetched data -> Ncat server -> Xastir)
#Ncat is part of Nmap, get it by installing Nmap.
#This script should work for LaCrosse weather stations, WS23xx series. Testing was done with WS2307.
#Written by S55MA and S56IUL, May 2016
#Origin Source: https://s55ma.radioamater.si/2016/05/03/la-crosse-ws2300-ws2307-series-aprs-with-xastir/

# Modified by DG1BGS/9V1LH, 23rd June 2024
# Removed the web server. APRS data is now sent directly to the APRS-IS network using ncat.
# Please update the variables in the section below.
# For more information, visit dl-nordwest.com

Größe: 12 kB
Version: 2024-07-23

Tipp: Vergabe von eindeutigen Com-Port Namen unter Linux

Um sicherzustellen, dass einem externen Gerät unter Linux immer der gleiche Com-Port zugewiesen wird, kann man externen Geräten eindeutige Namen zuweisen. In meinem Fall habe ich in dem Verzeichnis /etc/udev/rules.d eine Datei mit dem Namen 99-usb-serial.rules angelegt und die folgenden Zeilen eingefügt:

#Weather station open2300
#ID 067b:2303 Prolific Technology, Inc. PL2303 Serial Port / Mobile Phone Data Cable
SUBSYSTEM=="tty", ATTRS{idVendor}=="067b", ATTRS{idProduct}=="2303", SYMLINK+="ttyWX"

Die Vendor- und Product-ID eures externen Gerätes erhaltet ihr nach Eingabe des Befehls lsusb. In meinem Fall erhalte ich nach Eingabe des Befehls u.a. die folgende Ausgabe:

Bus 003 Device 002: ID 067b:2303 Prolific Technology, Inc. PL2303 Serial Port / Mobile Phone Data Cable

Ab dem nächsten Neustart des Rechners wird der Wetterstation in diesem Beispiel jetzt immer der Com-Port /dev/ttyWX zugeordnet, den ich auch in der open2300.conf gesetzt habe.

Fazit

Das Projekt war kurzweilig und hat viel Spaß gemacht, da sich nach nur kurzer Zeit ein Erfolg eingestellt hat. Durch die gute Programmierarbeit und Dokumentation von Andrej S55MA war es sehr einfach, das Gewünschte entsprechend der eigenen Umgebung zu implementieren. An dieser Stelle meinen herzlichen Dank an alle, die ihre Projekte für andere zur Verfügung stellen und dokumentieren.

Durch das übermitteln der Wetterdaten an das APRS-IS Netzwerk sind diese jetzt nicht nur lokal verfügbar, sondern auch von jedermann weltweit abrufbar. Und obendrein erhält man auf aprs.fi noch eine statistische Darstellung der Wetterdaten.

Ich habe auch schon Ideen für künftige Erweiterungen: Die Wetterdaten könnten zusätzlich an einen MQTT-Broker gesendet werden, um sie auch an andere Stelle auszuwerten und darzustellen. Ggf. wäre das auch ein tolles Projekt für ein Wetterdisplay mit ePaper-Display. Außerdem könnte man die APRS-Baken zusätzlich durch den Einsatz eines kleinen Funkmoduls auch über VHF lokal abstrahlen und oder oder sie für eine LoRa-Telemetriebake nutzen.

Betriebt ihr auch eine eigene Wetterstation und nutzt die Daten nicht nur für euch selber? Wenn ja, berichtet gerne in den Kommentare unter diesem Beitrag über euer Projekt oder diskutiert es mit uns in unserer Telegram- und oder WhatsApp-Gruppe. Eventuell habt ihr ja auch Lust, euer eigenes Projekt hier mal vorzustellen.

Team DL-Nordwest, Stephan 9V1LH/DG1BGS


Möchtest du das Projekt DL-Nordwest unterstützen? Dann teile gerne unsere Beiträge und oder oder hinterlasse uns eine (kleine) Spende 🤑 Danke! 😘

Unser Besuch auf der Ham Radio 2024

Lest in diesem Beitrag über unseren Impressionen vom Besuch der diesjährigen Ham Radio.

Am 29. Juni machten wir, Otmar DJ1OF, und ich, Stephan DG1BGS/9V1LH, uns bei strahlendem Sonnenschein mit dem Katamaran von Konstanz auf den Weg zur Ham Radio 2024 in Friedrichshafen. Im Shuttle-Bus trafen wir bereits viele Funkamateure, darunter den bekannten DXpeditionär Mac JA3USA.

Mit dem Katamaran ging es von Konstanz nach Friedrichshafen

An der Pinnwand war ich überrascht, dass Singapur bereits mit zwei Pins vertreten war. Eine Rückfrage in der Singapur Ham-Telegram-Gruppe ergab, dass tatsächlich zwei meiner Funkkollegen aus meiner neuen Heimat vor Ort waren.

Die erste Flohmarkthalle (Halle A2) war im Vergleich zu meinem letzten Ham Radio-Besuch deutlich luftiger. Wir machten am Flohmarktstand vom OV A48 Pfullendorf halt. Dessen OVV Thomas DL2GTS feierte einen runden Geburtstag und gab Gratulanten ein Bier aus. An dieser Stelle noch einmal alles Gute vom Team DL-Nordwest. Der Flohmarkt war wie gewohnt: alte Funktechnik, Röhren und Bücher, Bausätze, kommerzielle Funktechnik, PCs und PC-Komponenten, Mess- und Löttechnik usw.

Der Flohmarkt in Halle A2 war eher luftig

Leider schafften wir es zeitlich nur bis zur Hälfte der ersten der beiden Flohmarkthallen, denn nun war es Zeit für ein paar Vorträge. Zunächst nahmen wir an der Session “KI Applikationen für DV – Übersicht, Diskussion und Zukunftsaussichten” teil, geleitet von Jochen DL1YBL. Das TetraPack-Team sprach über die neuen Möglichkeiten der Vernetzung von Tetra TMO. Die Präsentation erfolgte auf Englisch durch Elliott 2E0YCA und wurde von Ralph DK5RAS ins Deutsche übersetzt. Die Präsentation kann hier heruntergeladen werden. Mehr Informationen über das Projekt gibt es zudem hier.

Vortrag über das TetraPack TMO-System

Der Hauptprogrammierer Artöm (Artem) R3ABM/DL5ABM verkündete Freibier am BrandMeister-Stand zum Anlass ihres zehnjährigen Jubiläums, was mit großem Applaus gewürdigt wurde. Schließlich referierte Jochen DL1YBL über seine Experimente mit Künstlicher Intelligenz im Amateurfunk und rief zur Bildung einer Arbeitsgruppe auf. Interessenten können sich per Email bei ihm melden.

Vortrag über Künstliche Intelligenz im Amateurfunk

Michael DF4WX referierte über “Remotebetrieb nach der neuen Amateurfunkverordnung – rechtliche und technische Grundlagen“. Der voll besetzte Vortragsraum und die zahlreichen Wortmeldungen der Zuhörer zeugten vom großen Interesse. Es wurden die neue Gesetzgebung und technische Tipps zur Umsetzung einer eigenen Station besprochen.

Danach besuchten wir die Halle A1 mit den kommerziellen Ausstellern. ICOM zeigte die bereits auf der Dayton präsentierten Komponenten des kommenden Konzeptmodells zum 60. Jahrestag sowie eine Ausstellung der Funktechnik der vergangenen 60 Jahre. Der Kenwood-Stand fiel eher mickrig aus und es gab keine neuen Informationen zum kommenden Mobilfunktransceiver (Tribander). Yaesu präsentierte ihr komplettes Spektrum an aktuellen Hand- und Mobilfunkgeräten, Zubehör, Wires-X sowie Digitalrelais DR-2X.

WIRES-X Setup am Stand von YAESU

Am Stand von Funk24 aus Aachen herrschte reger Betrieb. Hier konnte man aktuelle Funktechnik sowie Raspberry Pis, Anderson PowerPoles und Zubehör erwerben. Der Mitbegründer von SDRplay Jon (Jo) G4ABQ beantwortete Fragen der interessierten Käufer. Kai DK1TEO erklärte Interessenten seinen Bausatz, der Funkgeräte mit einer Freisprecheinrichtung ausstattet. Mehr Informationen darüber sind hier zu finden.

Reger Betrieb am Stand von Funk24

Sehr interessant waren auch die technischen Aufbauten der Interessengemeinschaften. Hier wurde u.a. das M17-Projekt sowie die Prototypen der Hardware vor- und ausgestellt. Am Stand des ÖVSV wurden aktuelle Projekte wie LoRaWAN und MeshCom 4.0 präsentiert. Aber auch digitales Amateurfunk-Fernsehen, SDR-Transceiver Charly25, Amateurfunk-Satelliten und der Notfunk kamen nicht zu kurz.

M17-Hardware

Weitere Impressionen bietet unsere Bildergalerie:

Fazit: Auch wenn wir an einem Tag nicht alles in Ruhe anschauen konnten, hatten wir einen fantastischen Tag mit vielen guten Gesprächen mit OMs, die man sonst nur vom Funkgerät kennt. Solche Veranstaltungen sind sehr wichtig und sollten nicht an Bedeutung verlieren. Die Karte zeigte außerdem, wie international die Veranstaltung besucht wurde.

Seid ihr auch auf der Ham Radio gewesen? Und was waren eure persönlichen Highlights? Schreibt sie uns gerne in die Kommentare unter diesem Beitrag oder diskutiert sie mit uns in unserer Telegram- und oder WhatsApp-Gruppe.

Team DL-Nordwest, Stephan 9V1LH/DG1BGS


Möchtest du das Projekt DL-Nordwest unterstützen? Dann teile gerne unsere Beiträge und oder oder hinterlasse uns eine (kleine) Spende 🤑 Danke! 😘