During my school days, when I see a flight flying above , just curious to understand , from where to where it is flying, what would be its speed and at what height it is flying and details like that..

When my colleague Sanjay Saxena , a developer advocate @ IBM US Digital group updated me about a similar solution, I got excited and thought of quickly replicating it to have the experience of collecting the data from the flights flying above.

I understand that all commercial flights are emitting the data in the 1090MHz frequency and the same can be decoded using the ADS-Bprotocol.

Sanjay has done this using RasperryPi device (https://github.com/ibm/air-traffic-control) but I prefer to use Intel Edison which I find it very convenient.

Some of the challenges in installing the device drivers and running the decoder is addressed in this blog. Hope you will find it useful.

Part 1 covers the device integration and decoding the data. part 2 wil be focused on moving the data to Bluemix (cloud) for further exploration.

Step 1: Understand the Hardware Device

    1. Device specification: NooElec – RB20T2 SDR & DVB-T (NESDR Mini 2)
    2. Intel Edison

Step 2: Connect the Noolec -SDR Antenna to Intel

  • Connect to the power source as shown in the picture (featured image @ top).
  • Connect the NooElec device in the USB slot and notice the switch position.
  • Connect to the Intel Edison device with the ip address assigned to it. Refer relevant documents on how to connect to Edison.
  • “lsusb” commands return blank since the driver is not yet installed

Step 3: Setup Edison environment for USB driver installation

“opkg” can be used to install the required filesets in Edison. The base feed for the same should be updated.

Step 4: – Build and Install RTL-SDR Driver @ Edison

  • cd ~
  • $ git clone git://git.osmocom.org/rtl-sdr.git
  • $ cd ~/rtl-sdr
  • $ cmake ./ -DINSTALL_UDEV_RULES=ON
    -DDETACH_KERNEL_DRIVER=ON
  • $ make
  • $ sudo make install
  • $ sudo ldconfig

Step 5: Build Dump1090 server

( configured to receive the ADS-B raw message packets like 8d8005fb42e489…)

Step 6: Run the Dump server

(Ensure that the SDR device is connected with Edison and Powered ON )

  • cd ~/dump1090
  • $ ./dump1090 –raw –net

At this stage, the SDR is tuned to 1090MHz frequency and listen for client TCP connections on port 30002. All the connected clients will receive the raw ADS-B messages.

DEBUG:

  • Issue: Error opening the RTLSDR device: Device or resource busy
  • Soln : Reboot Edison

Step 7: Decode the Raw message to readable

output sample :

    1. Flight status : 05 (air or ground), 0 – airborne a80007000000000000000081225d – Flight Status 5: Special Position Identification. Airborne or Ground

Wow !! it is quite interesting to see the flights altitude ramping up whenever a flight from our nearby airport takes off..

Credits: https://github.com/grantmd/node-adsb, https://github.com/ibm/air-traffic-control

Join The Discussion

Your email address will not be published. Required fields are marked *