MeshCore regio's instellen

Regio's bepalen welke berichten jouw node doorstuurt. Door nodes aan regio's toe te wijzen beperk je het verkeer, zodat een repeater in Antwerpen alleen doorgeeft wat relevant is voor België in plaats van heel Europa mee te sleuren. Deze handleiding beschrijft hoe dat werkt en hoe je het correct instelt.

Vereist MeshCore firmware v1.10 of nieuwer; sommige commando's vereisen v1.12+. Het gedrag dat hier beschreven staat is geverifieerd tegen de broncode van firmware main (28 juli 2026), identiek aan repeater-v1.16.0. Gebaseerd op de Radio-Actief documentatie.

Belangrijke begrippen

Regionaam
Een code die een land, gewest of provincie aanduidt — bijvoorbeeld be, be-vlg, be-van. Geen #-voorvoegsel nodig.
Wildcard
De *-regio. Komt overeen met pakketten die helemaal geen regio-tag dragen.
Flood-vlag
De F achter een regionaam. Betekent: stuur pakketten uit deze regio door naar andere nodes.
Verzend-scope
Ingesteld met region default. De regio-tag die wordt toegevoegd aan pakketten die deze node zelf verstuurt, inclusief zijn adverts.
Thuisregio
Ingesteld met region home. Wordt bewaard, maar heeft op de huidige firmware geen enkel effect — zie de waarschuwing bij stap 3.
Geneste regio
Een kindregio binnen een bovenliggende regio, bijvoorbeeld be-van binnen be-vlg. Tot 8 niveaus diep.

Regio-coderingen

MeshCore gebruikt standaardcodes zodat het netwerk consistent blijft: ISO 3166-1 voor landen, ISO 3166-2:BE voor de Belgische gewesten en provincies.

CodeLand
beBelgië
nlNederland
luLuxemburg
bxBenelux
euEuropa
CodeGewest / provincie
be-vlgVlaanderen
be-bruBrussels Hoofdstedelijk Gewest
be-walWallonië
be-vbrVlaams-Brabant
be-vanAntwerpen
be-vovOost-Vlaanderen
be-vwvWest-Vlaanderen
be-wbrWaals-Brabant
be-whtHenegouwen
be-wlgLuik
be-wlxLuxemburg (provincie)
be-wnaNamen

Regio's aanmaken

Er zijn drie manieren om regio's aan te maken. Ze verschillen op één belangrijk punt: of de flood-vlag standaard aan of uit staat.

Met region def — één regel, werkt op afstand

De eenvoudigste methode. Elk woord maakt een regio aan als kind van het vorige woord, en alles wordt meteen flood-toegestaan aangemaakt. Vervang be-van door jouw provincie.

region def eu bx be be-vlg be-van
region save

Dit bouwt de tak * → eu → bx → be → be-vlg → be-van. Definieer alleen de regio's die je effectief wil doorsturen: een regio die niet in je tabel staat, wordt sowieso niet herkend en dus niet doorgestuurd. Een korte lijst is ook zuiniger, want de node berekent per binnenkomend pakket een controlecode voor elke regio die flooding toelaat.

Met region put — één regio per keer

region put eu
region put bx eu
region put be bx
region put be-vlg be
region put be-van be-vlg
region save

Het tweede argument is de bovenliggende regio; laat je het weg, dan komt de regio onder de wildcard. Net als region def maakt region put de regio aan met flooding al toegestaan — de node antwoordt OK - (flood allowed). Een aparte region allowf per regio is dus niet meer nodig.

Met region load — een hele boom in bulk

Hiermee plak je een volledige structuur in één keer. Inspringing bepaalt de hiërarchie. Sluit af met een lege regel.

Let op de inspringing. Een regio op het hoogste niveau moet één spatie inspringen, met een * op de regel erboven op kolom 0. Regels zónder inspringing worden stilzwijgend genegeerd — je krijgt geen foutmelding, er gebeurt gewoon niets. Vuistregel: region load verwacht exact het formaat dat het region-commando uitprint. Dump je huidige boom met region, pas die aan en plak ze terug.
region load
*
 be F
  be-vlg F
   be-van F
   be-vov F
   be-vwv F
   be-vbr F
  be-bru F
  be-wal F
   be-wht F
   be-wlg F
   be-wlx F
   be-wna F
   be-wbr F

region save

Anders dan bij put en def maakt region load een regio flood-geweigerd aan tenzij de regel op F eindigt. Zet dus F achter elke regel die je wil doorsturen, en laat hem weg bij de regio's die je enkel in de structuur wil hebben staan.

Kindregio's erven niets. Elke regio wordt beoordeeld op haar eigen vlag; de node kijkt nooit naar die van de bovenliggende regio. En als een regio al bestaat op de node, behoudt region load haar huidige vlaggen en negeert het de F in je blok. Een bestaande regio zet je aan met region allowf.

De wildcard *

