News

Mit ChatGPT zum funktionierenden Shell-Skript: Wetterdaten via APRS positionieren

Ich wollte sowas ja schon immer mal ausprobieren und ehrlicherweise war dann der Bericht in der Dezemberausgabe 2024 der CQDL der Auslöser dafür, jetzt aber wirklich mal selber damit zu experimentieren 😉

Da ich selber auch Pilot bin, kenne ich natürlich auch die notwendigen METAR und TAF Daten einzelner Flughäfen, die mir einen ersten oder zweiten Eindruck der Wetterlage dort vor Ort geben.

Dies ist eine METAR Aussendung vom 07.12. um 7:20 Uhr:

  • Der Wind kommt aus der Richtung 140° mit einer Geschwindigkeit von 15 kt.
  • Sicht ist 10 km oder mehr.
  • Es gibt wenige Wolken in einer Höhe von 1.100 ft. Es wurde keine Obergrenze beobachtet.
  • Die Temperatur ist 5 °C, mit einem Windchill von -2 °C. Der Taupunkt ist 3 °C, die relative Luftfeuchtigkeit ist 87% (nicht explizit angegeben).
  • Der Luftdruck auf Meereshöhe ist 1002 hPa (QNH).

Weiter Informationen dazu kann man hier nachlesen: https://de.wikipedia.org/wiki/METAR oder https://metar-taf.com/de/explanation

Die Idee war nun eben genau diese Wetterdaten von Flughäfen auf der APRS-Karte (aprs.fi) darzustellen. Das mag auf den ersten Blick ungewöhnlich erscheinen, doch sie bietet eine interessante Möglichkeit, Technik und Amateurfunk zu verbinden. Meine Erfahrungen im Bereich des Scriptings sind schon etwas angestaubt, aber genau deshalb wollte ich diese Herausforderung eben mit ChatGPT angehen, um mal zu schauen, was man sozusagen gemeinsam auf die Beine stellen kann und ob es auch tatsächlich funktionieren würde.

Das Ziel ist also Wetterdaten ins APRS-Netz zu bringen

Das Mini-Projekt und sein klares Ziel:

  1. Die aktuellen METAR-Wetterdaten (METeorological Aerodrome Report) eines ausgewählten Flughafens aus dem Internet abrufen.
  2. Die GPS-Koordinaten des Flughafens nutzen, um die Daten präzise auf der APRS-Karte zu positionieren.
  3. Die Wetterinformationen gemäß dem APRS-Standard formatieren und ins Netzwerk einspeisen.

Das Besondere: Alles sollte in einem kompakten Shell-Skript umgesetzt werden.

Die technische Umsetzung

