Infoportal PROP
Erstellung der Alarm-Liste mit allen relevanten Details - Druckversion

+- Infoportal PROP (https://forum.prop.at)
+-- Forum: Flight Direktor (https://forum.prop.at/forumdisplay.php?fid=111)
+--- Forum: Umsetzung (https://forum.prop.at/forumdisplay.php?fid=113)
+--- Thema: Erstellung der Alarm-Liste mit allen relevanten Details (/showthread.php?tid=107)



Erstellung der Alarm-Liste mit allen relevanten Details - gerhardwmw - 20.10.2025

In diesem Beitrag möchten wir uns mit der Generierung der Alarm-Details für die Anzeige der Alarme beschäftigen.

Die Verarbeitung der vom Flightdirector gelieferten Alarmierungsdaten erfolgt mittels eines Web-Services, welches in einer virtuellen Maschine auf unserem Server läuft.
Das Web-Service ruft die Alarmliste während der Betriebszeiten unseres Modellflugplatzes alle 20 Sekunden ab, sofern Modellflugbetrieb herrscht.
Die Information, ob Modellflugbetrieb herrscht, wird aus unserem elektronischen Flugbuch ermittelt – jedes Mitglied hat einen Mitgliedsausweis mit integriertem RFID-Chip, der vor jedem Start auf einem RFID-Kartenleser aufgelegt wird und so einen Eintrag im elektronischen Flugbuch setzt.
       

Das Web-Service folgt diesem Workflow alle 20 Sekunden:
  1. Ist der Zeitpunkt innerhalb der Betriebszeiten? Wenn nein, Ausstieg. Wenn ja, nächster Schritt.
  2. Herrscht Flugbetrieb? Dazu wird das Flugbuch abgefragt, ob aktuell ein Flug angemeldet ist. Wenn nein, Ausstieg. Wenn ja, nächster Schritt.
  3. Wenn am heutigen Tag noch nicht erfolgt bzw. seit dem letzten Start des Web-Services noch nicht erfolgt, werden die Registrierungsdatenbanken der AustroControl und anderer Anbieter eingelesen. 
  4. Abruf der Alarmliste vom FlightDirector.
  5. Abruf der Liste der aktuell im Luftraum befindlichen Flugzeuge inkl. aller Detaildaten
  6. Erstellung der Alarm-Detail-Datei. Dabei werden folgende Parameter erhoben:
    Code:
    {
        "Kennzeichen": "OE-AAA",       # Kennzeichen, sofern bekannt
        "Art": "M",                    # Flugzeugart: M (Motor, Jet), G (Segler), P (Motorsegler), H (Hubschrauber, Gyrocopter), U (Unbekannt)
        "Typ": "DA-20",                # Flugzeugtyp bzw. -hersteller
        "GPSLat": 48.19666,            # GPS-Koordinate Latitude
        "GPSLon": 14.03602,            # GPS-Koordinate Longitude
        "Altitude": 1700,              # Altitude in ft über MSL
        "Speed": 83,                   # Geschwindigkeit in kts  
        "Track": 92,                   # Flugrichtung in °
        "Distance": 1.9,               # Entfernung in km
        "DistanceMFPInM": 1900,        # Entfernung zum MFP in m
        "AltitudeMFP": 202,            # Höhe über Grund MFP in m
        "TrackMFP": 207                # Relative Richtung (Bearing) des Flugzeuges zum Modellflugplatz
      },
      {
       ...
      },
      {
       ...
      },
    ...

  7. Diese Details werden für alle Flugzeuge in der Alarm-Liste generiert und gemeinsam in einer JSON-basierten Datei abgespeichert.
  8. Die fertig erstellte Liste wird auf dem Web-Service zum Abruf via REST-HTTP-Call zur Verfügung gestellt.

Diese JSON-Liste kann nun von jedem REST-HTTP-fähigen Gerät weiterverarbeitet werden.

Wir haben uns für die Anzeige der Liste für ein LED-Matrix-Display entschieden, das von einem ESP angesteuert wird.
Genaue Details dazu beschreiben wir im nächsten Beitrag.