De wildcard bepaalt wat er gebeurt met pakketten die géén regio-tag dragen — het klassieke verkeer van nodes die nog geen regio's ingesteld hebben.

CommandoEffect
region allowf *Stuur pakketten zonder tag door
region denyf *Blokkeer alle pakketten zonder tag
De wildcard kan je enkel met allowf of denyf wijzigen, nooit vanuit een region load-blok. Een regel * F in zo'n blok doet niets: * is geen geldig karakter voor een regionaam, dus die regel wordt overgeslagen. De * bovenaan een load-blok dient enkel om het hoogste niveau te bezetten zodat de regio's eronder de wildcard als parent krijgen.
Houd de wildcard voorlopig flood-toegestaan zolang het Belgische netwerk nog in opbouw is, zodat nodes zonder regio-configuratie je nog bereiken. Wil je die stroom beperken zonder hem helemaal dicht te zetten, gebruik dan set flood.max.unscoped 3: ongetagd verkeer leeft dan nog drie hops, wat lokaal volstaat maar floods van ver weg tegenhoudt.

Stap voor stap: een Belgische repeater

  1. Maak de regio-tak aan

    Vervang be-van door jouw provincie.

    region def eu bx be be-vlg be-van
  2. Controleer de flood-vlaggen

    Met region def staan ze al goed. Kwam je via region load, zet dan expliciet aan wat je wil doorsturen:

    region allowf *
    region allowf eu
    region allowf bx
    region allowf be
    region allowf be-vlg
    region allowf be-van
  3. Stel je verzend-scope in
    Doe dit met region default, niet met region home. Oudere handleidingen vermelden hier region home be-van, maar dat commando doet niets: de firmware bewaart de waarde en toont ze met een ^ in de region-uitvoer, maar leest ze nooit voor routing of verzending.
    region default be-van

    Dit voorziet elk flood-pakket dat je node zelf verstuurt — inclusief zijn periodieke advert — van de code van die regio. Enkel nodes die die regio kennen én toelaten, sturen het door. Dat is precies de bedoeling: je verkeer blijft binnen het gebied waar het relevant is.

    ScopeEffect
    niet ingesteldOngetagd. Verspreidt zich zo breed als de wildcard van elke doorsturende node toelaat. Vermijden.
    beMinimum. Je verkeer blijft binnen België.
    be-vanAanbevolen. Jouw provincie — houdt lokaal verkeer lokaal.

    Zet dit op minstens be, en bij voorkeur op je provincie. Hoe smaller je scope, hoe minder hops je verkeer opsoupeert op andermans repeaters. Je lokale adverts naar directe buren worden nooit gescoped, dus die zien je hoe dan ook.

  4. Controleer en sla op

    Voer region uit. Regio's met flooding tonen een F, en * F hoort zichtbaar te zijn. Klopt alles, sla dan op — wijzigingen overleven een herstart anders niet.

    region save

Alle regio-commando's

CommandoWat het doet
regionToon alle gedefinieerde regio's en hun floodinstellingen
region loadStart een bulk-definitie (plak je structuur, daarna region save)
region saveSla alle regiowijzigingen permanent op
region put <naam> [parent]Voeg één regio toe, optioneel onder een bovenliggende regio
region def <tokens>Definieer een hele tak in één regel (werkt ook op afstand)
region remove <naam>Verwijder een regio (verwijder eerst alle kindregio's)
region allowf <naam>Sta het doorsturen van pakketten uit deze regio toe
region denyf <naam>Blokkeer het doorsturen van pakketten uit deze regio
region get <naam>Toon details over één specifieke regio
region list allowedToon alle toegestane regio's (v1.12+)
region list deniedToon alle geblokkeerde regio's (v1.12+)
region defaultBekijk de huidige verzend-scope
region default <naam>Stel de regio-tag in voor pakketten die deze node zelf verstuurt
region default <null>Wis de verzend-scope (ongescoped verzenden)
region home [<naam>]Thuisregio — heeft geen enkel effect op de huidige firmware

Onthoud dit

  1. Voer altijd region save uit na wijzigingen. Enige uitzondering: region default slaat zichzelf meteen op.
  2. Inspringing is hiërarchie in een region load-blok: spaties, geen tabs, hoogste niveau op één spatie onder een *, maximaal 8 niveaus.
  3. Kindregio's erven de flood-vlag niet. Hoe een regio start hangt af van hoe je ze aanmaakt: put en def maken ze toegestaan aan, load geweigerd tenzij er F staat.
  4. Om een geneste regio te verwijderen moet je eerst al haar kindregio's verwijderen.
  5. region default bepaalt wat je verstuurt, allowf en denyf bepalen wat je doorstuurt. region home doet niets.
  6. Het bulk-commando region load werkt niet op afstand bij firmware ouder dan v1.12 — gebruik dan een seriële of USB-verbinding. region def werkt wél op afstand.

Meer lezen