Für ein Forschungsprojekt arbeite ich an der Echtzeitvisualisierung von Positions- und Telemetriedaten von Drohnen, Hubschraubern und Flugzeugen.
Dabei müssen sowohl ADSB- als auch FLARM-Daten ausgewertet werden. Zunächst geht es nur darum, die empfangenen Daten lediglich textbasiert auf einem Terminal darzustellen.
Zum Empfang von ADSB und FLARM wird ein günstiger DVB-T Empfänger verwendet (nooelect NESDR Mini R820T SDR & DVB-T), als Betriebssystem dient Linux, das ganze soll sowohl auf dem Desktop als auch auf Raspberry PI laufen.
Für das Senden von FLARM steht ein ADSB/FLARM-Transceiver zur Verfügung (aerobits TR-1F), eine FLARM-Lizenz ist enthalten.
Die Dekodierung der ADSB-Daten war relativ einfach zu implementieren - hier verwende ich dump1090-fa (https://github.com/adsbxchange/dump1090-fa), bei dem ich ADSB-Daten direkt per HTTP-Schnittstelle auslesen kann.
Nach dem gleichen Prinzip würde ich nun gerne FLARM-Daten auswerten.
Dabei soll ein Skript in beliebiger Sprache (idealerweise Python) die Daten vom USB-Receiver auswerten und als Text/JSON verfügbar machen, zunächst sollen die Daten nur auf einem Terminal angezeigt werden.
Leider konnte ich auch nach intensiver Recherche keinen "Startpunkt" finden, wie ich FLARM-Daten äquivalent zum ADSB-dump1090 Ansatz programmatisch auswerten kann.
Anscheinend unterstützt "Stratux" FLARM, zumindest per Erweiterung. Aber ich würde Stratux ungerne einsetzen, da es sehr unflexibel ist. Bspw. ist es schwer, Stratux in bereits vorhandene Software einzubetten, und eine Erweiterung mit benötigten Features (z.B. Datenbank-Anbindung) erscheint komplizierter als eine Eigenentwicklung.
Hat jemand im Forum schon Erfahrungen mit der programmatischen Auswertung von FLARM-Paketen mit DVB-T USB Receivern gemacht, gibt es einen guten Einstiegspunkt?
https://github.com/lyusupov/flare
Ist aber nicht der ausgereifteste Demodulator, nicht so super sensitiv.
Hi,
für OGN gibt es passende Raspberry PI Software. Dabei werden Deine empfangenen Daten ins OGN Netzwerk eingespeist und von dort bekommst Du dann die Daten. Ein direktes Abgreifen der Daten ohne den Umweg des OGN Netzwerks ist nicht vorgesehen.
Gruß
Maik
Maik schrieb:Nicht vorgesehen, aber recht einfach möglich. Du kannst einfach z.B. "Server = "localhost:14580";" definieren und dort dann Deinen eigenen "OGN Server" implementieren. Das Protokoll ist relativ einfach.
Ein direktes Abgreifen der Daten ohne den Umweg des OGN Netzwerks ist nicht vorgesehen.
SoftRF oder flare ist aber wahrscheinlich die einfachere Lösung. Dort steht der komplette Source Code zur Verfügung.
@b3nn0:
Vielen Dank, mit Hilfe von Flare konnte ich erfolgreich FLARM-Signale eines überfliegenden Segelflugzeugs per DVB-T Stick empfangen.
Ich habe das ganze so wie auf https://github.com/lyusupov/flare#nrf905-demodulatorflarm-decoder beschrieben ausgeführt, die FLARM-Daten wurden dann als JSON im Terminal geloggt:
make # compile everything
rtl_sdr -f 868.05m -s 1.6m -g 49.6 -p 49 - | # tune to 868.05 MHz, set sample rate to 1.6 MHz, gain to 49.6 dB, and tuner error to 49 ppm
./nrf905_demod 29 | # demodulate nRF905 packets with 29 bytes per message
./flarm_decode 43.21 5.43 12 # decode FLARM packets for ground station located at latitude 43.21, longitude 5.43 and geoid height 12
@Maik @DIFH:
Vielen Dank auch an euch, einen eigenen OGN-Server zu implementieren könnte ebenfalls ein guter Ansatz sein.
Ich hatte OGN bisher nicht weiter betrachtet, da es in unserem Einsatzszenario keinen Internetzugang gibt (Waldbrandgebiete in Brandenburg).
Ich werde jetzt Proof-of-Concepts zu beiden Lösungsansätzen implementieren und hier berichten.
Ich freue mich natürlich weiterhin über Ideen und Infos zu dem Thema!
Aktuell sind 13 Besucher online, davon 1 Mitglied und 12 Gäste.