MeshCore MQTT integratie
Verbind je MeshCore netwerk met IoT platforms via MQTT voor data export, automation en integratie met externe systemen
Wat is de MQTT bridge?
De MQTT bridge in MeshCore stelt je in staat om berichten en telemetrie te exporteren naar een MQTT broker. Van daaruit kun je data doorsturen naar IoT platforms zoals Home Assistant, Node-RED, InfluxDB, Grafana, en meer.
MQTT (Message Queuing Telemetry Transport) is een lightweight publish/subscribe protocol perfect voor IoT. MeshCore nodes kunnen fungeren als gateway: ze ontvangen berichten via LoRa en publiceren ze naar MQTT topics. Dit opent een wereld aan integratie mogelijkheden.
In deze gids leggen we uit hoe je MQTT configureert, hoe de message formatting werkt, en welke praktische toepassingen er zijn. Of je nu een smart home wilt koppelen of data wilt visualiseren in Grafana, MQTT maakt het mogelijk.
Hoe werkt de MQTT bridge?
1. Node ontvangt LoRa bericht
Je MeshCore node (gateway) ontvangt berichten via LoRa radio van andere nodes in het mesh-netwerk.
2. Converteer naar JSON
De node converteert het Protobuf bericht naar leesbare JSON format met alle metadata en payload data.
3. Publiceer naar MQTT
Het JSON bericht wordt gepubliceerd naar een MQTT topic op je broker. Andere systemen kunnen subscriben op deze topics.
MQTT bridge instellen
Om MQTT te gebruiken heb je een MQTT broker nodig (zoals Mosquitto) en een MeshCore node die als gateway fungeert. Volg deze stappen:
Stap 1: Installeer MQTT broker
Installeer Mosquitto op een Raspberry Pi, server, of gebruik een cloud broker zoals mqtt.meshtastic.org (gratis maar publiek!). Lokale broker is aan te raden voor privacy: sudo apt install mosquitto mosquitto-clients
Stap 2: Configureer node MQTT settings
Via de MeshCore app of CLI, configureer MQTT instellingen: broker adres (bijv. 192.168.1.100), port (1883), username/password (optioneel), en enable MQTT.
Stap 3: Kies MQTT root topic
Berichten worden gepubliceerd naar msh/EU_868/2/c/LongFast/!nodeid. De root (msh/) is configureerbaar. Je kunt een custom prefix instellen voor jouw netwerk.
Stap 4: Test de connectie
Subscribe op alle topics: mosquitto_sub -h localhost -t "msh/#" -v. Stuur een test bericht via MeshCore app. Je zou het bericht moeten zien verschijnen in JSON format.
Praktische toepassingen
Home Assistant integratie
Trigger automations in Home Assistant op basis van MeshCore berichten. Bijvoorbeeld: licht aan als iemand "home" stuurt via mesh.
Grafana dashboards
Exporteer telemetrie naar InfluxDB en visualiseer in Grafana. Monitor battery levels, temperatuur, GPS tracks van alle nodes.
Alert notificaties
Stuur push notificaties naar je telefoon via Telegram, Discord, of Pushover als bepaalde berichten binnenkomen.
Web dashboards
Bouw custom web interfaces die real-time data tonen van het mesh-netwerk. Subscribe via WebSocket op MQTT topics.
Data logging
Log alle berichten naar een database voor historische analyse. Zie netwerk activiteit over tijd, track node bewegingen.
Multi-network bridging
Verbind meerdere MeshCore netwerken via MQTT. Gateway nodes kunnen berichten forwarden tussen fysiek gescheiden netwerken.
MQTT message format
MeshCore publiceert berichten als JSON payloads. Voorbeeld van een text message:
{
"sender": "!a1b2c3d4",
"from": 2748779476,
"id": 123456789,
"timestamp": 1699123456,
"to": 4294967295,
"channel": 0,
"type": "text",
"payload": {
"text": "Hallo via MQTT!"
}
}
Elk bericht bevat metadata (sender ID, timestamp, channel) en een payload object met de daadwerkelijke data. Voor telemetrie berichten bevat de payload batteryLevel, voltage, temperature, etc. Voor positie berichten: latitude, longitude, altitude.
Voordelen van MQTT integratie
Universele compatibiliteit
MQTT wordt ondersteund door bijna alle IoT platforms. Makkelijk te integreren met Home Assistant, Node-RED, Domoticz, OpenHAB, etc.
Remote access
Toegang tot je MeshCore netwerk van overal via internet. Monitor nodes en verstuur berichten zonder fysiek in bereik te zijn.
Data persistence
Sla alle berichten op in database voor long-term analyse. MeshCore zelf heeft geen storage, maar MQTT + database wel.
Real-time streaming
Publish/subscribe model zorgt voor instant updates. Geen polling nodig, data komt automatisch binnen.
Multiple subscribers
Meerdere systemen kunnen tegelijk subscriben op hetzelfde topic. Bijvoorbeeld: Grafana + Home Assistant + custom script.
JSON is makkelijk
JSON format is human-readable en werkt met elke programmeertaal. Makkelijker te parsen dan binaire Protobuf.
Veelgestelde vragen
Heb ik een lokale MQTT broker nodig?
Nee, je kunt ook een public broker gebruiken zoals mqtt.meshtastic.org of test.mosquitto.org. Let op: public brokers zijn onveilig (iedereen kan meelezen). Voor productie gebruik is een lokale broker (Mosquitto op Raspberry Pi) aan te raden.
Welke node moet ik gebruiken als MQTT gateway?
Elke MeshCore node kan als gateway fungeren, maar gebruik bij voorkeur een stationaire node met goede stroomvoorziening (USB of solar). Raspberry Pi + MeshCore node is een populaire setup. De gateway moet altijd online zijn.
Kan ik berichten versturen via MQTT naar het mesh-netwerk?
Ja! Publiceer een JSON bericht naar het juiste MQTT topic en de gateway node stuurt het door naar het mesh. Je kunt zo vanuit Home Assistant berichten versturen naar het netwerk. Zie de MQTT docs voor het exacte format.
Hoe secure is MQTT?
MQTT zelf is onversleuteld (plain text). Gebruik TLS encryption (MQTTS op port 8883) en username/password authentication. Voor extra security: VPN tunnel naar je broker. Gebruik nooit public brokers voor gevoelige data!
Wat is het verschil tussen uplink en downlink topics?
Uplink topics (msh/.../c/...) zijn voor berichten van mesh naar MQTT. Downlink topics (msh/.../2/c/...) zijn voor berichten van MQTT naar mesh. Subscribe op uplink, publish naar downlink.
Kan ik MQTT gebruiken zonder fysieke gateway node?
Nee, je hebt altijd minimaal รฉรฉn node nodig die verbonden is met de MQTT broker (via WiFi/Ethernet of USB naar computer). Deze node fungeert als bridge tussen LoRa mesh en MQTT. Remote-only access via MQTT zonder node is niet mogelijk.
Start met MQTT integratie
Klaar om je MeshCore netwerk te verbinden met IoT platforms? Installeer een MQTT broker en configureer een gateway node.