Was sind also die einzelnen Arbeitsschritte bzw. was wird benötigt, um das Ziel zu erreichen:

  1. Flughafendaten und GPS-Koordinaten bereitstellen
    Im Netz gibt es eine WebSeite (https://ourairports.com/), die alle Airport dokumentiert. Hier mal ein Beispiel des Flugplatzes EDHF – Hungriger Wolf – wo auch unsere Amateurfunk-Club-Station stationiert ist.


    Auf dieser Seite gibt es auch die Möglichkeit, alle Airports in Form einer CSV Datei herunterzuladen, so habe ich dann alle ICAO-Codes und die zugehörigen GPS-Koordinaten des Flughafens. Zunächst hatte ich im Script eine online Abfrage gegen o.g. Datenbank implementiert – allerdings dauerte mir die Rückmeldung der Daten teilweise zu lange, so dass ich dann auf einen lokalen Zugriff umgestiegen bin.
  2. Abruf der METAR-Daten
    Über eine Internetanfrage – zum Beispiel https://tgftp.nws.noaa.gov/data/observations/metar/stations/EDDH.TXT – werden die aktuellen METAR-Daten für den angegebenen Flughafen heruntergeladen. METAR-Berichte sind, wie oben schon kurz angedeutet, standardisierte Wetterberichte, die Informationen wie Temperatur, Windrichtung, Sichtweite und Luftdruck enthalten.
  3. Daten parsen und umrechnen
    Das Skript zerlegt die METAR-Daten in ihre Einzelteile und bereitet sie für die weitere Verarbeitung vor. Dabei werden einige Werte gemäß den Anforderungen des APRS-Formats umgerechnet, z. B.:
    • Temperatur: Von Celsius nach Fahrenheit.
    • Luftdruck: Von Hektopascal (hPa) in Zoll Quecksilbersäule (inHg).




  4. APRS-Datenpaket erstellen
    Die aufbereiteten Wetterdaten werden in das APRS-Protokollformat gebracht. Dieses Format ist erforderlich, um die Informationen über Funk oder das APRS-IS-Netzwerk zu übertragen.
  5. Senden der Daten
    Das fertige APRS-Datenpaket wird mit den GPS-Koordinaten des Flughafens versehen und über einen APRS-Server wie APRS-IS ins Netzwerk eingespeist. Nutzer können diese Daten dann z. B. auf aprs.fi live betrachten.

    Die Rohdaten sehen dann wie folgt aus:



Erstellung des Skripts mit ChatGPT

Die Grundgedanken lagen mir damit nun also vor und nun ging es darum, dafür ein Shellscript zu erzeugen. Ich habe also ChatGPT genau meine Erkenntnisse mitgeteilt und versucht so genau wie möglich alles zu definieren. Herausgekommen ist dann tatsächlich ein Script, das man entsprechend lokal auf dem Rechner speichern und aufrufen kann. Doch, ganz so einfach war es dann doch nicht, leider.

Während der Entwicklung traten typische Programmierfehler auf, wie z. B. falsche Umrechnung von Einheiten oder Probleme beim Parsen der METAR-Daten. Durch gezielte Rückfragen und Anpassungen konnte der Code jedoch schrittweise optimiert werden.

Am Ende entstand ein funktionierendes Shellskript, das die gestellten Anforderungen erfüllt. Es zeigt, dass man auch mit geringen Programmierkenntnissen in der Lage ist, mit Unterstützung von KI nützliche Programme zu erstellen. Doch leider funktioniert es nicht ganz ohne Kenntnisse – das muss mal zumindest in diesem Fall fairerweise auch sagen. Denn manche Fehler wurde durch ChatGPT immer wieder in gleicher Weise korrigiert, so dass ich schlussendlich selber Hand anlegen musste.

Dennoch, ich habe das Ergebnis erreicht und von den knapp 200 Zeilen selber nur ne Hand voll geschrieben bzw. korrigiert.

Dieses Projekt war ein spannender Einstieg in die Verbindung von Wetterdaten, APRS und Shell-Scripting. Der Einsatz von ChatGPT als Unterstützung hat nicht nur geholfen, die technischen Hürden zu überwinden, sondern auch gezeigt, wie KI als Werkzeug genutzt werden kann, um eigene Ideen erfolgreich umzusetzen.

Wer Interesse an diesem Thema hat, kann gerne mit mir Kontakt aufnehmen – das Skript teile ich natürlich gerne, und vielleicht inspiriert es ja zu weiteren spannenden Projekten im Amateurfunk!

News

Musik und Amateurfunk – KI macht es möglich

Die Künstliche Intelligenz (KI) kann mittlerweile bereits einiges und erleichtert hier und dort sicherlich auch das Leben an manchen Stellen. Zwischendurch habe ich mich gefragt, ob es auch sinnvolle Anwendungen für den Bereich Amateurfunk geben könnte.

Nun, ich habe mal ganz platt chatgpt danach gefragt und folgende Antwort bekommen:

1. Signalverarbeitung und Rauschunterdrückung

Erklärung: KI-Algorithmen können verwendet werden, um Rauschen und Störungen aus empfangenen Signalen zu filtern und die Qualität und Klarheit der übertragenen Sprache oder Daten zu verbessern.

2. Automatisierte Frequenzsuche

Erklärung: Durch maschinelles Lernen können KI-Systeme Muster in der Nutzung von Frequenzen erkennen und automatisch freie oder weniger genutzte Frequenzen für die Kommunikation vorschlagen.

3. Sprach-zu-Text und Text-zu-Sprach-Umwandlung

Erklärung: KI kann gesprochene Sprache in Text umwandeln und umgekehrt, was besonders nützlich für die Protokollierung von Gesprächen und die Kommunikation mit Textnachrichten ist.

4. Vorhersage von Funkbedingungen

Erklärung: Mithilfe von KI können Funkamateure Vorhersagen über die Funkbedingungen treffen, basierend auf historischen Daten und aktuellen atmosphärischen Bedingungen.

5. Automatisierte Logbuchführung

Erklärung: KI kann beim Führen eines Logbuchs helfen, indem sie automatisch Informationen zu den Verbindungen erfasst und organisiert, was die Verwaltung und Analyse von Funkkontakten erleichtert.

6. Erkennung und Analyse von Modulationsarten

Erklärung: KI kann verwendet werden, um verschiedene Modulationsarten zu erkennen und zu analysieren, wodurch die Kommunikation mit verschiedenen Funktechniken erleichtert wird.

7. Digitalmodus-Dekodierung

Erklärung: KI-Algorithmen können zur Dekodierung von digitalen Übertragungen verwendet werden, was die Arbeit mit digitalen Kommunikationsmodi wie PSK31, FT8 und RTTY vereinfacht.

8. Verbesserung der Antennenanpassung

Erklärung: Durch den Einsatz von KI können optimale Einstellungen für Antennenanpassungssysteme berechnet werden, um die Effizienz und Reichweite der Übertragungen zu maximieren.

9. Unterstützung bei Notfallkommunikation

Erklärung: KI kann in Notfallsituationen schnelle Frequenzzuweisungen und Nachrichtenweiterleitungen durchführen sowie die Verfügbarkeit von Ressourcen koordinieren.

10. Automatische QSL-Karten-Verwaltung

Erklärung: KI-Systeme können die Verwaltung und den Versand von QSL-Karten automatisieren, indem sie Verbindungen protokollieren und automatisch elektronische oder physische QSL-Karten verschicken.

„CQ CQ CQ von DK0IZ“ jetzt als Song

Ein wenig weiter recherchiert ergab auch Möglichkeiten, eigene Musik herstellen zu lassen 😉 Damit war die Idee entstanden, unsere Clubstation in ein ganz anderes musikalisches Licht zu bringen zu können; aber hört mal selbst rein:

https://suno.com/song/60232742-9ba9-4465-8888-2fc14e08926e

etwas peppiger mag vielleicht nachfolgender Song sein:

https://suno.com/song/27498c34-4123-42c0-9929-7fa8f6586a0e

Das ganze ist recht trivial und lässt sich über Suno erreichen. Viel Spaß bei hören und evtl. eigene Musik kreieren.