Een drone stelt zich voor
Een vliegtuig op de kaart heeft een transponder die zegt wie het is en waar het vliegt. Drones hadden lang niets van dien aard. Sinds januari 2024 eist de Europese Unie echter dat een drone met een klasselabel C1 tot C3 tijdens het vliegen zelf zijn identiteit en positie uitzendt. Dat heet Remote ID, en in de Verenigde Staten wordt een vergelijkbare regel sinds maart van datzelfde jaar gehandhaafd.
Daar komt geen apart netwerk aan te pas. De drone gebruikt Bluetooth of Wi-Fi, de radio’s die iedereen in zijn zak heeft, en ongeveer één keer per seconde zegt hij: dit is mijn serienummer, dit het registratienummer van mijn exploitant, hier ben ik, zo hoog, zo snel, die kant op. En hier staat de piloot, of hier ben ik opgestegen.
Een telefoon bij het hek hoort het, een ontvanger op het dak ook. Alleen niet van heel ver: Bluetooth is geen radio voor tientallen kilometers. Wie de drones boven zijn dorp wil zien, heeft een antenne in de buurt nodig.

Er is wel meer dan één manier om het te versturen. De technische norm kent er vier: het oudere Bluetooth 4, Bluetooth 5 met groot bereik, Wi-Fi beacon en Wi-Fi NAN. De Europese norm staat het oudere Bluetooth niet toe als enige route, dus een ontvanger die alleen daarnaar luistert, kan een drone volledig missen, zelfs als die er recht boven vliegt. Daarom kan de onze op alle vier luisteren.
Een kleine computer bij het raam
De ontvanger is een Raspberry Pi, een computer zo groot als een pak kaarten. Bluetooth zit er al in. De meeste drones in Europa zenden echter uit via Wi-Fi of Bluetooth 5 met groot bereik, dus komt er één USB-adapter voor Wi-Fi bij; zonder die adapter hoort het station alleen Bluetooth, maar het kan meteen beginnen en de adapter later krijgen.
De software van de ontvanger hebben we zelf geschreven, op basis van de norm, en hij installeert met één opdracht. Direct na de installatie vertelt hij wat je hardware echt kan: welke Bluetooth-versie je hebt, of die het grote bereik aankan, op welke banden de Wi-Fi-adapter luistert. De meeste mensen weten dat niet van hun computer, en dat hoeft ook niet.
We dachten ook aan dingen die niets met drones te maken hebben. De interface waarmee de computer het internet op gaat, wordt door de ontvanger nooit omgeschakeld of anders afgestemd, zodat niemand zijn eigen verbinding afsnijdt. Draait er op dezelfde computer al een ander droneprogramma, dan vecht ons programma er niet mee om de radio, het luistert gewoon mee. En de eigen logs bevatten geen serienummer en geen dronepositie, alleen aantallen en tijden.

Of de ontvanger goed luistert, laat het dashboard zien. Ontvangergezondheid zegt in woorden of het station nu drones hoort, alleen luistert of stil is gevallen. Stilte op zich is geen storing, drones vliegen niet de hele tijd. Daarom vergelijkt het dashboard de stilte van vandaag met hoe lang de pauzes tussen vluchten in de loop van de week meestal duren, en pas als die ongewoon lang is, meldt het dat het station stil is gevallen. Een station dat offline is, wordt apart getoond, zodat je dat niet verwart met dat er gewoon niemand vloog.
Ernaast staat de week in cijfers: vluchten per dag, de uren waarop er gevlogen wordt, en hoeveel berichten er elke dag via welke radioroute binnenkwamen. Daar zie je of die Wi-Fi-adapter de moeite waard was.

