Und nun zu was ganz anderem: Empfang, Entschlüsselung und Einspeisung von ADS-B Daten

Störche können ja nicht immer fliegen, sondern müssen sich zwischendurch auch mal etwas ablenken mit Frösche jagen und Nester auf Schornsteinen bauen. Mir geht es genau so: Ich kann ja nicht nur immer Meerwasseraquarium machen und Larven brüten, sondern brauche auch mal etwas Abwechslung und mache zwischendurch auch mal was ganz anderes (keine Angst, es geht hier nicht um den Bau von Nestern auf Kaminen!). Vielleicht geht es meinen geschätzten Blog-Lesern ja auch so und darum heute Mal zur Abwechslung mal was ganz anderes, das vorne und hinten nichts mit Meerwasseraquarium zu tun hat (na ja, das eine oder andere Teil wird man unzweifelhaft als Meerwasser-relevant einstufen können): Der Empfang, die Entschlüsselung und Einspeisung von ADS-B Daten! "Hääää, was ist denn das schon wieder", werdet ihr wohl jetzt denken, darum ganz von vorne und mit möglichst wenig Fachchinesisch und vielen Bildern.

Verkehrsflugzeuge und viele Hubschrauber, Segelflieger und Montgolfieren (ich liebe diese Wort, es tönt so altmodisch) haben ein Gerät eingebaut, welches sich Transponder nennt. Aufgabe dieses Senders ist es, den Fluglotsen ihre Arbeit zu erleichtern: Statt nur einem Punkt auf dem Radarschirm, wird das Bild durch zusätzliche Daten, welche vom Flugzeug automatisch gesendet werden, angereichert. Zu diesen Daten gehört die Flugnummer, die Höhe, die Position, die Geschwindigkeit, das Rufzeichen und anderes. Die Signale werden auf 1090 MHz einmal pro Sekunde gesendet. Mit der geeigneten Ausrüstung, kann man diese Signale im Umkreis von ca. 200-400Km empfangen. 1090 MHz ist schon eine ziemlich exotische Frequenz und ein normales Kofferradio ist hierzu nicht zu gebrauchen. Nun gibt es aber USB-Sticks, die eigentlich für den Empfang von DVB-T gedacht sind. Diese Dinger kosten unter 30 Euro und die meisten sind mit dem 820T oder 820T2 Chip ausgestattet. Die Entwickler dieses Chips waren entweder sehr kreativ oder aber sorglos, jedenfalls lässt sich mit einem speziellen Treiber der Chip so umprogrammieren, dass er im Bereich von 25 MHz bis 1800 MHz alles empfängt. Die ganze Signalverarbeitung und Demodulator wird mittels Software gemacht und das ist gegenüber traditionellen Röhren- oder Transistorradios ein völlig neues Konzept: Software Defined Radio (SDR). Mit SDR kann man also so ziemlich alles empfangen: Radiostationen, CB-Funk, Amateurfunk, Polizeifunk (illegal), Flugfunk (vermutlich auch illegal), Taxifunk (vermutlich legal aber langweilig) oder eben die ADS-B Signale. Natürlich schlägt hier mein Informatikerherz höher: Ein Radio ohne Schwingkreis, ohne Zwischenfrequenz ohne Demodulator, ohne Verstärker sondern einfach ein Stück Software! Wie genial ist das denn!?

Wer nun denkt, dafür brauche es einen richtig grossen Computer mit gigantischer Rechenleistung, der täuscht sich. Es gibt das Programm für Windows oder Mac und als besonderer Clou auf für den Einplatinen-Unix-Computer Raspberry Pi. Ich habe mir für den Zweck den derzeit stärksten Raspberry Pi gekauft, das Model 3 B mit 4 USB Schnittstellen, Ethernet, Bluetooth und WLAN für CHF 59.95 bei Conrad. Ein Rechner mit dieser Ausstattung und zu diesem Preis. Hätte ich eine Zeitmaschine und würde ich so einen Rechner nur 30 Jahre in die Vergangenheit bringen, ich würde mit der Rechenleistung ganze Rechenzentren mit Mainframes für Hunderte von Millionen Dollar schlagen! Wie geil wäre das denn!? Mit diesen Rechnern kann man herrlich herumbasteln aber die richtige Killerapp fehlte mir bis anhin, bis ich auf diese Geschichte mit ADS-B Empfang gestossen bin.

Nachdem wir also diese ADS-B Signale mit dem umprogrammierten DVB-T Stick empfangen haben, müssen die Telegramme noch dekodiert werden. Die Daten sind nicht verschlüsselt und wenn man die Struktur der Daten kennt (diese ist nicht geheim, resp. wurde reverse-engineered), kann man diese in Klartext anzeigen. Dies erledigt ein Open Source Programm namens dump1090. Das Programm stellt dann die Rohdaten, die dekodierten ADS-B Telegramme auf verschiedenen Netzwerkports zur Verfügung und als besonderer Clou ist ein kleiner Webserver implementiert, sodass man sich die Daten auch in Form von Flugzeugen auf einer Karte mittels Browser betrachten kann.

Mit meiner Antenne und meinem Empfänger sehe ich Flugzeuge bis etwa halbe Strecke nach Paris und bis Frankfurt. Leider ist mein Empfang wegen dem Nachbarhaus und dem suboptimalen Antennenstandort gegen Süden und Osten etwas limitiert und ich empfange aus dieser Richtung nur Signale von sehr hoch fliegenden Flugzeugen, die relativ nahe sind. Besser wäre es, die Antenne mit einem Mast direkt auf's Dach zu setzen, aber dafür ist mir der Aufwand mit Dachdecker und Elektriker (Blitzschutz) dann doch zu gross.

Obwohl es schon cool ist, wenn man nun im Liegestuhl im Garten liegend mit dem iPad die Flugzeuge, die einem über den Kopf fliegen identifizieren kann, ist es doch noch viel besser, wenn man diese Daten anderen Leuten zur Verfügung stellt, die selber nicht über diese Empfangsinfrastruktur verfügen. Dies macht nun ein weiteres Programm auf dem Raspberry Pi: frfeed24 von flightradar24.com. Flightradar24.com basiert auf Daten von solchen Empfängern auf der ganzen Welt und jedermann kann sich so gratis und franko einen Überblick verschaffen, was da irgendwo in der Welt am Himmel herumfliegt. Das Programm verlinkt die Rohdaten dann noch mit weiteren Datenquellen wie z.B. Fotos von Flugzeugen, Flugplänen und Standorten von Flughäfen etc. Man kann damit also zum Beispiel, wie ich heute Morgen, den Flug seiner Kinder in die Ferien nach Stockholm verfolgen oder das Überfliegen des Roten Meeres durch die Solar Impulse von letzter Woche. Auch kann man zum Beispiel die Ballone des LOON-Projektes von Google über Kalifornien und an der Westküste Südamerikas sehen, welche Internet in 3. Welt Länder bringen soll. Wenn ihr also künftig auf Flightradar24 ein Flugzeug seht im Dreieck zwischen Paris, Frankfurt und Felben-Wellhausen, dann kann es sein, dass diese Daten von meiner Umfangsanlage stammen. Damit hier niemand Unfug treibt und gefakte Daten einspeist, werden Flugzeuge auf Flightradar24 erst dargestellt, wenn die Information von mehreren Stationen bestätigt ist.

Jedem, dem ich bisher von diesem Projekt erzählt habe, kam mit derselben Frage: Was nun, wenn Terroristen auf diese Daten zurückgreifen? Erstens werden Militärflugzeuge und klassifizierte Flüge (also z.B. diese der Airforce One) ausgeblendet und zweitens ist ein Terrorist, der in der Lage ist, ein Flugzeug vom Boden aus vom Himmel zu holen, wohl auch in der Lage das Flugzeug anderweitig zu identifizieren.

Ich hoffe ich habe euch Appetit gemacht euch selber so eine Empfangsanlage zu bauen: Die Kosten belaufen sich auf unter 200 CHF für Raspberry Pi, Antenne und DVB-T Stick. Für weitergehende Informationen dürft ihr euch gerne an mich wenden oder ihr findet diese hier.


Die Antenne ist optimiert für die Frequenz von 1090 MHz auf welcher die ADS-B Signale von den Flugzeugen gesendet werden


P7306679

Mein Mast ist noch etwas improvisiert: Ein PVC-U Rohr und Briden vom Bau meiner Bypass-Anlage; Blitzschutz ist nur was für Schwächlinge…


P7306678

Das Antennenkabel gelangt über einen Nässeschutz aus Silikonschlauch (der Aquarianer in mir) ins Innere der Box


P7306672

Die Elektronik ist in einem wassergeschützten Gehäuse untergebracht


P7306680

Ein USB-Netzteil, ein Raspberry Pi Model 3 B und ein DVB-T Empfänger mit dem 820T2 Tuner Chip


P7306671

Im Moment läuft die Anlage noch mit 230V aber ich möchte sie gerne später einmal auf Solarbetrieb umrüsten; das ist dann aber wieder ein gesondertes Projekt


P7306675

Die Hardware im Gesamtüberblick, nun zur Software…


P7306677


Auf dem Raspberry Pi läuft der dump1090-process, welcher die Daten entschlüsselt und über einen Netzwerkport zur Verfügung stellt


raspberry-pi.tiff-_1200x900

Verbinde ich mit dem Browser auf den Raspberry, dann sehe ich die Rohdaten und die Flugzeuge mit ihren Positionen auf der Karte


dump1090

Der Daemon fr24feed holt sich die Daten von dump1090 ab und speist sie in die Datenbank von flightradar24.com ein


fr24feed

Auf der Seite von https://www.flightradar24.com sehe ich mein Konto und die Statistik der Daten, welche ich einspeise.


flightradar24-statistics.tiff-_1200x900

Der Polar-Plot zeigt, dass ich mehrheitlich Signale aus Nord und West empfange, diese aber bis 200 Nautische Meilen (370 Km)


Polar-Plot

Weil ich Daten einspeise, bekomme ich gratis ein Business Account von Flightradar und kann somit nicht nur Flugbewegungen weltweit verfolgen, sondern auch Zusatzfunktionen nutzen. Hier macht ein Helikopter grad einen Rundflug um Luzern


flightradar24.tiff-_1200x900