MeshCore/RegioScopes
Regio-scopes voor repeaters
Met regio-scopes bepaal je welke flood-verkeer je MeshCore-repeater nog doorstuurt. Zo kan je bijvoorbeeld alleen verkeer voor Belgische codes doorlaten, of je provincie en buurprovincies — en minder nuttige richtingen afknijpen. Companions en apps kunnen berichten met zo'n scope meesturen; de repeater kijkt per pakket of flood voor die exacte regio-naam is toegestaan.
- Canonieke technische bron** (syntax, randgevallen, limieten): MeshCore `cli_commands.md` — Region management (v1.10+). Deze pagina vat het samen voor **#BEmesh**; wat hier niet uitgewerkt is, staat upstream.
Vereiste firmware
- Regio's (basis): gebruik een actuele repeater-build; in de praktijk regio-ondersteuning vanaf ongeveer firmware 1.10 — check je release notes.
region list allowed/region list denied: alleen via seriële console, firmware 1.12+.region-dump en oudere builds: op zeer oude firmware isregionsoms alleen bruikbaar via USB-serieel; check je release notes.
Snelste weg: Regiocodes-configurator
Indien je liever een configurator gebruikt zodat je CLI-commando's kunt kopiëren en plakken in je repeaterconsole:
- Codes visueel op de kaart zoeken: Kaart van regioncodes (#BEmesh; pagina in opbouw).
- Open de Regiocodes-configurator op de #BEmesh-kaart.
- Kies je provincie (of land) in de configurator.
- Stel onder Policy in welke gebieden Allow of Deny flood krijgen (of start met Defaults).
- Kopieer het blok Generated MeshCore CLI commands en plak het in de seriële console van je repeater (bijvoorbeeld via flasher.meshcore.io → Console), regel voor regel als dat makkelijker is. Na
region savevoegt de configurator ook aanbevolen repeater-regels toe:set dutycycle 10,set path.hash.mode 1(multi-byte advert-path) enset loop.detect minimal— zie Repeater Configureren.
De tool legt ook uit dat region load (met optioneel F per regel) iets anders is dan de gegenereerde region allowf / region denyf: je kan de boom met put/load opbouwen en flood per naam daarna met allowf/denyf zetten — precies zoals de configurator het uitstuurt.
Codes in het kort (België)
| Laag | Voorbeeld | Opmerking |
|---|---|---|
| Land | be |
ISO-land |
| Provincie | be-vbr, be-van, be-bru, … |
ISO 3166-2:BE, parent in de boom meestal be
|
Buurlanden en overkoepelend: o.a. nl, lu, bx (Benelux), eu — zie de lijstpagina en je gemeenschapsafspraken.
Twee losse dingen: boom versus flood
Je moet dit conceptueel scheiden:
- Regio bestaat? →
region put <naam> [ouder]of interactiefregion load(indentatie + optioneelFaan het einde van de regel voor flood tijdens load). - Mag flood voor díe naam? →
region allowf <naam>ofregion denyf <naam>.
De policy-tabel op de configurator genereert vooral allowf / denyf (niet de F-suffix van region load).
Wildcard `*`
region allowf *— flood-pakketten zonder regio-transportcode nog doorspelen (gangbare default tijdens groei van het netwerk).region denyf *— die on-getaggde flood-pakketten laten vallen.
Plat matchen (geen “erfenis” via ouder)
In de boom zie je ouder en kind (bijv. be → be-vbr), maar routing matcht plat: een pakket getagged be-vov valt niet automatisch onder allowf be-vbr.
Je moet expliciet allowf (of denyf) zetten voor elke naam die je wilt besturen.
De ouder bij region put bepaalt vooral: volgorde in region-output, region get, en verwijderen (region remove: eerst kinderen weg).
Standaard: flood eerst uit
Nieuwe regio’s starten met flood geweigerd voor die naam. Zet flood aan met region allowf <naam> (of een regel die eindigt op F tijdens interactief region load). Zonder allowf stuurt de repeater geen flood door voor die code, ook al staat de naam al in de boom.
Thuisregio
- `region home <naam>`** onthoudt welke regio jij als **thuis** beschouwt. In het overzicht (`region`) krijgt die naam een **`^`** ernaast — vooral een **merktekencode** om te zien wat je hebt ingesteld. **Flood doorsturen** blijft afhangen van **`allowf`/`denyf`** en de boom, niet van `home`. Andere `region`‑subcommando’s die upstream wél bestaan maar **wij hier niet uitleggen**, vind je in de officiële MeshCore‑referentie onderaan.
Checks en opslaan
region— boom + welke namen flood mogen (Fin de dump).region get <naam>— detail van één regio.region save— altijd uitvoeren na wijzigingen, anders verlies je ze bij reboot. Regio’s worden op flash bewaard (exact pad hangt van de build af; upstream noemt o.a./regions2).
Sommige builds raden een herstart aan na grotere regio-wijzigingen; volg je firmware-release.
Minimaal voorbeeld (België + twee provincies)
Zelfde idee als in de upstream Region management-documentatie:
region put be region put be-vbr be region put be-van be region allowf * region allowf be region allowf be-vbr region allowf be-van region home be-vbr region save
Pas de provinciecodes aan naar jouw situatie; zie Lijst van regio's (België). region home in dit voorbeeld zet vooral de ^‑markering in het overzicht — zie Thuisregio.
Voorbeeld: `F` in de `region`-dump
Zo kan de boom in de region-uitvoer eruitzien: de letter F na een regel betekent dat flood voor die naam is toegestaan (exacte opmaak kan per firmware verschillen):
* F be F be-vbr F be-vov
Praktijkvoorbeelden
Naast “alles wat #BEmesh nodig heeft” kan je regio-namen ook selectief of niet-geografisch gebruiken — de namen zijn vrije labels zolang afzenders en repeaters dezelfde afspraken hanteren.
Geografisch (België): flood enkel voor één provincie
Je zet meerdere provincies in de boom, maar laat flood enkel toe voor degene die deze repeater nuttig moet doorgeven. Verkeer getagged be-vov belast deze node dan niet (tenzij je ook allowf be-vov zet):
region put be region put be-vbr be region put be-vov be region allowf be-vbr region save
Voor #BEmesh: voeg provincies toe volgens Lijst van regio's (België); bredere codes zoals bx of eu alleen als je gemeenschap dat afspreekt.
Topic-namen (geen kaart, wel afspraak)
Voorbeeld: alleen bepaalde onderwerpen laten flood-en, niet algemene chat — de namen zijn zelf gekozen binnen je mesh:
region put emergencies region put chat region put weather region allowf emergencies region allowf weather region save
Hier gaat flood o.a. door voor emergencies en weather, niet voor chat. Gebruik namen die iedereen in jouw netwerk begrijpt en meeneemt in berichten.
Limieten (typisch)
- Max. ~32 regio's per apparaat (
MAX_REGION_ENTRIES). - Namen tot ~30 tekens.
- Transportcodes in cache: o.a. 16 entries (
MAX_TKS_ENTRIESin upstream — ziecli_commands.md). - Houd de boom beperkt; gebruik de configurator om niet onnodig veel
put's te doen.
Commando-overzicht
| Commando | Kort |
|---|---|
region |
Boom + flood-flags (oude firmware: vooral serieel). |
region put <naam> [ouder] |
Regio aanmaken; optionele ouder (default: wildcard-root). |
region remove <naam> |
Leaf weg; eerst kinderen verwijderen. |
region allowf <naam> |
Flood toestaan voor exacte naam (of * voor on-getagde flood).
|
region denyf <naam> |
Flood weigeren voor die naam (of *).
|
region home / region home <naam> |
Thuisregio (^ in boom); zie Thuisregio. Overige subcommando’s: upstream.
|
region get <naam> |
Details één regio. |
region list allowed / denied |
Lijsten (serieel, 1.12+). |
region save |
Wegschrijven naar flash. |
region load |
Interactieve multiline modus; lege regel beëindigt. Lege naam werkt niet betrouwbaar op afstand. |
Zie ook
- Repeater Configureren — algemene repeater-setup (antenne, netwerk, privésleutel, …).
- Lijst van regio's (België) — land, provincies en buurlanden (geen stadsniveau).
- Kaart van regioncodes — regioncodes op de kaart (#BEmesh).
- Regiocodes-configurator — policy, CLI-blok en na
region saveo.a.set dutycycle 10,set path.hash.mode 1,set loop.detect minimal; geenregion default. - MeshCore
cli_commands.md— Region management (v1.10+) — volledige officiële commandoreferentie (inclusief subcommando’s die wij hier niet uitwerken).