21.06.2014

Verkehrsflugzeuge Live-Tracking per ADS-B mit dem Raspberry Pi

Am Himmel sieht man eigentlich immer Kondensstreifen. Es wäre doch nett zu wissen, was für ein Flugzeug da jeweisl dahintersteckt.

Mit einem Raspberry Pi und einem billigen DVB-T-Dongle und ein bischen Software ist das kein Problem.

dump1090 - Ausgabe als Karte


Zutaten

  • Raspberry Pi
  • DVB-T-Dongle
  • RTL_SDR-Software zum Ansprechen des DVB-T-Dongles
  • dump1090 - Software zum Auswerten / Anzeigen der ADS-B-Information

Zeitaufwand

ca 2-3h

Kosten

Ca 20 € für das DVB-T-Dongle + vorhandener Raspberry Pi

ADS-B zur Positionsbestimmung

Die meisten Verkehrsflugzeuge haben einen Automatic dependent surveillance-broadcast (ADS-B)-Transponder an Bord, der die aktuelle Position, Geschwindigkeit, Höhe und ID des Flugzeugs in einem standardisierten Datenformat auf 1090 MHz ausstrahlt. Wenn man diese Information empfängt und dekodiert, kann man Position, Kurs und Flugnummer live auf einer Karte anzeigen.

DVB-T-Dongle

Spezialisierte Empfänger-Hardware ist teuer. Man kann aber auch Billig-Hardware, die eigentlich für einen anderen Zweck gedacht war, verwenden.

Möglich wird dies durch die Entdeckung, daß preisgünstige (ab 10€!) DVB-T-USB-Dongles als Software Defined Radio (SDR) betrieben werden können. Voraussetzung ist der  Realtek RTL2832U-Chip, der in vielen  Dongles verwendet wird.  Dabei geht der Empfangsbereich von etwa 25 MHz bis hinauf zu 1,7 GHz!

Dazu braucht man noch Software: RTL-SDR zum Ansprechen des Dongles und darauf aufsetzend dump1090 zum Auswerten und Anzeigen der Flugzeugpositionen - beides ist als Open source-Software frei verfügbar.

Nicht jeder Dongle ist geeignet, ich habe mir einen über Amazon.com in Amerika bestellt. Vorteil hier war, daß der Anbieter die Funktion mit RTL-SDR-Software garantiert. Kostenpunkt war knapp 20€ (mit Versand). Der Dongle zieht einiges an Strom, deshalb ist ein etwas stärkeres Netzteil wichtig (bei mir funktioniert ein 1A-Steckernetzteil). Evtl. muß man den Dongle über einen Powered USB-Hub betreiben.

Low-Level-Software: RTL-SDR

Die Software zum Ansprechen von DVB-Dongles heißt RTL-SDR. Neben der librtlsdr-Library enthält sie auch noch einige Kommandozeilenprogramme für Basisfunktionen. Sehr viele Programme, unter anderem dump1090, benutzt librtlsdr als API zum Dongle. RTL-SDR muß zunächst auf dem Raspberry Pi übersetzt werden.

Vorbereitung

Auf dem Raspberry Pi ist Raspbian (Debian wheezy) installiert. Als Benutzer pi werden die zum Bau benötigten Packages installiert: auf der Kommandozeile:

sudo apt-get install git cmake libusb-1.0-0-dev build-essential

Bauen der RTL-SDR-Software

Anschließend kann die RTL-SDR-Library gebaut werden:

cd
git clone git://git.osmocom.org/rtl-sdr.git
cd rtl-sdr/
mkdir build
cd build/
cmake ../ -DINSTALL_UDEV_RULES=ON
sudo make install
sudo ldconfig
cd ~
sudo  cp ./rtl-sdr/rtl-sdr.rules /etc/udev/rules.d/
sudo reboot


dump1090 - Software für ADS-B

Zum Dekodieren und Anzeigen der ADS-B-Information hat Salvatore Sanfilippo das Programm dump1090 geschrieben. Diese Software hat u.a. einen eingebauten Webserver, mit der die Daten live in einer Karte angezeigt werden könnnen (siehe oben)!

Bauen der Software ist sehr einfach. Ich verwende die verbesserte Version von Malcolm Robb:

git  clone  git://github.com/MalcolmRobb/dump1090.git
cd dump1090/
make


Anschließend kann man das Programm starten, es hat einige Kommandozeilen-Optionen. Mit

nohup ./dump1090 --net&

läuft es im Hintergrund und startet auf Port 8080 einen Webserver. Geht man mit einem Browser drauf sieht man eine Karte mit (hoffentlich) vielen eingeblendeten Flugzeugen (siehe oben)! Die Karte wird in Echtzeit upgedated - zusätzlich werden weitere Informationen über die Flugzeuge angezeigt, der Kurs wird mitgeloggt, etc.

Antenne

Mit der mitgelieferten Antenne zum DVB-T-Stick sehe ich Flugzeuge bis etwa 40 km Entfernung. Eine einfache selbsgebaute Antennen für 1090 MHz kommt da wesentlich weiter, ein einfache Möglichkeit siehe http://antirez.com/news/46. Im README zu dump1090 sind dazu noch weitere Links. 

Links