Mit einem Raspberry Pi, DVB-T-Stick und Flightradar 24 einen Hobby-ADS-B Empfänger aufbauen

Vor einigen Tagen wurde mein DVB-T-Empfänger und die ADS-B Antenne von jetvision.de geliefert.

Damit konnte ich einen alten, nicht mehr genutzten Raspberry Pi 1, Model B, zu einem Hobby-Empfänger für Flugzeugsignale (sog. ADS-B) umbauen.

Flightradar24 bietet dafür ein Raspberry Pi-Image an, mit welchem man den Radar in ein paar Minuten online hat — im Gegenzug erhält man als Dank kostenlos ein Business-Abonnement der Web-Site im Wert von mehreren hundert Dollar im Jahr.

Der Name meiner Antenne lautet T-LSZB123 (die Statistiken kann man sich nur ansehen, wenn man auf Flightradar24 registriert ist).

Aufstellen der Antenne

Flightradar24 hat eine Anleitung ins Internet gestellt, die den Hobby-Empfängern bildlich aufzeigt, wie man die Antenne installiert, um einen maximalen Empfang hinzukriegen.

Am Besten wäre die Installation auf dem Hausdach — als Mieter bleibt einem das selbstverständlich verwehrt. Auch muss man sich dann bezüglich Blitzeinschlag Gedanken machen und das Antennensignal mit einem Kabel irgendwo in die Wohnung verlegen.

In meinem Fall muss für die Platzierung der Antenne (leider) die äussere Fensterbank hinhalten — aber allemal besser, als den Empfänger mitsamt Antenne in der Wohnung zu platzieren. Die Alternative wäre gewesen, das gesamte Setup auf dem Balkon zu betreiben, was aber eine solar- und batteriebasierte Stromversorgung verlangt hätte. Das hätte aber grosse Kosten und noch einiges an Bastelaufwand verursacht.

Zum Glück realisierte ich bald einmal, dass man das Antennenkabel durch den Fensterrahmen legen und das Fenster schliessen kann, ohne das Kabel zu beschädigen (hoffe ich jedenfalls):

Reichweite der Antenne

Beim Betrieb des o.g. Sets aus DVB-T-Dongle mitsamt mickriger Antenne in der Wohnung (am grossen Fenster zum Balkon) konnte die Software Signale von Flugzeugen in der Distanz von 20 Nautischen Meilen empfangen.

Nachdem ich den Empfänger probehalber auf dem Balkontisch platziert hatte, stieg die Reichweite auf 40 Nautische Meilen an.

Nach der Festinstallation auf dem äusseren Fensterbank und 48 Stunden Dauerbetrieb konnte ich die Reichweite in einigen wenigen Fällen auf 56 Nautische Meilen erhöhen (103.71 Kilometer).

Bessere Antennen

Bei jetvision.de könnte man sich leistungsfähigere Antennen kaufen. Mein Favorit wäre die „A3 ADS-B“ Antenna (1090 MHz) für 77.95 EUR. Doch momentan zögere ich mich mit der Aufrüstung noch, da ich diese Antenne weiterhin auf dem äusseren Fensterbank montieren müsste.

Auf Amazon und AliExpress finden sich auch 1090 MHz-Antennen, teils deutlich günstiger, aber über deren Qualität kann ich nichts aussagen.

Web-Interfaces

Sobald der Raspberry Pi aufgesetzt und der Radar bei Flightradar24 registriert ist, kann man auf das lokale Web-Interface der Lösung zugreifen. Es ist unter folgender URL erreichbar:

http://%IP%:8754

Folgende zwei Unterseiten sind nützlich:

http://%IP%:8754/settings.html Hier kann man Einstellungen vornehmen. Bei mir scheinen diese aber nicht übernommen worden zu sein (ist evtl. ein Neustart des Servers nötig? Ein Neustart der Software über das Web-Interface hat keinen Effekt gezeigt)

http://%IP%:8754/tracked.html Die Liste der aktuell empfangenen Signale von Flugzeugen

Weiter gibt es noch ein, zwei technische Interfaces, die Messdaten in strukturierter Form ausgeben:

http://%IP%/dump1090/data/aircraft.json

http://%IP%/dump1090/data/stats.json

http://%IP%/dump1090/data/receiver.json

Via: Raspberry Pi: Dump1090 erzeugt auch JSON-Dateien die extern verwendet werden können

Diese JSON-Daten eignen sich vorzüglich, um mit Cacti schöne Graphen zu erstellen.

Die Aufschlüsselung der JSON-Werte finden sich in folgendem Artikel: JSON output formats

Sonstige Interfaces

Mit netstat findet man schnell heraus, auf welchen Port fr24 Netzwerkdienste anbietet (ssh, snmpd, dhclient und avahi-daemon sind Systemdienste, die mit fr24 nichts zu tun haben):

# netstat -tulpn
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 417/lighttpd
tcp 0 0 0.0.0.0:30002 0.0.0.0:* LISTEN 326/fr24feed
tcp 0 0 0.0.0.0:8754 0.0.0.0:* LISTEN 326/fr24feed
tcp 0 0 0.0.0.0:30003 0.0.0.0:* LISTEN 326/fr24feed
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 366/sshd
udp 0 0 0.0.0.0:161 0.0.0.0:* 352/snmpd
udp 0 0 0.0.0.0:51123 0.0.0.0:* 326/fr24feed
udp 0 0 0.0.0.0:5353 0.0.0.0:* 262/avahi-daemon: r
udp 0 0 0.0.0.0:36590 0.0.0.0:* 262/avahi-daemon: r
udp 0 0 0.0.0.0:68 0.0.0.0:* 561/dhclient
udp 0 0 0.0.0.0:59213 0.0.0.0:* 326/fr24feed

Prozesse

Auf den Raspberry Pi kann man nach der Installation des Flightradar24-Images mit den gewohnten Zugangsdaten per SSH zugreifen.

Auf dem Gerät laufen folgende zwei Prozessbäume, die zum Empfang und für die Verarbeitung der Signale zuständig sind:

/usr/bin/fr24feed

/usr/bin/dump1090-mutability --raw --mlat --write-json /run/dump1090-mutability/

Als Services werden installiert:

dump1090-mutability.service

fr24feed.service

fr24gui.service

fr24feed startet und stoppt man folgendermassen:

# systemctl start fr24feed
# systemctl stop fr24feed

Log-Dateien

Nach der Installation fand sich bei mir unter /var/log/fr24feed/fr24feed.log eine Log-Datei, die in Echtzeit aktualisiert wurde.

Nach ca. zwei Tagen Betrieb stoppten die Log-Meldungen plötzlich und ich konnte noch nicht herausfinden, wieso die Anwendung nichts mehr in die Datei schreibt.

Die Einstellungen habe ich zwar angepasst (Logfile mode: Keep up to 72h, rotate every 24h und Log file location: /var/log/fr24feed/custom.log), bisher wurden diese aber nicht geschluckt.

Offizielle Statistiken

Loggt man sich auf Flightradar24 ein, kann man sich ausführliche Statistiken zu seinem Empfänger anzeigen lassen (die Zahlen sind aus der Sicht von Flightradar24, d.h. die Informationen, die vom Raspberry Pi an den Dienst gesendet und effektiv dort ankommen):

Die URL lautet www.flightradar24.com/account/data-sharing, wo man dann alle registrierten Empfänger angezeigt bekommt. Klickt man dort auf Show Statistics, erscheinen die ausführlichen Statistiken: