Benutzer-Werkzeuge

Webseiten-Werkzeuge


ads-b

Dies ist eine alte Version des Dokuments!


Vortrag vom 20.07.2013 durch Tobias Wensing · Siehe auch: rtl-sdr

Selbstau Flugzeugradar

Einleitung

Haben Sie schonmal etwas vonADS-B (Automatic Dependent Surveillance - Broadcast) gehört? Nein, aber vielleicht kennen Sie eine der folgenden Seiten:


Wenn Sie sich bisher gefragt haben, woher diese Webseiten (bzw. deren APPs) die aktuellen Daten der Flugzeuge haben, dann ist dieses HowTo das richtige für Sie!

Wir zeigen Ihnen nämlich nicht nur woher die Daten kommen, sondern auch wie Sie selbst ein solches Flugradar betreiben können. Dieses sogar relativ günstig mit einen Hardwareaufwand von ca. 25 €uro.

Grundlagen

ADS-B wurde in Europa und Nordamerika zur Steigerung der Flugsicherheit und der Verkehrsdichte eingeführt. Vereinfacht gesagt, sendet dabei jedes Flugzeug auf einer Frequenz von 1,09 GHz einmal pro Sekunde seine Position, Höhe, Geschwindigkeit sowie einige weitere Daten. Dies können dann neben den anderen Flugzeugen auch Bodenstationen empfangen und auswerten. Deren theoretische Reichweite beträgt ~370,4 km.

Da das Funksignal unverschlüsselt gesendet wird, kann jedermann mit einen entsprechenden SDR-Empfänger die Daten empfangen und dekodieren. Auch wir werden uns das zu nutze machen.

ADS-B Radar als Kochrezept

Für ein solches „Radar“ benötigt man also Hardware zum Empfang von Daten auf einer Frequenz von 1090 MHz und entsprechende Software zum dekodieren des Signals. Als Anhänger von freier Software haben wir auch hier wieder alle Freiheiten, weil die notwendige Software bereits verfügbar ist. Aber auch bei der Hardware haben wir Glück, weil es günstige DAB/DAB+/FM -USB-Sticks gibt welche die gew. Frequenz empfangen können.

Voraussetzungen

​Zur Realisierung dieses Projektes habe ich mich als Systemgrundlage für ein GNUBLIN-Board entschieden. Da dieses genügend Rechenkapazität bietet bei einem geringen Stromverbrauch von ~1Watt. Ausserdem ist es im Gegensatz zum viel gehypten RasPi wirklich OpenSource.
Als Betriebssystem verwende ich die Gnublin-Debian-Variante. Zusätzlich habe ich das GNUBLIN-Board mit einem WLAN-USB-Stick zur Netzwerkkommunikation ausgestattet. Beim DAB-Empfänger habe ich mich für den „ezCAP RTL2832/R820T“ entschieden. Aber es sollte Grundsätzlich mit allen Geräten dieser Liste funktionen.

Diese Anleitung kann natürlich auch mit jedem anderen GNU/Linux-System um gesetzt werden. Es wird ein USB-Host-Port und eine Netzwerkschnittstelle benötigt.

Zutatenliste

Hardware:
GNUBLIN-Board (bzw. GNU/Linux-PC)
WLAN-Stick (für das GNUBLIN-Board)
USB-Stick mit RTL2832U-Chip
aktiver USB-Hub

Software:
GNU/Linux*
GCC*
LIBUSB-1.0*
LIBTOOL*
AUTOCONF*
PKG-CONFIG*
GIT*
RTL-SDR
DUMP1090

(Die mit *-Sternchen versehenen Programme sollten Ihrer Distribution beiliegen)

Vorbereitungen

(Wenn Sie eine andere Plattform statt dem GNUBLIN-Board verweden, können Sie diesen Abschnitt überspringen)
Da das GNUBLIN-Board weder über Tastatur noch Bildschirm verfügt, muss es über eine serielle Konsole konfiguriert werden.
Als ersten Schritt sollte der WLan-Zugriff konfiguriert werden.

