Performance optimization

MeshCore performance tuning

Optimaliseer bereik, snelheid, betrouwbaarheid en batterijduur van je mesh-netwerk

Waarom performance tuning belangrijk is

De standaard configuratie van MeshCore werkt goed in de meeste situaties, maar door slim te tunen kun je veel meer uit je netwerk halen. Denk aan langer bereik, stabielere verbindingen, langere batterijduur en snellere message delivery.

Performance tuning draait om trade-offs maken tussen verschillende factoren: bereik vs. snelheid, betrouwbaarheid vs. batterijduur, bandbreedte vs. aantal nodes. Er is geen "perfecte" configuratie - het hangt af van je use case.

Deze guide laat zien hoe je MeshCore kunt optimaliseren voor verschillende scenario's. Van maximaal bereik in rurale gebieden tot snelle message delivery in stedelijke netwerken.

Performance dimensies

📡

Bereik (range)

Hoe ver kunnen berichten reiken tussen nodes

âš¡

Snelheid (speed)

Hoe snel worden berichten verstuurd en ontvangen

🔋

Batterijduur

Hoe lang kan node draaien op batterij

✅

Betrouwbaarheid

Percentage berichten dat aankomt zonder fouten

📊

Throughput

Hoeveel data kan het netwerk verwerken

👥

Schaal (scalability)

Hoeveel nodes kunnen tegelijk communiceren

Performance optimization tips

1. Spreading Factor aanpassen voor bereik

Higher spreading factor (SF10-SF12) geeft langer bereik maar lagere snelheid. Lower SF (SF7-SF9) is sneller maar korter bereik.

Impact: SF12 heeft 4x langere range dan SF7, maar is 16x langzamer. Voor emergency netwerk: kies SF10+. Voor urban chat: SF7-8 is beter.

2. Transmit power optimaliseren

Te hoge power veroorzaakt interference en battery drain. Te laag vermindert bereik. Sweet spot is meestal 15-20 dBm.

Impact: 10 dBm → 20 dBm verdubbelt bereik maar verdrievoudigt power usage. Start met 15 dBm en verhoog alleen als nodig.

3. Bandwidth balanceren

Smaller bandwidth (125 kHz) = langer bereik en betere penetratie. Wider bandwidth (250-500 kHz) = hogere data rate.

Impact: Voor meeste use cases is 125 kHz optimal. Gebruik 250 kHz alleen als je veel data verstuurt en bereik niet kritisch is.

4. Hop limit instellen

Max aantal hops dat bericht mag maken. Te hoog = netwerk overload. Te laag = berichten komen niet aan in grote netwerken.

Impact: 3 hops is default en werkt voor meeste netwerken. Verhoog naar 5-7 alleen in zeer grote netwerken met veel repeaters.

5. Broadcast interval optimaliseren

Hoe vaak nodes position/telemetry updates sturen. Frequenter = actueler maar meer battery en airtime gebruik.

Impact: 15 min voor battery nodes, 5 min voor repeaters op solar/mains power. Voor trackers: 1-5 min tijdens activiteit.

6. Channel congestion vermijden

Monitor air utilization percentage. Boven 10% krijg je packet collisions en message loss. Reduce broadcast rates of gebruik meerdere channels.

Impact: Bij >15% air util: verhoog broadcast intervals, disable niet-essentiële telemetry, of split netwerk over channels.

Configuratie voorbeelden

Pre-tuned configs voor veelvoorkomende scenario's

Maximum range config (rural/emergency)

Optimized voor longest possible range, snelheid is secondary:

spreading_factor: SF12
bandwidth: 125 kHz
tx_power: 20 dBm
broadcast_interval: 30 min
hop_limit: 5

Balanced config (urban mesh)

Good balance tussen bereik, snelheid en battery life:

spreading_factor: SF10
bandwidth: 125 kHz
tx_power: 15 dBm
broadcast_interval: 15 min
hop_limit: 3

Fast messaging config (events/festivals)

Optimized voor snelle message delivery, nodes dichtbij elkaar:

spreading_factor: SF7
bandwidth: 250 kHz
tx_power: 10 dBm
broadcast_interval: 5 min
hop_limit: 2

Best practices voor optimization

  • ✓

    Meet voor je tuned: Check air util, SNR en packet loss VOORDAT je wijzigingen maakt

  • ✓

    Eén parameter per keer: Wijzig niet alles tegelijk - je weet dan niet wat effect heeft

  • ✓

    Test in real conditions: Lab performance ≠ field performance met obstakels en interference

  • ✓

    Monitor na wijzigingen: Kijk of je optimization daadwerkelijk verbetert wat je wilde

  • ✓

    Documenteer je settings: Houd bij welke config je gebruikt en waarom

  • ✓

    Start conservatief: Begin met balanced config en optimize alleen als nodig

Veelgestelde vragen

Wat is belangrijker: bereik of snelheid?

Depends on use case. Voor emergency/crisis is bereik belangrijker - berichten hoeven niet instant aan te komen. Voor events/festivals is snelheid belangrijker omdat everyone dichtbij is. Voor daily mesh chat is balance beste.

Hoe meet ik of mijn optimization werkt?

Track deze metrics: SNR (hoger is beter), packet loss % (lager is beter), air utilization (onder 10%), battery life (measure actual runtime), message latency (tijd van send tot receive).

Kan ik verschillende configs op verschillende nodes gebruiken?

Ja, maar spreading factor en bandwidth moeten matchen voor nodes om te kunnen communiceren. TX power, broadcast interval en hop limit mogen verschillen per node. Repeaters kunnen vaak hogere power en frequentere broadcasts hebben.

Wat zijn de grenzen van LoRa physics?

Absolute max range is ~50km line-of-sight op zee level. In practice: ~10km open field, ~1-3km urban. Max data rate is ~5.5 kbps bij SF7/250kHz. Deze grenzen kun je niet omzeilen - LoRa is designed voor long range low bandwidth.

Hoe optimaliseer ik voor maximale batterijduur?

Lower TX power (10 dBm), increase broadcast interval (30-60 min), disable Bluetooth when not needed, use sleep mode aggressive. Met deze settings haal je 2-4 weken op 18650 battery vs. 3-5 dagen met default config.

Optimaliseer je MeshCore netwerk

Met deze performance tuning tips haal je maximale bereik, snelheid en reliability uit je mesh

Start met een balanced config en fine-tune op basis van je metrics