Een dashboard dat alleen jij ziet
Wat een station opvangt, ziet op map.flights alleen de eigenaar. Geen andere gebruikers, geen bezoekers van de kaart. Over drones wordt niets openbaar: geen kaart, geen serienummer, geen positie. De eigenaar ziet alles, omdat zijn eigen ontvanger het heeft gedecodeerd, en alleen dat: als een ander station dezelfde drone hoort, komt diens opname nooit in het overzicht van de eigenaar terecht.
Bovenaan staat Op dit moment, een 3D-kaart van de drones die het station de afgelopen twee minuten heeft gehoord. Elke drone hangt op zijn hoogte aan dunne lijnen tot de grond, zodat je meteen ziet boven welke plek hij is en hoe hoog. De piloot tekenen we als een speld met een ring eromheen, en tussen piloot en drone loopt een lijn met de gemeten afstand. Drones die uren geleden te horen waren, blijven op de kaart staan als een stip op hun laatste positie, gekleurd naar hoe lang dat geleden is.
Daaronder staan de vluchten van de dag: hoeveel, hoeveel verschillende drones, de hoogste en de langste vlucht, en een tijdlijn waarop elke drone een eigen kleur heeft. De knop Hele dag afspelen speelt alle vluchten van de dag tegelijk af in één 3D-scène, tien, zestig of driehonderd keer sneller. De stilte tussen vluchten wordt overgeslagen, zodat een hele dag boven het station in een paar minuten voorbijgaat, en als er twee drones tegelijk vlogen, vliegt elk weg in een eigen kleur.

Aan het serienummer herkennen we de fabrikant. Het model raden we er niet uit: er bestaat geen openbare tabel met een duidelijke licentie die dat zou vertellen, dus naast een drone tonen we alleen wat hij zelf over zichzelf uitzond.
Een station kan ook van eigenaar wisselen. De nieuwe eigenaar ziet dan alleen wat het station opving vanaf het moment dat het van hem werd; de vluchten van de vorige eigenaar blijven verborgen. En niet elke opname is een echte vlucht. Eén die geen echte drone zou kunnen vliegen, met een hoogte die sneller verspringt dan welke multicopter ook kan klimmen, of die langer rondjes blijft draaien dan een accu meegaat, krijgt op het dashboard het label onwaarschijnlijk en telt niet mee voor de records van de dag. Er wordt niets gewist.
Eén vlucht, uitgeplozen
Klik op een vlucht en hij opent op een eigen pagina: het spoor in 3D met een gordijn tot de grond, een speler en de momenten van de vlucht. Opstijgen, het hoogste punt, het snelste stuk, de plek het verst van de piloot en het einde van de opname. Met de toetsen 1 tot 5 vliegt de camera er meteen naartoe. Een gepauzeerde vlucht onthoudt het tijdstip in het adres, dus een bewaarde link opent de volgende keer precies die seconde.
Onder de kaart staat een barogram, de hoogte boven het terrein gedurende de hele vlucht, met een stippellijn op 120 meter. Dat is de grens van de open categorie, waarin de meeste drones vliegen. Die lijn staat er alleen ter oriëntatie: in een andere categorie, of boven een hoog obstakel, mag een drone hoger, en dat kan het station niet uit de uitzending opmaken. Op ons dashboard beschuldigt die lijn dus niemand ergens van.

Een drone meldt meer dan één hoogte, en geen daarvan is de hoogte boven de grond onder hem. Die van de gps wordt gemeten vanaf een wiskundige vorm van de aarde, de barometrische verschuift met het weer, en de laatste rekent de drone vanaf de plek waar hij opsteeg. Boven een heuvel kan elk daarvan tientallen meters ernaast zitten. Daarom berekenen we de hoogte boven het terrein uit ons eigen hoogtemodel van het landschap, en tekenen we de gemelde hoogte ernaast als een dunne lijn. We mengen ze nooit.
Het spoor kan ook worden getoond als de stippen van afzonderlijke berichten, gekleurd naar hoogte boven het terrein of naar snelheid. Daaraan zie je waar berichten ontbraken, waar de drone op één plek bleef hangen en waar hij versnelde. En de camera kan de drone volgen, erachteraan vliegen, of door de ogen van de piloot kijken, omhoog vanaf de plek waar die stond naar de drone.

Een hele dag boven je station gaat in een paar minuten voorbij: de stilte tussen vluchten wordt overgeslagen, en drones die tegelijk vlogen, vliegen elk weg in een eigen kleur.
