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.