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:
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 runningdump1090
. See its README for details.pump1090
is a Rust program that reads a JSON dumpfile generated bydump1090
and sends it to a WebSocket endpoint. See its README for details.serve1090
is anexpress
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.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.
git clone [email protected]:robertsteilberg/roob1090.git
git submodule init
git submodule update
will fetchdump1090
- Follow the individual READMEs for each package to initialize the dependent environment variables
I created this stack as a personal exercise to achieve the following goals, in descending order of importance:
- 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
- Record and analyze flight trends into and out of DCA and the surrounding airspace
- Take up ADS-B flight tracking as a hobby and contribute to the flight tracking community by sending data to aggregates like FlightAware
- Learn Rust and Raspberry Pi
- Build a "full stack" application that harvests data and exposes an API and hone my back-end development skills
- 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.