Skip to main content

Extended Tutorial: Meshtastic

Wat leer je in deze tutorial?​

In deze tutorial leg ik stap voor stap uit wat Meshtastic is en hoe je telemetrygegevens van een node verstuurt naar een bestaande MQTT-broker.

We voeren alle configuratie uit via de Meshtastic CLI (Command Line Interface).

Na deze tutorial zal je:

  • Meshtastic firmware kunnen flashen
  • Een sensor aansluiten op een LoRa-node
  • Telemetry inschakelen
  • Channels configureren
  • Telemetry doorsturen naar een MQTT-broker

Benodigdheden

Voor deze tutorial heb je het volgende nodig:

  • 2 LoRa-modules
    (In deze tutorial gebruik ik de Heltec Wireless Stick Lite V3 met SX1262-chip.)

  • Jumper wires (male-to-female)

  • Een ondersteunde sensor (in deze tutorial gebruiken we de BME680)

  • USB Type-C kabels

  • Een bestaande MQTT-broker

Je kan een lijst met ondersteunde sensoren vinden via:

https://meshtastic.org/docs/configuration/module/telemetry/


Voorbereiding

Om het proces vlot te laten verlopen, raad ik aan om eerst beide LoRa-modules te flashen met de juiste Meshtastic firmware.

Ga naar:

https://flasher.meshtastic.org/

Meshtastic Flasher

Volg de instructies op de website om de firmware correct te installeren.


Flash-procedure

1. Selecteer je model​

Kies het correcte model van jouw LoRa-module.

Voor deze tutorial:

Heltec Wireless Stick Lite V3

2. Selecteer de firmwareversie​

Gebruik bij voorkeur de stable versie, tenzij je bewust een alpha-versie wilt testen. Neem de bovenste versie want deze is de meest recente.


3. Voer een volledige erase uit​

sluit je LoRa module aan en
Selecteer:

Full Erase & Flash

Dit verwijdert oude configuraties en voorkomt conflicten.

Koppel het toestel niet los tijdens het flashproces.

Na een succesvolle flash zal de LoRa-module automatisch herstarten.

Je zal een knipperende witte LED (heartbeat) zien.


Ik zou ook maken dat je de juiste versie hebt van de package Meshtastic. Deze tutorial is gemaakt in de versie meshtastic 2.7.7

Probleemoplossing: toestel wordt niet herkend

Wanneer je apparaat niet zichtbaar is in de flasher, controleer dan Apparaatbeheer op je computer.

Device manager

Wanneer je een foutmelding ziet betekent dit meestal dat de USB driver ontbreekt.

Zoek welke driver nodig is voor je board en installeer deze.

Veel gebruikte drivers:

  • CP210x USB driver
  • CH340 USB driver

Optioneel: Meshtastic-app

Voor extra gemak kan je de Meshtastic app installeren op:

  • iOS
  • Android

Met deze app kan je:

  • Node instellingen bekijken
  • Telemetry controleren
  • Berichten versturen
  • De status van nodes bekijken

Hardware-opstelling

Hieronder zie je de aansluiting van de sensor op de LoRa-module.

Controleer altijd het pinout-schema van je sensor.

In mijn geval is de aansluiting als volgt:

Sensor pinVerbinding
RoodVCC / 3.3V
ZwartGND
GeelSCL → GPIO 42
GroenSDA → GPIO 41

Mijn uiteindelijke opstelling:

Uiteindelijke opstelling van de Meshtastic node

Telemetry inschakelen

Configureer je apparaat met de sensor via de cmd om environment telemetry te activeren.

python -m meshtastic --set telemetry.environment_measurement_enabled true

Na het uitvoeren van dit commando zal het apparaat automatisch herstarten.

Na de herstart zou de telemetriedata zichtbaar moeten zijn op het scherm (indien aanwezig) en verzonden worden via het mesh-netwerk.

💡 Dit geldt enkel voor LoRa-modules met een ingebouwd scherm.


Seriële logs bekijken

Indien er geen telemetrie verschijnt kan je de seriële logs bekijken.

python -m meshtastic --noproto

Controleer of je meldingen ziet zoals:

  • Telemetry updates
  • I2C communicatie
  • Sensor detectie

Voorbeeld:

Voorbeeld van seriële log output​

Channels aanmaken

We maken 2 channels:

  1. Privé channel (index 0) → voor telemetry data
  2. Publiek channel → voor communicatie

Privé channel aanmaken (Weerwijs)

stel bij het kanaal van index in dat de key random is.

python -m meshtastic --ch-set psk random --ch-index 0

rename dat channel naar u gekozen naam

python -m meshtastic --ch-set name Weerwijs --ch-index 0

Publiek channel aanmaken​

Indien je ook een publiek kanaal wil toevoegen, kan je een tweede channel aanmaken.

Nu stellen we de naam van het kanaal in. In dit voorbeeld laten we de naam leeg zodat Meshtastic automatisch de gebruikersnaam van de node gebruikt.

python -m meshtastic --ch-add name ""

Voor een publiek kanaal gebruiken we de standaard Meshtastic PSK.

De base64 sleutel hiervoor is:

AQ==

Stel de PSK in met:

python -m meshtastic --ch-set psk default --ch-index 1

Dit komt overeen met het standaard publieke Meshtastic kanaal dat door veel nodes gebruikt wordt.


Controle​

Je kan je ingestelde channels controleren met:

python -m meshtastic --info

Je zou nu iets gelijkaardigs moeten zien:

Channel 0: Weerwijs (primary)
Channel 1: public

Channel delen met een andere node​

Om ervoor te zorgen dat beide LoRa-modules met elkaar communiceren, moeten ze dezelfde channel configuratie hebben. Connecteer met de node die op je uw pc zit. Deze zal als enige tonen op de meshtastic app.

Je kan de channels delen met een qr code in de Meshtastic app.

Ga naar Settings → Radio configuration → Share QR code.
Je zal een QR code zien met verschillende settings. Maak dat alle channels aangevinkt zijn. De setting moet ook staan op Replace Channels. Klik op de share QR code en sla dit ergens op. Verbind met de andere node en scan de QR code. Deze zal automatisch de channels overnemen.

MQTT configuratie

De telemetry data kan nu doorgestuurd worden naar een bestaande MQTT-broker.

Controleer eerst of je node correct verbonden is:

python -m meshtastic --info

Dit toont informatie zoals:

  • Node ID
  • Firmware versie
  • Hardware type
  • Channel configuratie

MQTT inschakelen​

Activeer de MQTT-module:

python -m meshtastic --set mqtt.enabled true

Na dit commando zal de node automatisch herstarten.


MQTT adres instellen​

Stel het adres van je MQTT-broker in:

python -m meshtastic --set mqtt.address UR-BROKER-IP

Voorbeeld:

python -m meshtastic --set mqtt.address 127.16.95.40

Betekenis:

OnderdeelBetekenis
127.16.95.40IP-adres van de broker

Root topic instellen​

Je kan een root topic instellen voor de berichten die Meshtastic publiceert.

python -m meshtastic --set mqtt.root meshtastic

Voorbeelden van topics die dan gebruikt worden:

meshtastic/2/json/LongFast/telemetry
meshtastic/2/json/LongFast/nodeinfo

Samenvatting

In deze tutorial heb je geleerd hoe je:

  • Meshtastic firmware installeert
  • Een sensor aansluit op een LoRa-node
  • Telemetry activeert
  • Private channels configureert
  • Telemetry doorstuurt naar een MQTT-broker

Met deze configuratie kan je eenvoudig sensor data verzamelen via een LoRa mesh netwerk en integreren met andere IoT-systemen.