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 running dump1090
. See its README for details.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.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.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 git@github.com:robertsteilberg/roob1090.git
git submodule init
git submodule update
will fetch dump1090
I created this stack as a personal exercise to achieve the following goals, in descending order of importance:
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.