With the use of an SDR radio and the work other interested people have done on creating software there's a wealth of interesting information you can get from the airwaves. I've recently just setup an ADS-B reciever using a Raspberry Pi, R820T based dongle and some free software. The data I recieve is uploaded to Flightradar24 to help them boost coverage.
My Initial tests used a windows PC using the rtl1090 application and the flightradar software however I now have it running on a Raspberry Pi which makes for a much smaller and power effiecient reciever. I also tried doing this with my original E4000 based device but found that it cut off just below the required frequency for recieving ADS-B data.
To recieve the ADS-B data I used an application called dump1090.
Building this requires the rtl-sdr to have already been build (write up to come), The steps to build dump1090 are:
git clone https://github.com/antirez/dump1090.git cd dump1090/ make sudo cp dump1090 /usr/local/bin/
This can then be run from the command line like this
dump1090 --interactive --enable-agc --interactive-ttl 3600 --interactive-rows 30 --metric
and it will show all the flight data being recieved which should look something like this:
Hex Flight Altitude Speed Lat Lon Track Messages Seen . -------------------------------------------------------------------------------- 4ca704 0 0 0.000 0.000 0 3 51 sec 450023 0 0 0.000 0.000 0 1 105 sec 4ca6a5 RYR6275 1743 518 50.577 -1.640 7 344 1 sec 400e5c 4287 783 0.000 0.000 22 8 175 sec 4006b3 BAW247 6473 870 50.588 -1.748 212 1627 1 sec 40055f 7760 0 0.000 0.000 0 1546 0 sec 405bfe BAW245 7714 811 50.425 -1.905 214 2350 21 sec 400fe0 0 0 0.000 0.000 0 3 245 sec
To upload the data to flightradar you need to download the package from http://forum.flightradar24.com/threads/4270-Linux-feeder-software-for-Fl... For the Raspberry Pi the ARM LE version. I'm using the Dynamicly linked version dated 10/4/2013. This can be installed into /usr/local/bin with the command
sudo tar xzvf fr24feed_arm-le_232.tgz -C /usr/local/bin/
Two allow the Flight Radar application to use the data from dump1090 you need to add two additional flags to the command line
dump1090 --interactive --enable-agc --interactive-ttl 3600 --metric --interactive-rows 30 --net --net-sbs-port 30003
You can then run the flight radar application to get the data from dump1090 and upload to the flight tradar servers.
As I had already set up flight radar on a windows machine I had the key to use. If you don't have a key for this recieving station you'll need to read the instructions on the Flight Radar site.
I've had issues with the dynamically linked version of fr24feed stopping working after a period of time. To fix this I'm currently trying the statically linked version of fr24feed. This seems to need an extra environment variable to connect and so should be run like:
FR24AUTHIP=188.8.131.52 fr24feed_arm-le_232s --<key>
There are some reports of this still failing, as a fix for this the recommendation is to try an older copy (version 225).
A Work in Progress is to run a local server to show the flights I'm recieving which I intend to do with http://www.virtualradarserver.co.uk/ and mono.
Installing mono on the Raspberry Pi can be acheived using the command
sudo apt-get install mono-runtime mono-2.0-gac libmono-winforms2.0-cil mono-csharp-shell
Check if the version of mono on the pi will work properly
If the output is not 16 (like the above) then the version of mono may have issues, See http://elinux.org/CSharp_on_RPi for information. You can either try installing mono from source (possibly with patches) or change to using a softfloat version of raspbian.
Download the VirtualRadar Software
Create a Folder for it and change into that folder
mkdir VirtualRadar cd VirtualRadar
extract the archive
tar xzvf ~/HAB/VirtualRadar.tar.gz
Run the application
At this point there are errors that still need resolving
The method I prefer to run these on the Pi is via a screen session. This allows me to run both applications within a single SSH session and also close that SSH session leaving the programs running in a way that I can reconnect to them later. This is setup be first installing screen:
sudo apt-get install screen
To simplifiy starting the programs I have also created a ~/.screenrc file which starts both programs with screen. This file looks like:
screen -t dump1090 0 dump1090 --interactive --enable-agc --interactive-ttl 3600 --metric --interactive-rows 30 --net --net-sbs-port 30003 screen -t fr24 1 fr24feed_arm-le_232 --fr24key=<key>
To start screen for the first time just type:
If you want to re-connect to an existing screen session run
screen -rd There are many more things you can do with screen and if you regularly use linux SSH sessions I highly recommend learning to use screen or one of the alternatives.
Resources I used to configure this are:
Other Potential Resources