Mesh-Hunter
← Blog

Van radiosignaal naar kaart: node-hunting met Mesh-Hunter

13 juli 2026 · Read in English

Elke MeshCore-antenne staat ergens. Op een dak, in een boom, aan een lantaarnpaal, op een schuurzolder… Mesh-Hunter helpt je uitzoeken waar dat precies is.

Voor welk probleem

Elke MeshCore-gebruiker kent het rijtje in zijn contactenlijst. Een paar vertrouwde repeaters, wat companions van bekenden, en daartussen een paar raadsels. Die ene node die elke nacht adverts stuurt maar waarvan niemand weet waar hij hangt. De repeater die je wél hoort maar die nergens op een kaart staat. Of, vervelender: een node die een publiek kanaal volspamt en waarvan je wél wilt weten waar die precies zit.

Daar is Mesh-Hunter voor. Een MeshCore-mesh is bewust decentraal: nodes maken zichzelf optioneel kenbaar met een advert, berichten vinden vanzelf hun weg via verschillende repeaters, en niemand hoeft ergens te registreren waar een apparaat staat. Prima voor het netwerk, lastig als je een specifieke zender wil vinden. Het protocol vertelt je dat een node bestaat en hoe je hem kunt bereiken, maar niet waar hij is.

Tot nu toe was dit alleen via "path-walking" naar ongeveer een regio terug te herleiden. In het onderzoek naar zo'n kanaal-spammer werd de globale locatie afgeleid uit de paden van gerelayde pakketten: welke repeaters hebben dit doorgestuurd, en wat zegt dat over de bron? Je zit thuis paden te analyseren terwijl je eigenlijk in de auto wil zitten, richting het signaal.

Mesh-Hunter draait dat om: geen reconstructie achteraf, maar live meten terwijl je rijdt.

Waarom dit handig is

Het voor de hand liggende scenario is de probleem-node: een zender die zich misdraagt en die je alleen het zwijgen kunt opleggen als je weet waar hij staat.

Maar het is ook gewoon leuk om op speurtocht of foxhunt te gaan: je wil weten of die onbekende repeater op een watertoren staat of bij iemand op zolder, want dat bepaalt waar jouw volgende repeater het beste kan hangen. Je bent benieuwd wie er achter die node met die rare naam zit en wil eens gedag zeggen. Direction-finding is zo oud als de amateurradio zelf; vossenjacht, maar dan met een mesh-netwerk als speelveld.

Alles wat je onderweg hoort, kan (als je dat wil) naar een gedeelde coverage-map. Meerdere hunters samen bouwen zo een beeld op van waar welke nodes te horen zijn en hoe sterk. Ook als niemand actief aan het jagen is, is dat beeld waardevol: het laat zien waar de mesh dekking heeft en waar de gaten zitten.

Hoe het werkt

Bij het jagen telt maar één soort ontvangst: wat je rechtstreeks hoort, dus zero-hop. Alleen dan zegt de signaalsterkte (RSSI, en de signaal-ruisverhouding SNR) iets over de afstand tot de zender zelf. Mesh-Hunter legt elke directe ontvangst vast met signaalsterkte en de GPS-positie van je telefoon op dat moment, en die meting verschijnt als punt op een warmtekaart.

De kaart toont dus niet waar het doel is, maar waar jij was toen je het hoorde en hoe sterk het binnenkwam. De positie van het doel is een afleiding uit radiometingen, geen GPS-tracking van andermans apparaat. Je meet wat een zender zelf de ether in stuurt, meer niet.

In de praktijk

Mesh-Hunter draait als webapp in de browser en installeert als PWA op je beginscherm. Je hebt een MeshCore-node met companion-firmware nodig die via Bluetooth aan je telefoon hangt, en verder niets bijzonders: Chrome op Android werkt, op iOS is Bluefy de gangbare route omdat Safari geen Web Bluetooth spreekt.

Openen, koppelen, rijden. Elke directe ontvangst verschijnt live op de kaart, met een teller en signaalmeter in beeld zodat je ook zonder naar de kaart te staren hoort of je warm of koud wordt. Wil je op één specifieke node jagen, dan selecteer je die als doelwit en filtert de weergave op precies die zender. Voor onderweg is er een kompasmodus die de kaart meedraait met je rijrichting.

Zwijgzame repeaters kun je wakker maken. Een Discover-verzoek vraagt nodes in de directe omgeving zich even te melden, en wie wil kan dat automatisch laten herhalen tijdens het rijden. Daar hoort een kanttekening bij: zendtijd is een gedeeld goed. LoRa-frequenties hebben een beperkte duty cycle en alles wat jij de ether in stuurt, kan een ander niet gebruiken. Mesh-Hunter houdt de frequentie daarom bewust laag en verstuurt alleen iets als jij daarom vraagt. Luisteren is gratis, zenden is dat nooit helemaal.

Een account is optioneel, maar koppel je bij "settings" aan je companion. Met een account heb je toegang tot map.mesh-hunter.eu, waar de metingen van meerdere hunters samenkomen.

Een jacht van begin tot eind

Neem het scenario waarmee dit project begon: een node die avond na avond een publiek kanaal volspamt.

De eerste stap gebeurt nog thuis. Uit de gerelayde pakketten en hun paden komt een globaal vermoeden: ergens in die regio, waarschijnlijk binnen een cirkel van een paar kilometer. Preciezer wordt het niet vanachter een bureau, maar dat hoeft ook niet.

Dan de auto in, companion aan het dashboard, Mesh-Hunter open met de spammer als doelwit. De eerste kilometers blijft de kaart leeg: alles wat binnenkomt is gerelayed en telt dus niet. We zijn op zoek naar zero-hop verkeer, en niet naar de dichtstbijzijnde repeater. Tot er, ergens langs een provinciale weg, een eerste directe ontvangst binnenkomt. Zwak, diep in het blauw, maar direct: de zender is vanaf hier te horen.

Vanaf dat punt is het een kwestie van rondjes rijden en de kaart laten volstromen. Elke straat voegt punten toe en langzaam tekent zich een patroon af: naar het noorden wordt het warmer, ten westen van het kanaal koelt het af. De warmtekaart wijst niet als een pijl naar één huis; het is een gradiënt, en jij bent de naald die hem volgt. Na een half uur is het zoekgebied geen cirkel van kilometers meer, maar een buurt van een paar straten waar elke ontvangst fel oranje binnenkomt.

Daar houdt de techniek op en begint het inschattingsvermogen. De laatste stap is vaak verrassend analoog: een antenne op een dak herkennen, weten dat die ene straat hoog ligt, of gewoon aanbellen. Voor de spamsituatie uit dit verhaal betekent het dat een boot-loop van een gekoppelde Home Assistant-integratie kan worden opgelost, en dus een oplossing voor de mesh.

Extra context en links

Nieuw met MeshCore, of zin om dieper te graven? De Nederlandstalige community heeft uitstekend instapmateriaal:

Zelf aan de slag? Open de RX-webapp en de gedeelde kaart.

← Terug naar de blog