Skip to content
/ roob1090 Public

Monorepo for custom flight tracking stack for localized ADS-B tracking

License

Notifications You must be signed in to change notification settings

r00b/roob1090

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

roob1090 monorepo

Overview

roob1090 (an amalgamation of roob, my username, and 1090, the frequency over which aircraft broadcast ADS-B signals) is a stack for harvesting and aggregating ADS-B data.

A live demo of the entire roob1090 stack in action can be seen on my personal website. You can also directly hit the API at aircraft.robsteilberg.io; see aircraft.robsteilberg.io/airports/boards/kdca to see the current board of aircraft movements for KDCA, or aircraft.robsteilberg.io/aircraft/valid to see all valid aircraft currently being tracked.

roob1090 contains three packages and one submodule:

  1. dump1090 is a program originally written by anitrez and maintained by FlightAware that parses ADS-B signals received through an antenna into readable JSON. roob1090 uses FlightAware's fork of dump1090. It is included as a git submodule and contains some custom scripts for running dump1090. See its README for details.
  2. pump1090 is a Rust program that reads a JSON dumpfile generated by dump1090 and sends it to a WebSocket endpoint. See its README for details.
  3. serve1090 is an express Node application that scaffolds a server for receiving data through a WebSocket, aggregating and processing it, exposing an API to retrieve it, and broadcasting it via WebSocket to clients. See its README for details.
  4. piTemp is a Python script for monitoring the core temperature of a Raspberry Pi running Buster or a related distribution of Raspbian. See its README for details.

Monorepo installation

  1. git clone [email protected]:robertsteilberg/roob1090.git
  2. git submodule init
  3. git submodule update will fetch dump1090
  4. Follow the individual READMEs for each package to initialize the dependent environment variables

Remarks

I created this stack as a personal exercise to achieve the following goals, in descending order of importance:

  1. As someone who lives next to and with a direct view of Washington Reagan National Airport, I wanted to be able to see an aircraft landing or taking off and immediately know its flight number, origin or destination, aircraft type, and other information without consulting/paying for a public API
  2. Record and analyze flight trends into and out of DCA and the surrounding airspace
  3. Take up ADS-B flight tracking as a hobby and contribute to the flight tracking community by sending data to aggregates like FlightAware
  4. Learn Rust and Raspberry Pi
  5. Build a "full stack" application that harvests data and exposes an API and hone my back-end development skills
  6. Develop software for something other than my full-time job

This stack should require minimal development to make it useful for any airspace or airport other than DCA; details on how to do this are included in the serve1090 README.

About

Monorepo for custom flight tracking stack for localized ADS-B tracking

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published