ECE497 Project: Local Air Traffic Radio

From eLinux.org
Revision as of 04:43, 14 November 2017 by Bretscak (talk | contribs) (updated theory of operation)
Jump to: navigation, search


Team members: Adam Bretsch

Executive Summary

RTL-SDR radios can monitor local air traffic via ADS-B signals. These signals include much information about the flight, including latitude, longitude, height and other flight charactertics.

Currently the utility dump1090 can output plane data to a html page. This page shows the direction and location of each plane in sensor range, but is only accessible in the local network.

The goal of this project is to create a device that will track the local air traffic and alert the user whenever a plane comes close enough to look out the window and see

This tool will have many different applications. The overall goal is to be able to set up the BeagleBone with the 2 SDRs and have it give alerts whenever a plane is close enough to see. These planes will be found using the dump1090 utility and the system will alert the user via both a buzzer and by tweeting the plane's information

Packaging

Components used are listed below:

BeagleBone Blue: https://beagleboard.org/blue

Software Defined Radio: https://www.rtl-sdr.com/buy-rtl-sdr-dvb-t-dongles/

Electronic Buzzer: https://www.adafruit.com/product/1536

Installation Instructions

https://github.com/AdamBretsch/SDRFlights See README.md in github directory.

Current sources:

https://randomkeystrokes.com/2016/07/02/installing-dump1090-adsb-decoder-tool-on-ubuntu-16-04-lts/ https://github.com/antirez/dump1090

(* Include your github path as a link like this to the read-only git site: https://github.com/MarkAYoder/gitLearn.

  • Be sure your README.md is includes an up-to-date and clear description of your project so that someone who comes across you git repository can quickly learn what you did and how they can reproduce it.
  • Include a Makefile for you code.
  • Include any additional packages installed via apt.
  • Include kernel mods.
  • If there is extra hardware needed, include links to where it can be obtained.)

User Instructions

(Once everything is installed, how do you use the program? Give details here, so if you have a long user manual, link to it here.)

Highlights

(Here is where you brag about what your project can do. Include a YouTube demo.)

Theory of Operation

The utility dump1090 calibrates and begins the SDR's collection of data. The script begindump.sh starts this process and starts dump1090 with the option to deposit all data gathered into a .json file ./dump1090/public_html/data/aircraft.json. Using the script ./HTMLserver.sh, a basic python html server is started on port 8090 that views that data in an html form.

For my project, the same aircraft.json file that serves the html page is queried and used to compile data on the local flights. The program ./listPlanes.py gathers this data and filters out the planes that don't have a strong enough signal to give specific aircraft information such as flight number or speed. If this information is present, each plane and its values are recorded, and the distance to each plane from the local position (currently assume to be Rose-Hulman in Terre Haute, IN) is calculated using geopy's vincety distance between two points in the form (latitude, longitude). This program was the first step in processing the information used in the project, and can currently be used to check the distance to each fully visible plane.

In ./tweetPlanes.py, ./listPlanes.py has been expanded to include the functionality to tweet and activate a buzzer to inform the user whenever a plane is close enough to be locally seen. The distance is set to 20 miles by default, and whenever a plane is detected within this distance, a tweet including its flight number, distance, speed, altitude, and a link to a third party flight-tracker is included in the tweet. The twitter feed operates through use of the utility tweepy, which integrates with a custom-made application on apps.twitter.com, communicating via public and private keys to the twitter account.

Work Breakdown

Done: Installed dump1090 - 10/22/17 Tested dump1090 -10/22/17 Installed dump978 - 10/29/17 Tested dump978 - 10/29/17

To be done: Analyze dump1090 source - 11/2/17 Analyze dump978 source - 11/2/17 Combine code dump 1090 and dump978 - 11/7/17 Combine display outputs - 11/3/17

Future Work

Could add twitter interface to send alerts over the Internet.

Conclusions

Grading

0 = Missing, 5=OK, 10=Wow!

00 Executive Summary
00 Installation Instructions 
00 User Instructions
00 Highlights
00 Theory of Operation
00 Work Breakdown
00 Future Work
00 Conclusions
00 Demo
00 Late
Comments: 
Score:  /100

(Inline Comment)