ADS-B Portal
Een zelfgebouwde webportal voor jouw eigen ADS-B-ontvanger, die live de vliegtuigen op een kaart laat zien die jouw radar oppakt.
Wat kun je ermee?
- Live kaart — vliegtuigen vanaf je eigen ADS-B radar, met draaiende iconen en een kleurcodering op hoogte
- 10-minuten sporen — de vliegroute van elk toestel als lijn op de kaart
- Vliegtuigtabel — callsign, ICAO, maatschappij en hoogte, klikbaar om direct op de kaart te springen
- Detailpopup — callsign (met link naar Flightradar24), ICAO, maatschappij, hoogte, snelheid, koers en squawk-code
- Squawk-codes uitgelegd — een aparte pagina die uitlegt wat noodcodes (7500/7600/7700), VFR-, IFR- en militaire codes betekenen, met directe links vanuit de popup
- Statistieken — vluchten per uur, een trend over 30 dagen, drukste callsigns/maatschappijen en recente vluchten, opgeslagen in een lokale SQLite-database
- Vliegveld-markers — nabije vliegvelden aan/uit te zetten op de kaart
- Feed-status — laatste regels uit de log van de feeder, zodat je meteen ziet of de ontvanger nog goed binnenkomt
- Installeerbaar als app — toe te voegen aan je iPhone-beginscherm als PWA
Hoe het is gebouwd
Één Python-bestand als server, geen frameworks, geen build-stap. De officiële FR24-feeder (fr24feed) ontvangt de ruwe ADS-B-signalen via een USB-SDR-dongle en zet die lokaal op poort 8754; de portal leest die data uit, verrijkt 'm en serveert 'm op een eigen poort. Er wordt bewust geen FR24- of AeroDataBox-API gebruikt — alles komt van de eigen antenne.
Deployment gaat via een rsync-scriptje naar de Pi met een systemd-service. Er staat ook een Docker-variant in de repo voor wie liever containers gebruikt (al draait mijn eigen instance gewoon via systemd, omdat de feeder directe USB-toegang tot de SDR-ontvanger nodig heeft).
Zelf hosten
De repo is public en MIT-gelicenseerd op GitHub: 👉 https://github.com/bakkel/adsb-portal
Nodig: een Raspberry Pi met de officiële FR24-feeder en een ADS-B-ontvanger (SDR-dongle + antenne), plus Python 3.7+. De vliegveld-lijst en kaartlocatie in de code staan standaard op Nederland/België, maar zijn met een paar regels aan te passen naar je eigen regio.