Turning a Local ADS-B Feed Into an Easy to Read Dashboard
Have you ever wondered where the plane or helicopter overhead is coming from, where it is going or who operates it? I found myself logging into my SkyAware monitor several times a week to look up that information. The problem was that it only showed what was overhead at that moment and logging in took a minute or two each time. I knew there had to be a better way to see this information quickly and to keep a historical record of all the aircraft traffic I had observed.
One of the fun side effects of running a local ADS-B receiver with dump1090-fa on a Pi with an RTL-SDR dongle, is that you end up with a constant stream of aircraft telemetry sitting on your Pi. aircraft.json updates every second or two with hex codes, positions, altitudes, speeds and it's all there waiting to be analyzed and not just sent to Flightaware.
Recently, I learned about JetClock which is a slick, commercial desk clock that shows you the aircraft passing overhead with airline, route, photos and all kinds of other data. Amazing idea for a product, especially for airplane geeks like me. But it's a physical device tied to their backend and I already had a receiver, a Python environment and some free time to try to code something for my specific setup.
This project started from a simple question:
Could I build a JetClock-style dashboard entirely from data I already have on my own network without relying on a cloud service or proprietary hardware?
The short answer turned out to be yes and it grew into more than I expected.
What It Does
At its core, ADSB Analyzer is a small Flask app that polls your local aircraft.json feed and turns it into a live browser dashboard.
It features:
A clock face that surfaces the closest overhead aircraft in real time — callsign, airline, route, aircraft type, altitude, speed, distance, bearing and a photo, when one's available.
A personal sightings logbook (SQLite) that logs every aircraft that's passed through range, with analytics: busiest hour/day, top routes, top aircraft types, a manufacturer breakdown, personal records (closest approach, fastest, highest, longest overhead) and a local rarity score based on how often you've personally seen a given aircraft type.
Live local weather and sun/moon data.
A Settings tab where basically everything is live-editable from the browser including receiver URL, home location, detection filters (altitude range, radius, aircraft category, viewing angle, even a best-effort "military only" toggle), weather source and five different card layouts (including a fully custom one where you pick your own data points).
Comments
Post a Comment