Technische Documentatie

MeshCore berichtformaten en payloads

Praktische uitleg van hoe MeshCore berichten zijn ontworpen voor betrouwbare tekstcommunicatie over LoRa, zonder onjuiste aannames uit andere protocollen.

Hoe MeshCore berichten zijn opgebouwd

MeshCore is ontworpen voor lichtgewicht tekstcommunicatie over LoRa met minimale overhead. Berichten moeten compact zijn, omdat airtime op LoRa schaars is en direct invloed heeft op bereik, latency en betrouwbaarheid.

Deze pagina beschrijft alleen veilig gedocumenteerde MeshCore-principes: clients repeatten niet, forwarding gebeurt via repeaters, flood kan worden gebruikt voor eerste route-discovery en vervolgverkeer kan gerichter via geleerd repeaterpad lopen.

Belangrijk: vermijd het kopieren van berichtschema's of veldnamen uit andere meshprojecten. Houd de uitleg op protocolniveau en bij gedrag dat in MeshCore-documentatie wordt ondersteund.

Schema en interne berichtstructuur

MeshCore gebruikt compacte interne berichtrepresentaties voor LoRa-verkeer. Publieke documentatie geeft geen officieel, stabiel extern schema dat je als vaste API moet behandelen.

MeshCore bericht (conceptueel):
- afzender/doel context
- compacte payload
- forwarding context via repeatergedrag
- integriteits- en afleveringsinformatie

Gebruik in documentatie bij voorkeur conceptuele beschrijving in plaats van een niet-officieel veldschema. Zo voorkom je foutieve implementaties en verwarring met andere protocollen.

Welke berichtvormen zijn relevant in MeshCore

💬

Direct bericht (node-naar-node)

Privé of gericht bericht naar een specifieke node. Geschikt voor 1-op-1 communicatie.

👥

Room-bericht

Bericht naar een room (chatkanaal) zodat meerdere deelnemers dezelfde boodschap ontvangen.

🔁

Discovery-forwarding

Als er nog geen pad bekend is, kan routing starten met flood via repeaters om bereikbaarheid te vinden.

🧭

Padleren na aflevering

Na succesvolle aflevering kan padinformatie worden geleerd, zodat vervolgverkeer gerichter wordt doorgestuurd.

📡

Repeater-gedrag

Forwarding gebeurt op repeaterniveau; clients functioneren niet als algemene repeaterlaag.

🔐

Versleutelde inhoud

MeshCore ondersteunt versleuteling van berichten. Beschrijf het model op hoofdlijnen zonder ongeverifieerde veld- of keydetails.

Payload en transportcontext

Header- en transportcontext

In MeshCore draait dit deel om:

  • Compacte payloads: berichten zijn klein gehouden voor LoRa-airtime.
  • Forwardingcontext: repeaters bepalen doorstuurgedrag, clients repeatten niet.
  • Hops/flood: protocol kent interne bovengrens (64), praktische propagatie wordt op repeaterniveau afgestemd (bijv. flood.max).
  • Geen vaste publiek schema-claim: publiceer geen niet-officiële veldindeling als harde specificatie.

Payloadgrootte in de praktijk

Er is geen universele vaste packetgrootte die altijd geldt voor MeshCore. Effectieve payload hangt af van LoRa-instellingen (zoals spreading factor, bandwidth, coding rate), regio-instellingen en firmwaregedrag.

Technische richtlijnen

Onderdeel Richtlijn Toelichting
Primaire use case Compacte tekstcommunicatie Ontworpen voor betrouwbare berichtenuitwisseling op lage datarates.
Forwardingmodel Repeater-gebaseerd Clients repeatten niet; forwarding zit op repeaters/room servers met repeat aan.
Routevorming Flood discovery + padleren Eerste bereikbaarheid via flood mogelijk, daarna gerichtere forwarding via geleerd pad.
Rooms Ondersteund Naast directe node-berichten ondersteunt MeshCore room-communicatie.
Hopcontext Interne bovengrens 64 Praktisch gedrag wordt door repeaterinstellingen begrensd (bijv. flood.max).
Versleuteling Ondersteund Beschrijf op hoofdlijnen; vermijd ongeverifieerde claims over exact key/channel model.

Waarom deze benadering correct is

Protocolzuiver

Je vermijdt het mengen van MeshCore met details uit andere meshprotocollen.

📉

Minder misleiding

Geen harde claims over velden of limieten die niet officieel voor MeshCore zijn vastgelegd.

🧩

Beter onderhoudbaar

Conceptuele uitleg blijft bruikbaar bij firmware-evolutie zonder steeds schema's te herschrijven.

📡

LoRa-realistisch

Benadrukt dat effectieve payload/gedrag afhangt van radio-instellingen en netwerktopologie.

🔐

Veilige security-copy

Versleuteling wordt correct genoemd zonder ongefundeerde implementatiedetails.

🚀

Betere ontwikkelaarsverwachting

Lezers krijgen de juiste functionele mental model: rooms, repeaters, discovery en padgericht vervolgverkeer.

Veelgestelde vragen

Gebruikt MeshCore dezelfde message schema's als andere bekende LoRa-meshprojecten?

Nee. Neem geen externe schema's één-op-één over. Beschrijf MeshCore op basis van officieel gedocumenteerd gedrag.

Repeatten alle nodes berichten?

Nee. Clients repeatten niet. Forwarding gebeurt via repeaters (en room servers met repeat ingeschakeld).

Hoe werkt route-opbouw?

Wanneer geen route bekend is, kan flood discovery worden gebruikt. Na succesvolle aflevering kan padinformatie worden geleerd voor gerichtere vervolgberichten.

Ondersteunt MeshCore rooms en directe berichten?

Ja. MeshCore ondersteunt zowel room-communicatie als directe node-naar-node berichten.

Wat is de maximale packetgrootte?

Daar kun je geen vaste universele waarde voor geven. Effectieve grootte hangt af van LoRa-instellingen, regio en firmwaregedrag.

Worden berichten versleuteld?

MeshCore ondersteunt versleuteling. Houd documentatie op hoofdlijnen en vermijd ongeverifieerde details over exacte key/channel implementatie.

Werk met correcte MeshCore-documentatie

Gebruik protocolzuivere uitleg: compacte berichten, forwarding via repeaters, discovery + padleren en realistische LoRa-beperkingen.