Zuerst wird da GNUBLIN wiehier beschrieben mit einem Computer zu konfiguration verbunden.
Als nächster Schritt sollte gemäß dieser Anleitung das Netzwerk konfiguriert werden.
Alternativ können auch diese Dateien auf die SD-Karte kopiert werden. Wobei vorallem die wlan.key-Konfigurationsdatei angepasst werden muss(der Dateiname muss dem des Netzwerknamens entsprechen und das WLan-Passwort muss korrekt eingetragen werden). Bei der wpa2connect sollten ggf. die IP-Adressen angepasst werden

DateinameZielort (im GNUBLIN)Bemerkung zur Datei
funknetzname/etc/wlan.keys/funknetznameWPA2-Schlüssel (ANPASSEN!)
wpa2connect/bin/wpa2connectAusführbares WLan-Script (chmod 700 + Anpassen)
wlan/etc/init.d/wlanInit-Script (chmod 700)
radar.sh/root/radar.shausführbares Script zum Starten des „Radars“ (chmod 700)

Wenn die Dateien an den entsprechenden Orten abgelegt wurden, fügt folgender Befehl den WLan zum Systemstart hinzu:
rc-update wlan defaults

Kochen und Backen

Folgende Befehle sollten in der Root-Konsole auf dem Zielsystem ausgeführt werden. Der Installationsvorgang dauerte nativ auf dem GNUBLIN ca. 2 Std., da hier teilweise die Software erst kompiliert werden muss. Daher bietet es sich für erfahrene Anweder Crosscompiling der betreffenden Pakete an.
(Aus Sicherheitsgründen sollte man das Radar nicht auf dauer als Root betreiben, aber dazu vlt. in einem späteren Tutorial mehr)

#System updaten
apt-get update && apt-get upgrade

#Benötigte Software installieren (die mit den *-Sternchen)
apt-get install git libusb-1.0-0-dev libtool pkg-config autoconf

#Arbeitsverzeichnis erstellen/
mkdir ads-b && cd ads-b

#RTL-SDR laden, kompilieren und installieren
#GIT-Clonen
git clone git://git.osmocom.org/rtl-sdr.git
cd rtl-sdr #Kompilieren
aclocal && autoreconf -i
./configure
make

#installieren
make install
cd ..

#Dump1090 laden und kompilieren
# download
wget https://github.com/antirez/dump1090/archive/master.zip #entpacken
unzip master.zip
cd dump1090-master # kompilieren
make

##fertig :-)

Testen

Wenn Sie jetzt den DAB/DAB+ -USB-Stick angeschlossen haben, wird mit


./dump1090 –-net


die Software zur Auswertung gestartet, welche auch gleich einem Webserver (-–net) auf Port 8080 startet. Wenn Sie mit einem Browser http:< IP_GNUBLIN>:8080 (z.B.http://192.168.178.5:8080) eingeben sollte Ihnen auf einem GoogleMaps-Hintergrund einige Flugzeuge (als gelbe Pfeile) angezeigt werden.
Es kann jedoch eine Minute dauern, bis Sie die ersten Flugzeuge angezeigt werden. Überprüfen Sie ggf. auch mal Ihre Antennenausrichtung. Für die recht hohe Frequenz sind bereits Fensterscheiben eine Abschirmung. Deshalb sollten Sie zumindest die Antenne im Freien „mit Sichtverbindung zum Flugraum“ positionieren.

Betrieb

Sie können die Webseite über die Datei „gmaps.html“ anpassen.

Für den Dauerbetrieb sollten Sie die Konsolenausgabe von dump1090 nach /dev/null umleiten:
./dump1090 –net –aggressive –net-http-port 80 > /dev/null

Rechtliches

Hinweise

Je nach System muss das Kernel-Modul „dvb_usb_rtl28xxu“ per rmmod oder Kernel-Konfiguration entfernt werden bevor rtl_sdr verwendet werden kann

Ggf. müssen die rtl_sdr libraries von src/.libs per hand nach /usr/lib bzw. /usr/lib64 kopiert werden


ads-b.1485123451.txt.gz · Zuletzt geändert: 2017/01/22 22:17 von butzel