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! 😘

Wir bauen uns eine Meshtastic-Node

In diesem Beitrag schildern wir den Aufbau und die Inbetriebnahme einer Meshtastic-Node.

Meshtastic ist ein innovatives Open-Source-Projekt, das sich auf die Entwicklung eines robusten, kostengünstigen Kommunikationsnetzwerks ohne Internetverbindung konzentriert. Es verwendet Long-Range (LoRa) Funktechnologie, um Nachrichten über weite Entfernungen zu senden, was besonders in abgelegenen oder katastrophengefährdeten Gebieten nützlich ist. Nutzer können mittels kleiner, tragbarer Geräte Textnachrichten austauschen und ihren Standort teilen, auch wenn keine Mobilfunknetze oder WLAN verfügbar sind.

Auch in DL-Nordwest beschäftigt man sich mit Meshtastic. Während Anfangs nur vereinzelte OM’s mit LoRa und Meshtastic experimentiert haben, kommt Dank einer Initiative des OV Leer Z31, nun Bewegung ins Spiel: Auf dem Wasserturm in Leer wurde zur Reichweitenerhöhung eine Node installiert, was etliche OM’s in der Umgebung dazu veranlasst haben sich selbst eine Node zu beschaffen und mit dem Experimentieren zu beginnen. Mittlerweile sind in Ostfriesland und Umgebung schon weit über 60 Clients aktiv, Tendenz steigend. Auch die ersten Stationen in den Niederlanden haben sich schon angeschlossen.

Im Folgenden schildern wir die einzelnen Schritte zur Inbetriebnahme einer Meshtastic-Node.

Hardware

Wer an Meshtastic teilnehmen möchte benötigt zunächst eine geeignete Hardware. Eine Auflistung kompatibler Meshtastic Hardware findet ihr hier: https://meshtastic.org/docs/hardware/devices/. Sehr beliebt sind aktuell das LoRa V3 von HELTEC und das LoRa T3-S3 von LILYGO. Bitte achtet beim Kauf unbedingt darauf, dass ihr die 433 MHz Variante bestellt! Grundsätzlich reichen Varianten ohne integrierten GPS-Empfänger, da selbst bei Portabelbetrieb die Positionsdaten vom Mobiltelefon übernommen werden können.

Das HELTEC LoRa V3 im Gehäuse mit interner Antenne und aufgespielter Firmware

Wir haben uns für das Heltec LoRa V3 entschieden und haben uns auch gleich ein passendes Gehäuse sowie ein kurzes, koaxiales Adapterkabel von U.FL zu SMA Einbaubuchse mitbestellt.

Heltec LoRa V3, passendes Gehäuse und Adapterkabel

Zum Lieferumfang des Heltec LoRa V3 gehören das LoRa-Modul selbst, eine kurze Antenne, die sich direkt in das Gehäuse einbauen lässt, zwei Pin-Header zum Anlöten und Anschluss von Erweiterungen (z.B. Sensoren) und ein Anschlusskabel für eine Lithium-Batterie. Letztere passt nicht mit ins Gehäuse, ließe sich aber hinter das Gehäuse kleben.

Das Anschlusskabel der mitgelieferten Antenne kann, wie hier gezeigt, in einer Schleife in das Gehäuse gelegt werden, da es für dieses Gehäuse etwas zu lang ausfällt.

Lieferumfang Heltec LoRa V3: Modul, Antenne, Pin-Header und Akku-Anschlusskabel
Heltec LoRa V3 mit angeschlossener Antenne im Gehäuse

Wer stattdessen lieber eine externe Antenne anschließen möchte, kann eine kleine Aussparung an der Oberseite des, für die interne Antenne vorgesehenen, Gehäusefaches für das Adapterkabel vorsehen, z.B. durch Herausfeilen, Herausknipsen oder mit einem Messer. Zur mechanischen Zugentlastung des Adapterkabels sollte außerdem noch ein kleiner Kabelbinder angebracht werden.

Nachbearbeitetes Gehäuse zum Anschluss einer externen Antenne
Heltec LoRa V3 im Gehäuse mit interner Antenne (oben) und Anschluss für externe Antenne (unten)

Firmware

Als nächstes spielt ihr nun die passende Meshtastic-Firmware auf das Heltec LoRa V3 auf. Dazu schließt ihr das LoRa-Modul über ein USB-Datenkabel an euren Computer an.

Ihr müsst nun zunächst den Com-Port in Erfahrung bringen. Dazu öffnet ihr unter Windows den Gerätemanager (Windows +x Taste drücken und Gerätemanager auswählen). In unserem Fall fehlte der passende Treiber, damit der PC mit dem Heltec-Modul kommunizieren kann.

Im Fall des Heltect LoRa V3 wird der CP210x Treiber von Silicon Labs benötigt. Diesen könnt ihr hier herunterladen.

Nach der erfolgreichen Installation des Treibers wird der dem Heltec-Modul zugeordnete Com-Port im Gerätemanager angezeigt. In unserem Fall ist es Port 5.

Dank eines Web-Flashers gestaltet sich das Aufspielen der Firmware sehr einfach. Aber Achtung, der Webflasher funktioniert nicht in jedem Browser, Chrome und Edge sind aber kompatibel.

Screenshot von flasher.meshtastic.org

Meshtastic Web-Flasher

Im Webflasher wählt ihr zunächst eure Hardware, in unserem Fall also das Heltec V3 und die gewünschte Firmware-Version (die Neuste stabile Firmware ist beim Schreiben dieses Artikels die Version 2.4) .

Nach Betätigung des Flash-Buttons bestätigt ihr zunächst das Kleingedruckte (Continue). Im nächsten Fenster aktiviert ihr unter 3 “Full Erase and Install”.

Nun werden euch in einer Liste alle zugeordneten Com-Ports angezeigt. Wählt hier den zuvor ermittelten mit CP2102 und betätigt “Connect”.

Haben ihr alles richtig gemacht, wird die Firmware nun auf das Modul übertragen.

Nach Erreichen der 100% sollte euch das Display des Heltec mit Meshtatstic begrüßen und uns dazu auffordern, zunächst die Region festzulegen.

Konfiguration

Je nachdem, welches Mobiltelefon ihr verwendet, installiert ihr jetzt die Meshtastic App aus dem Google Play Store (Android) oder dem Apple App Store (iOS). Wir geben hier keine detaillierte Anleitung für den Umgang mit der App, die Konfigurationsschritte sind aber zusammengefasst wie folgt:

  1. Node via Bluetooth mit Mobiltelefon bzw. App verbinden
Die App (iOS) erkennt verfügbare Meshtastic-Nodes
Der auf dem Display angezeigte Code muss für die Bluetooth-Paarung eingegeben werden
  1. LoRa Einstellungen vornehmen
  • LoRa Region: European Union 433mhz
  • Presets: Long Range – Moderate
  • Frequency Override: 434,100 MHz* (Frequency-Slot 6)
  • Number of hops: 7
  • Power: Maximale Leistung (30 dBm)
  1. User konfigurieren
  • Licensed Operator: Einschalten (erlaubt die maximale Sendeleistung)
  • Call Sign: Euer Rufzeichen, ggf. mit Erweiterung, z.B. DG1BGS-JO33NO-I09 (die iOS-App lässt max. 8 Zeichen zu)
  • Short Name: z.B. BGS (max. 4 Zeichen)
Eingabe des Benutzerkonfiguration (iOS)
  1. Chatgruppen anlegen

Bei dem Anlegen von Chatgruppen ist unbedingt darauf zu achten, dass die Verschlüsselung deaktiviert wird, da diese ist im Amateurfunk nicht zulässig ist! In Ostfriesland habe sich die folgenden Chatgruppen etabliert.

KanalName
0LongMod
1I09
2Z31
3Ostfrl
4Notfunk
5DL-Nordwest
Stand: August 2024

Die Reihenfolge ist dabei grundsätzlich beliebig, Kanal 0 muss aber immer LongMod sein! Um nicht alle Chatgruppen händisch eingeben zu müssen, könnt ihr auch einfach den folgenden QR-Code einscannen oder ihn anklicken.

Meshtastic-Ostfriesland Kanäle, Stand August 2024
Alle Kanäle wurden angelegt (iOS)

Nun seid ihr in Meshtatstic QRV und solltet in der Node-Liste nach nur kurzer Zeit die ersten empfangenen Nodes sehen.

Nodes Ansicht (iOS): Nun sollten nach und nach die ersten Nodes in der Liste erscheinen

Leitfaden und Neuigkeiten und Supportgruppe

Wer eine ausführlichere Hilfestellung benötigt, findet sie im Leitfaden von Harald DG6BCW, den ihr hier herunterladen könnt.

Alle Neuigkeiten zum Thema Meshtastic in Ostfriesland erfahrt ihr in dem Blog von Marcus unter https://dm5mn.de/?cat=2.

Screenshot von dm5mn.de

Meshtastic Ostfriesland Blog von Marcus DM5MN

Weitere Unterstützung erhaltet ihr u.a. in der Telegram-Gruppe Meshtastic Ostfriesland.

Wir haben für euch alles noch einmal zusätzlich auf unserer Übersichtsseite Meshtastic Ostfriesland zusammengefasst, die auch über das Hauptmenü erreichbar ist.

Die Inbetriebnahme einer Meshtatsic-Node gestaltet sich sehr einfach. Zudem ist die Hardware sehr erschwinglich, so dass die Teilnahme am stark wachsenden Netzwerk keine Hürde darstellen sollte. Meshtastic bietet noch weitere Möglichkeiten, u.a. die Übertragung von Telemetriedaten z.B. von Wettersensoren. Es gibt aber auch noch viele weitere Anwendungen für die LoRa-Hardware, über die wir hier auf DL-Nordwest zukünftig berichten werden.

Seid ihr auch schon in Meshtastic qrv? Was sind eure Erfahrungen? Diskutiert es gerne mit uns in den Kommentaren unter diesem Beitrag oder in unserer Telegram- und oder WhatsApp-Gruppe.

Euer Team DL-Nordwest


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