Companion
Projecten • Experiment
LoRa & MeshCore
Mijn setup en ervaringen
Ik ben begonnen met MeshCore omdat ik nieuwsgierig was naar communicatie via LoRa zonder afhankelijk te zijn van mobiel internet. Op deze pagina houd ik bij welke hardware ik gebruik, wat ik ermee test en welke resultaten ik in de praktijk haal.
Terug naar projectenWat is LoRa & MeshCore?
Draadloos ontdekken, stap voor stap.
LoRa maakt draadloze communicatie over grotere afstanden mogelijk. Met MeshCore experimenteer ik om apparaten via zo’n netwerk met elkaar te laten communiceren.
Hardware
Mijn huidige setup
Vier apparaten met elk een eigen rol in mijn MeshCore-experiment.
Repeater 01
NL-LWR-Viwosi-RPT01
Oorspronkelijke repeater op het balkonRepeater 02
NL-LWR-Viwosi-RPT02
Nieuwe repeater aan de andere kantObserver 01
NL-LWR-Viwosi-OBS01
Ontvangt verkeer voor de HubDe onderdelen die ik gebruik om deze opstelling te bouwen en te testen.

Heltec WiFi LoRa 32 V4
- ESP32-S3
- SX1262
- 868 MHz
- 0.96 inch OLED-display

Externe 868 MHz LoRa-antenne
- 3 dBi
- 50 Ohm

Xtorm Go2 Powerbank
- 10.000 mAh
- 15 W
- Wordt gebruikt als mobiele voeding
- Pass-through is voor mijn toepassing belangrijk
Vier apparaten
Mijn MeshCore-opstelling
Buiten · Balkon
Repeater 01
NL-LWR-Viwosi-RPT01
Mijn oorspronkelijke vaste MeshCore-repeater hangt buiten aan het balkon. Hiervoor gebruik ik een Heltec V4 met de externe 868 MHz 3 dBi-antenne.
De repeater wordt gevoed via een Xtorm Go2-powerbank met pass-through. De powerbank blijft aangesloten op de voeding en fungeert daardoor ook als stroombuffer. Als de netspanning uitvalt, kan de repeater blijven draaien op de powerbank zolang daar voldoende lading in zit.
Thuis · Andere kant
Repeater 02
NL-LWR-Viwosi-RPT02
Mijn tweede repeater staat aan de andere kant van mijn appartement. Daarmee wil ik onderzoeken of de dekking aan de tegenoverliggende kant van het gebouw beter kan worden.
De plaatsing is nog een experiment. De komende bereiktests moeten laten zien wat deze extra repeater in de praktijk toevoegt.
Thuis & onderweg
Mijn Companion
NL-LWR-Viwosi
Voor normaal gebruik heb ik een tweede Heltec V4. Deze is niet als repeater ingesteld, maar gebruik ik als mijn persoonlijke MeshCore Companion.
Ik gebruik deze Heltec zowel thuis als onderweg. Ook deze kan ik via een powerbank voeden, zodat ik hem mobiel kan gebruiken zonder afhankelijk te zijn van een stopcontact.
Thuis · Wi-Fi
Observer 01
NL-LWR-Viwosi-OBS01
Deze aparte Heltec V4 luistert als Wi-Fi observer naar LoRa-verkeer. De ontvangen pakketten gaan via versleutelde WebSockets naar mijn publieke MeshCore Hub.
In de praktijk
Mijn ervaringen
De interessantste kant van dit experiment is voor mij niet alleen de techniek zelf, maar vooral wat er in de praktijk mogelijk blijkt. Daarom wil ik hier mijn bereiktests, veranderingen aan de setup en andere bevindingen bijhouden.
-
Eerste tests
Mijn eerste bereiktests
Mijn eerste ervaringen met het bereik waren eerlijk gezegd niet zo indrukwekkend. Ik ben toen lopend in de omgeving gaan testen hoe ver ik van mijn repeater kon komen. Het bereik viel eerder weg dan ik had verwacht en mijn eerste gedachte was eigenlijk: als dit het is, dan weet ik niet of MeshCore iets voor mij is.
Later veranderde dat beeld. Na veranderingen en updates ben ik opnieuw gaan testen en bleek er in de praktijk duidelijk meer mogelijk. Dat maakte het juist interessant om verder te experimenteren en het bereik onder verschillende omstandigheden opnieuw te proberen.
Met RPT02 is er nu een volgende stap bijgekomen. Door deze repeater aan de andere kant van mijn appartement te plaatsen, wil ik in toekomstige tests onderzoeken wat dat doet voor de dekking aan de tegenoverliggende kant van het gebouw.
Van experiment naar infrastructuur
Het project groeide mee.
Wat begon met twee LoRa-boardjes en de vraag hoe ver ik ermee kon komen, groeide langzaam uit tot iets veel groters. Ik wilde niet alleen berichten versturen, maar ook kunnen zien wat er daadwerkelijk door het netwerk ging. Daarmee kwam er een observer bij, daarna MQTT, een eigen MeshCore Hub en uiteindelijk een publieke server.
- MeshCore-netwerk
- Heltec V4 observer
- WSS
- Viwosi Labs MeshCore Hub
- Verwerking & opslag
- Dashboard
Observer
Van repeater naar observer.
Voor de observer gebruik ik een aparte Heltec V4. NL-LWR-Viwosi-OBS01 is een Wi-Fi observer die LoRa-verkeer ontvangt. Aanvankelijk stuurde deze de ontvangen informatie via MQTT naar mijn Hub thuis. Inmiddels gaat het ontvangen MeshCore-verkeer via versleutelde WebSockets (WSS) naar de publiek bereikbare Hub; die verbinding werkt via poort 443.
NL-LWR-Viwosi-OBS01
MeshCore Hub
Mijn eigen Hub.
De Hub draaide aanvankelijk thuis op mijn Unraid-server. Daar kon ik nodes, advertisements, berichten en packet paths terugzien, naast radio-informatie zoals RSSI en SNR in een webinterface. Die informatie helpt nu ook om ontvangen pakketten en routes van RPT01 en RPT02 verder te onderzoeken.
Daarna verhuisde de Hub naar publieke VPS-infrastructuur op Debian 13. Docker, PostgreSQL, Redis, MQTT, Nginx en HTTPS/WSS vormen daar samen de technische basis, zonder dat dat het persoonlijke experiment minder maakte.
De publiek bereikbare Hub is te vinden via hub.meshcorenetwerk.nl. De observer stuurt zijn ontvangen MeshCore-verkeer via versleutelde WebSockets (WSS) op poort 443 naar de publieke infrastructuur achter deze Hub. De publieke webinterface zelf gebruikt HTTPS.
Onder de motorkap
Soms moet je het zelf oplossen.
Tijdens het experimenteren bleek dat Offband-pakketten van de Heltec V4 niet altijd de packet-hash bevatten die MeshCore Hub verwacht. Daarom ben ik in de software gedoken en heb ik de Hub aangepast, zodat die voor zulke pakketten zelf een bruikbare hash kan afleiden.
Daarna ben ik verder gegaan met de verwerking en weergave van packet paths, zodat beter zichtbaar wordt via welke hops een pakket door het netwerk is gegaan. Waar de informatie betrouwbaar genoeg is, kan de interface daarbij node-namen tonen naast cryptische identifiers. Dat maakt het volgen van een bericht een stuk begrijpelijker, ook wanneer ik wil uitzoeken welke repeater een pakket heeft ontvangen of doorgegeven.