ADS-B Sharing Server on a Stick (or a Pi)
Many ADS-B hobbyist like to share data with the public. Their are several sharing services out there that one can use to do this. However, one of the draw backs of sharing data to some hobbyist is having to tie up a large, power hungry, noisy, and expensive computer to do this. Why not use a small, low power, quiet, cheap computer to do this? Well you can, with either the $35 Raspberry Pi or the $70 MK802. Both units include fanless low power ARM chips to provide the computing power you need in a tiny package. The ARM processors in the MK802 or Raspberry Pi are not very powerful, but they are plenty powerful for ADS-B data sharing. Both systems run modified versions of common Linux distributions that you will need to install. This project is more of a proof of concept and there are probably more details to be worked out depending on the type of ADS-B receiver, how it’s connected to the server (USB or IP), and the data format it sends. The testing was done with a RTL3832u as a receiver with gr-air-modes sending ADS-B data over TCP port 30003 in Kinetics SBS-1 format.
The software that makes this possible has been developed by the folks at Flightradar24 to allow ADS-B sharing with their service. They provide sharing applications for Windows and Linux, but more importantly for this project is their Linux ARM version. Having experimented with both the Raspberry Pi and the MK802, I have found due to the low power processor and the limited Linux distributions it can be a bit frustrating to get some software to work on these devices, if at all. This was not the case with Flightradar24 ARM based sharing software, it worked well with both the MK802 and Raspberry Pi. The ARM software can be downloaded in this forum post on the Flightradar24 web site. The software is still Beta, but seems to work very well. I would suggest if you have any questions as to what equipment is supported or suggestions for improvements that you post them to Flightradar24′s forum. Before you can use the software, you will have to obtain a sharing key form Flightradar24 by sending an email with your nearest airport ICAO code included to firstname.lastname@example.org. I will also have to say that after having dealt with a couple of other ADS-B sharing services that Flightradar24′s technical support is top notch.
The sharing software is set up by default to look for Basestation compatible data on TCP port 30003 and forward type 17 (aircraft identification and position) messages to Flightradar24′s servers. It is also set by default to look for this data on localhost which means it expects the data to becoming from an ADS-B device directly connected to your computer. I was not able to test an ADS-B receiver plugged directly into the USB port on either the MK802 or Raspberry Pi. My experience with both the MK802 and the Raspberry Pi has shown that both computers can be a bit finicky about what devices are plugged into the USB port. However, most USB devices work fine, but your mileage may vary depending on the USB device. The only small issue I had was that I was receiving ADS-B data from an external PC via TCP. Since the software listens on localhost, I initially could not get the sharing program to connect. I could not find any obvious way in the sharing software to change the IP address it uses to listen for data. However, there was an easy work around for this. I just went into the etc directory of the Linux installations on both the MK802 and Raspberry Pi and edited the host file and changed the localhost entry to the IP address of the computer that was sending the data. Then both the MK802 and the Rasperry Pi worked fine receiving data from the external computer with the sharing software set to localhost. Once everything is working on the MK802 or the Raspberry Pi you can disconnect the keyboard and monitor and just let it run. You might want to consider adding a start up script for the software so that if the power goes out the server will automatically restart when power returns to the server.
Here are the basic steps to get this going:
You will need a USB keyboard and mouse. A monitor with HDMI input to configure either device. These can be removed once the device is setup and the sharing software is installed and running. Another computer will be necessary to build the boot images for either device.
Installing on the Raspberry Pi
1. You will at need at least an 8GB SD card to install the operating system on.
2. Download the lasted release of Debian Wheezy from www.raspberrypi.org/downloads
3. Follow the installation directions and install the OS.
4. Optional but recommended. Install any updates to the OS.
5. Download the Flightradar24 Linux ARM sharing software. Be sure to get your sharing key!
6. Extract the downloaded file to a directory of your choice.
7. Connect your ADS-B receiver or connect it to your network if it sends data via TCP.
7. Open a terminal window. CD into the directory that contains the sharing software.
8. Type ./fr24feed_arm-le_222 –fr24key=YOUR_SHARING_KEY at the prompt.
9. The sharing software should start and show that it is connected to your ADS-B receiver.
10. If you are sending ADS-B data over TCP, then you may need to edit the Host file contained in the etc directory of your Linux installation and change the localhost location to the IP address to the device sending the ADS-B data.
11. Create optional start up script.
12 Unplug keyboard, mouse, and monitor. You are good to go!
Installing on the MK802
1. You will need at least a 8GB Micro SD card.
2. I tested this on the Fedora 17 install, which in my opinion is one of the better Linux distributions for the MK802. This can be downloaded here.
3. Install the operating system on the Micro SD card. Instructions can be found here.
4. Follow steps 4 through 12 as listed above.
Again, this project proves that it is possible to use one of these low cost low power devices as an ADS-B server for 24/7 operation. Please keep in mind that your particular ADS-B receiver may not be completely supported and that the software is still pretty much beta. However, if you have an ARM device, go ahead and test it out and let us know what works or doesn’t work for you. Which device would I choose to use for this project? The MK802 hands down. It is cheaper than the Raspberry Pi by the time you buy a power supply, case, and cables necessary to use the Raspberry Pi. The MK802 comes with everything you need except the mini sd card. The MK802 also comes with built in Wifi which makes placement a bit more convenient.