Die meisten Verkehrsflugzeuge besitzen einen ADB-S Transponder der regelmäßig auf 1090 MHz den Flugzeugtyp, Flugnummer sowie Position und Flugrouten-Informationen aussendet. Diese Signale lassen sich mit einem günstigen DVB-T Stick empfangen und mit einer SDR-Software am Raspberry Pi dekodieren und anzeigen. Optional lassen sich die Echtzeit-Daten auch an Flightradar24.com, FlightAware.com oder planefinder.net weiterleiten.
Folgende Komponenten werden dafür benötigt:
- Raspberry Pi mit freiem USB Anschluss (Raspberry Pi B+ bei Amazon*)
- DVB-T Stick mit RTL2832U Chipsatz (DVB-T RTL2832U bei Amazon*)
- DVB-T Antenne oder Außenantenne (z.B.: Team Electronic SkyScan MK II* (25-1300 MHz, 50 Ohm, 64cm, mit 4m TG-58 Kabel und BNC-Stecker)
- USB-Treiber für DVB-T Sticks
- Empfangssoftware: Osmocom – RTL-SDR
- ADB-S Dekoder: Dump1090
- Feed Software: fr24feed für Flightradar24 oder PiWare für FlightAware
Git Repository Tools
sudo apt-get update sudo apt-get upgrade sudo apt-get install git-core sudo apt-get install git
CMake Build System
CMake von Visible Human Project ist ein freies, Open-Source, Cross-Platform und Compiler-unabhängiges Build-System. Es benötigt lediglich einen C++ Compiler.
sudo apt-get install cmake
USB-Treiber für DVB-T Sticks
sudo apt-get install libusb-1.0-0-dev
Compiler Tools
sudo apt-get install build-essential
Installation von RTL-SDR
DVB-T USB Sticks die auf dem RTL2832U-Chipsatz basieren, können als günstiger SDR (Software Defined Radio) Empfänger verwendet werden, da der Chip die I/O-Samples zur Demodulation von DAB/DAB+/FM direkt an den Computer übermitteln kann. Die Möglichkeit diese DVB-T Sticks auf diese Weise zu verwenden, fand Eric Fry 2010 heraus.
cd ~/ git clone git://git.osmocom.org/rtl-sdr.git cd rtl-sdr mkdir build cd build cmake ../ -DINSTALL_UDEV_RULES=ON make sudo make install sudo ldconfig sudo cp /home/pi/rtl-sdr/rtl-sdr.rules /etc/udev/rules.d/ sudo reboot rtl_test -t
Installation von Dump1090
Dump1090 ist ein einfacher Mode-S Dekoder für RTL-SDR Empfänger der die ADB-S Signale der Transponder in Flugzeugen auf der Frequenz 1090 MHz dekodiert. Der Fokus von Dump1090 liegt in der robusten Dekodierung von schwaschen DF Signalen. Dump1090 startet einen TCP-Server, um die Daten an andere Software weiterzuleiten und optional einen HTTP-Server zur dynamischen Anzeige der empfangenen und dekodierten Flugbewegungen.
cd ~ git clone git://github.com/MalcolmRobb/dump1090.git cd dump1090 make
Falls bei der Installation Fehler auftreten, so sollte folgendes ausgeführt werden:
sudo apt-get install pkg-config make
Dump1090 kann nun mit folgendem Aufruf gestartet werden:
./dump1090 --interactive --net # oder ./dump1090 --quiet --net --net-ro-size 500 --net-ro-rate 5
Sollte beim Start von dump1090 folgender Fehler auftreten, so ist noch der falsche USB-Treiber geladen:
„Kernel driver is active, or device is claimed by second instance of librtlsdr. In the first case, please either detach or blacklist the kernel module (dvb_usb_rtl28xxu), or enable automatic detaching at compile time.“
Das Problem kann durch entladen des Standard Kernel-Treibers dvb_usb_rtl28xxu, rtl2832 mit folgendem Befehl behoben werden:
sudo rmmod dvb_usb_rtl28xxu rtl2832
Nach dem Start von Dump1090 sollten nach einigen Sekunden die ersten Flugzeugbewegungen aufgelistet werden:
Wird Dump1090 mit dem Parameter –net gestartet, so ist auf Port 8080 unter zB.: http://localhost:8080 eine einfache Karten-Ansicht zur Liste aufrufbar.
Flightradar24.com Feeder Software: fr24feed
Flightradar24 ist ein Flug-Tracking Dienst, der Echtzeit-Informationen über weltweit tausende Flugzeuge online unter www.flightradar24.com, auf Windows, Mac OSX, iOS und Android bereitstellt. Die Daten stammen dabei großteils aus den frei empfangbaren ADS-B und MLAT Signalen der Transpoder in den Flugzeugen. Download der Feeder-Software: http://forum.flightradar24.com/threads/4270-Linux-feeder-software-for-Flightradar24
mkdir fr24feed cd fr24feed wget https://dl.dropboxusercontent.com/u/66906/fr24feed_arm-rpi_242.tgz tar -zxvf *.tgz ./fr24feed_arm-rpi_242 --signup [i]FR24Feed v242 - built on Aug 15 2014/08:32:38 Welcome to the FR24 Feeder sign up wizard! Before you continue please make sure that: 1 - You have a working receiver/decoder providing Basestation compatible stream 2 - You know the network address of the data feed (localhost:30003 by default) 3 - You know your receivers location up to 1 decimal point 4 - You have a working email address that will be used to contact you To terminate - press Ctrl+C at any point Step 1/5 - Enter Latitude (DD.DDDD) $:47.**** Step 2/5 - Enter Longitude (DD.DDDD) $:13.**** Step 3/5 - Enter your email address () $:<> Step 4/5 - Enter your the hostname of the data feed (leave empty for localhost) $: Step 5/5 - Enter your the port number of the data feed (leave empty for 30003) $: Validating form data...OK The closest airport found is ICAO:LOWS IATA:SZG near Salzburg. Latitude: 47.793301 Longitude: 13.004330 Country: Austria Flightradar24 may, if needed, use your email address to contact you regarding your data feed. Would you like to continue using these settings? (yes/no)$:yes Taking data sample, minimum 3 AC required including at least 2 ADS-B: [b]connecting to localhost:30003 [b]connected [i]00:00 - Connected to the data feed [b]working [i]Data feed time difference OK abs(17:00:36.010 - 17:00:35.982)=1 [b]00:05 - 1 AC in range [b]00:10 - 3 AC in range [b]00:15 - 1 AC in range [b]00:20 - 3 AC in range [b]00:25 - 1 AC in range [b]00:30 - 3 AC in range [b]00:35 - 1 AC in range [b]00:40 - 3 AC in range [i]Removed 0 of 3 AC [b]disconnected Sending data sample to the server, completing registration...OK Account registered successfully! Your sharing key is: ********** Your radar code is: T-LOWS22 Soon you should also receive an email containing this information. To start sending data please start the feeder providing your key: ./fr24feed_arm-rpi_242 --fr24key=**************
Der Feeder für Flightradar24 kann nun mit folgendem Befehl unter Angabe des angezeigten Keys gestartet werden:
./fr24feed_arm-rpi_242 --fr24key=YOUR_SHARING_KEY --bs-port=30003
FlightAware Feeder Software: PiWare
FlightAware.com ist so wie Flightradar24 ein Flug-Tracker der live Tracking-Karten, Flugstatus und Flugverzögerungen der Luftfahrtgesellschaften, private Flüge und Flughäfen visualisiert. Um die selbst mit Dump1090 empfangenen Daten an FlightAware weiterzuleiten, muss eine kostenlose Registrierung unter http://de.flightaware.com/account/join/ durchgeführt werden.
Wichtig: Nach der Aktivierung muss der Aktivierungs-Link in der Registrierungsemail angeklickt werden!
Download und Installation von PiAware am Raspberry Pi:
cd ~ mkdir piaware cd piaware wget http://de.flightaware.com/adsb/piaware/files/piaware_1.18-2_armhf.deb sudo dpkg -i piaware_1.18-2_armhf.deb sudo apt-get install -fy
Anmerkung: Fehlermeldungen wegen fehlender Pakete wie „dpkg: Abhängigkeitsprobleme verhindern Konfiguration von piaware:…“ können an dieser Stelle ignoriert werden.
Optional können mit folgendem Konfigurations-Befehl automatische Updates von PiWare aktiviert (bzw. deaktiviert) werden:
sudo piaware-config -autoUpdate 1 -manualUpdate 1
PiAware wird mit folgendem Befehl konfiguriert, wobei das FlightAware-Password abgefragt und gespeichert wird:
sudo piaware-config -user <username> -password please enter flightaware user password:_
Start und Aktivierung des Autostarts von PiAware mit:
sudo /etc/init.d/piaware restart [ ok ] Stopping piaware server: piaware. [ ok ] Starting piaware server: piaware.
Usage: /etc/init.d/piaware {start|stop|restart|try-restart|force-reload|status}
Das Log-File ist unter /tmp/piware.out zu finden:
tail -f /tmp/piaware.out 11/30/2014 17:09:53 **************************************************** 11/30/2014 17:09:53 piaware version 1.18 is running, process ID 32500 11/30/2014 17:09:53 your system info is: Linux myscope.local 3.12.28+ #709 PREEMPT Mon Sep 8 15:28:00 BST 2014 armv6l GNU/Linux 11/30/2014 17:09:53 connecting to FlightAware eyes.flightaware.com/1200 11/30/2014 17:09:55 FlightAware server SSL certificate validated 11/30/2014 17:09:55 encrypted session established with FlightAware 11/30/2014 17:09:55 autoUpdate in adept config is enabled, allowing update 11/30/2014 17:09:55 manualUpdate in adept config is enabled, allowing update 11/30/2014 17:09:56 ADS-B data program 'dump1090' is listening on port 30005, so far so good 11/30/2014 17:09:56 i see nothing serving on port 10001, starting faup1090... 11/30/2014 17:09:56 started faup1090 (process ID 32526) 11/30/2014 17:09:59 connecting to faup1090 on port 10001... 11/30/2014 17:09:59 piaware is connected to faup1090 on port 10001 11/30/2014 17:09:59 logged in to FlightAware as user dumboxp 11/30/2014 17:10:00 piaware received a message from the ADS-B source! 11/30/2014 17:10:40 2 msgs recv'd from dump1090 via faup1090; 2 msgs sent to FlightAware 11/30/2014 17:10:54 server is sending alive messages; we will expect them 11/30/2014 17:11:30 piaware has successfully sent several msgs to FlightAware!
Die aktuell empfangenen Flugbewegungen und Tacking-Statistiken sind bei FlightAware unter folgender URL zu finden: http://flightaware.com/adsb/stats/user/<username>
PlaneFinder Client: pfclient
Auch PlaneFinder.net ermittelt weltweit die Flugrouten anhand des ADS-B Transponder Signales und verwertet auch Daten aus privaten Empfängern. Bevorzugt wird dabei der COAA PlanePlotter empfohlen – es gibt aber auch die Möglichkeit, über einen mit Node.js implementierten sog. „pfclient“-Client die Daten von Dump1090 an PlaneFinder.net zu übermitteln. Dazu ist eine kurze Anfrage unter support[at]planefinder.net nötig! Man erhält daraufhin ein PDF mit Download-Link und kurzer Erläuterung über die Installation und Einrichtung. Unter Angabe des „Share-Codes“ aus der eMail kann man sich daraufhin unter http://planefinder.net/sharing/ registrieren. Über diese Seite lassen sich seine an PlaneFinder übermittelten Daten und Statistiken wie zB. die Anzahl der Flugzeuge und die Empfangsstärke der Antenne einsehen und überwachen. (Quelle: http://planefinder.net/about/coverage/)
Zur Verwendung des „pfclient“ wird NodeJS Version 0.10.x benötigt – am einfachsten lässt sich node folgendermaßen installieren:
cd ~ wget http://nodejs.org/dist/v0.10.2/node-v0.10.2-linux-arm-pi.tar.gz tar -xvzf # Pfad konfigurieren: sudo nano /etc/profile NODE_JS_HOME=/home/pi/node-v0.10.2-linux-arm-pi PATH=$PATH:$NODE_JS_HOME/bin # Version von node und npm abfragen: node --version v0.10.2 npm -version 1.1.4
Danach muss den Erläuterungen aus dem PDF von PlaneFinder gefolgt werden. Nachdem PlaneFinder diese Informationen nur per eMail verschickt und demnach offenbar nicht öffentlich verbreitet, möchte ich an dieser Stelle lediglich an support[at]planefinder.net verweisen.
Quellen:
- ADS-B and the Raspberry Pi Revised, http://sonicgoose.com/ads-b-and-the-raspberry-pi-revisited/
- ADS-B using dump1090 for the Raspberry Pi, http://www.satsignal.eu/raspberry-pi/dump1090.html
- Malcolm Robb: Dump1090, https://github.com/MalcolmRobb/dump1090
- Ferran Casanovas: Dump1090 – Installation on the RPi, https://ferrancasanovas.wordpress.com/2013/09/26/dump1090-installation/ (Stand: 2014/11)
- Ferran Casanovas: FR24 feeder software – Installation on the RPi, https://ferrancasanovas.wordpress.com/category/raspberry-pi-setup/ (Stand: 2014/11)
- Salvatore Sanfilippo (antirez): Dump1090, https://github.com/antirez/dump1090
- Yeri „Tuinslak“ Tiete’s: Raspberry Pi & @Flightradar24, https://yeri.be/raspberry-pi-flightradar24 (Stand 2014/11)
- Rob Jones: Mode-S and ADS-B on a Raspberry Pi, http://sonicgoose.com/mode-s-and-ads-b-on-a-raspberry-pi/
- Flightradar24: http://www.flightradar24.com
- FlightAware, https://de.flightaware.com/adsb/stats/user/navic
- Planefinder.net, http://planefinder.net, http://planefinder.net/about/coverage/
- Wikipedia: Automatic Dependent Surveillance (ADS-B), https://de.wikipedia.org/wiki/Automatic_Dependent_Surveillance
- AIR Avionics: ADS-B, http://www.butterfly.aero/ADS-B/
- Smart Mobile Studio: node.js on a Raspberry Pi, http://smartmobilestudio.com/2014/01/20/node-js-raspberry-pi/
Hinweise
Die mit * gekennzeichneten Links sind sogenannte Affiliate Links.
Kommt über einen solchen Link ein Einkauf zustande, werde ich mit
einer Provision beteiligt. Für Dich entstehen dabei keine Mehrkosten.
Wo, wann und wie Du ein Produkt kaufst, bleibt natürlich Dir überlas-
sen