MeshCore és Heltec: offline kommunikáció és Home Assistant

1. Mi az a MeshCore?

A MeshCore egy nyílt forráskódú (MIT), LoRa-alapú mesh hálózati protokoll és firmware-ökoszisztéma, biztonságos, infrastruktúra nélküli, szövegközpontú kommunikációhoz. Scott Powell (Ripple Radios, Ausztrália) hozta létre Andy Kirby (Egyesült Királyság) és Liam Cottle (Új-Zéland) közreműködésével; a projekt 2025 elején indult.

MeshCore hivatalos app

Fő tulajdonságok:

  • végpontok közötti titkosítás
  • többugrásos útválasztás, akár 64 ugrásig
  • nyilvános és privát csatornák
  • store-and-forward útválasztás
  • nagyon alacsony fogyasztás: „több mint egy hét egyetlen töltéssel”
  • 868 MHz (EU/UK), 915 MHz (USA/AU/NZ), 433 MHz

Csomópont-szerepek: BLE Companion, USB Serial Companion, Repeater és Room Server (offline BBS, ami tárolja az üzenetelőzményeket — olyan, mint egy levelezőszerver a hálón).

2. Miért hasznos — és mikor elengedhetetlen?

MeshCore hivatalos app - üzenetküldés

Amikor nincs internet, nincs mobil lefedettség és nincs infrastruktúra, a megszokott üzenetküldés meghal. A MeshCore olyan hálózat, amit magad birtokolsz:

  • katasztrófa- és vészhelyzeti kommunikáció (a projekt Új-Zélandon, a Gabrielle ciklon után született)
  • túrázás, kempingezés, fesztiválok, távoli helyszínek
  • amatőr rádiózás és kísérletezés
  • IoT szenzortelemetria terepen
  • offline üzenetküldés emberek között, szolgáltató nélkül

Mivel a háló minden csomópontja továbbítja a többiek forgalmát is, minden új eszközzel nő a hatótáv.

3. A companion app

A hálót kényelmesen egy companion eszközön keresztül használod. A companion a LoRa rádiót hidalja át a telefonodhoz (vagy számítógépedhez) Bluetooth-on, USB-n vagy — a megfelelő firmware-rel — WiFi/TCP-n keresztül.

A hivatalos MeshCore app

A hivatalos MeshCore mobil appok (Android/iOS) és a webes kliens a referencia-kliensek. Lehetővé teszik:

  • közvetlen és csatornaüzenetek küldését
  • a kontaktlista böngészését a reklámozott csomópontokkal, repeaterekkel és szerverekkel
  • az üzenetek kézbesítési állapotának és útvonalának megtekintését
  • a csomópontod, a BLE-párosítás és a rádióbeállítások kezelését
  • a tartózkodási helyed megosztását (mesh térkép)
MeshCore hivatalos app - csatornák

MeshCore hivatalos app - csomópontkezelés

MeshCore One — a jelenlegi kedvencem

Egy ingyenes, nyílt forráskódú (GPLv3) MeshCore kliens iOS/iPadOS/macOS rendszerre Nathaniel Chungtól — nem áll kapcsolatban a hivatalos appal. BLE-n vagy WiFi-n keresztül kapcsolódik, és jelenleg ezt a klienst részesítem előnyben. Miért emelkedik ki:

  • Üzenetkezelés: közvetlen üzenetek kézbesítési státusszal, csatornák, reakciók, említések, link-előnézetek, beágyazott képek, flood újrapróbálkozás, csatornánkénti riasztások
  • Térkép: élő kontakt-pozíciók standard / műholdas / hibrid rétegekkel
  • Hálózati eszközök: Trace Path (útvonal-nyomkövetés), Line-of-Sight + Fresnel-zóna elemzés, RX log rögzítés, zajszint-figyelő, beépített CLI terminál
  • Távoli csomópont-kezelés: repeaterek/room serverek kezelése rádióval (telemetria, konfiguráció, identitás, újraindítás, admin hitelesítés)
  • Companion rádió-prekészletek: frekvencia, kimeneti teljesítmény, spreading factor, sávszélesség
  • Nincs fiók, nincs szerver, nincs analitika — minden az eszközön marad
MeshCore One - beszélgetések

MeshCore One - beszélgetés

MeshCore One - térkép

MeshCore One - csomópontok

MeshCore One - rálátás elemzés

4. Heltec WiFi LoRa 32 V4

Heltec WiFi LoRa 32 V4

A Heltec WiFi LoRa 32 V4 egy ESP32-S3 alapú fejlesztői kártya LoRa rádióval:

  • ESP32-S3, kétmagos 240 MHz, 2 MB PSRAM (8 MB a V4-R8-on), 16 MB flash
  • SX1262 LoRa rádió, 863–928 MHz (nagyteljesítményű változat), egységes 868/915 MHz támogatás
  • 0,96″-os 128×64 OLED kijelző
  • WiFi 802.11 b/g/n + Bluetooth 5 (LE)
  • USB-C, Li-ion akku- és napelem-bemenet, IPEX antenna-csatlakozók
  • Firmware-elvárás: MeshCore >= 1.15, Meshtastic >= 2.7.20
Heltec WiFi LoRa 32 V4 elrendezés

Az érdekes kombináció: LoRa ÉS WiFi egy kártyán — így hídként kötheti össze az offline hálót az online világgal.

5. Melyik firmware, hova, és hogyan

A hivatalos MeshCore firmware négy, egymást kizáró típusból áll: BLE Companion, USB Serial Companion, Repeater és Room Server. A Room Server (amit én először flasheltem) egy BBS WiFi nélkül — remek üzenetközpont, de használhatatlan internetes hídként.

A közösségi meshcomod firmware (github.com/ALLFATHER-BV/meshcomod) ezt megváltoztatja: egy build egyszerre szolgálja az USB + Bluetooth + TCP transzportokat (TCP szerver az 5000-es porton). Ezt érdemes választani, ha Home Assistanthez vagy webes dashboardhoz akarod kötni az eszközt.

Flash opciók:

  • Web flasher: flasher.meshcomod.com (Web Serial) — válaszd ki az eszközt, flash, WiFi konfiguráció
  • GitHub Releases + esptool (ahogy én csináltam)

Először töröltem a chipet, majd a merged image-et írtam a 0x0 címről. A törlés:

esptool --port /dev/cu.usbmodem1101 erase-flash
esptool v5.3.1
Connected to ESP32-S3 on /dev/cu.usbmodem1101:
Chip type:          ESP32-S3 (QFN56) (revision v0.2)
Features:           Wi-Fi, BT 5 (LE), Dual Core + LP Core, 240MHz, Embedded PSRAM 2MB (AP_3v3)
Crystal frequency:  40MHz
USB mode:           USB-Serial/JTAG
MAC:                f8:5b:1b:a1:9b:c4
Stub flasher running.
Flash memory erased successfully in 9.8 seconds.
Hard resetting via RTS pin...

Majd a write — a merged image (bootloader + partíciós tábla) 0x0-ra:

esptool --port /dev/cu.usbmodem1101 write-flash 0x0 ~/Downloads/heltec_v4_companion_radio_usb_tcp-v1.16.0.4-3da7067-merged.bin
esptool v5.3.1
Connected to ESP32-S3 on /dev/cu.usbmodem1101:
Chip type:          ESP32-S3 (QFN56) (revision v0.2)
Features:           Wi-Fi, BT 5 (LE), Dual Core + LP Core, 240MHz, Embedded PSRAM 2MB (AP_3v3)
Crystal frequency:  40MHz
USB mode:           USB-Serial/JTAG
MAC:                f8:5b:1b:a1:9b:c4
Stub flasher running.
Wrote 1659456 bytes (1067434 compressed) at 0x00000000 in 9.2 seconds (1448.7 kbit/s).
Hash of data verified.
Hard resetting via RTS pin...
meshcomod eszköz képernyő - BLE/TCP kapcsolók

Gyakorlati tapasztalatok:

  • a merged (egybeírt) image-et használd (bootloader + partíciós tábla, 0x0-tól íródik)
  • fekete képernyő flash után? Nyomj resetet, és várj akár 30 másodpercet (első indulási késleltetés); V4-en néha a nem-merged image kell 0x10000-re
  • a kártya natív USB-Serial/JTAG eszközként jelenik meg; macOS-en a port /dev/cu.usbmodemXXXX (a chip MAC-címe alapján nevezve)
  • a web flasher leállt a telepítésem alatt — a GitHub Releases + esptool tökéletesen működött

6. WiFi beállítása

A meshcomod ugyanazon az USB porton egy egyszerű szöveges konzolt is kínál (és egy webkonzolt, amikor a szolgáltatás fent van). Parancsok — egyszerre egy sor:

set wifi.ssid MyNetwork
set wifi.pwd MyPassword
wifi.apply
wifi.status
meshcomod konzol - WiFi beállítás

Vagy a telefonos appban a beépített „Meshcomod” kontaktuson keresztül: wifi set ssid "MyNetwork", wifi set pwd "MyPassword", wifi apply.

Megjegyzések: csak 2,4 GHz; a hitelesítő adatok NVS-ben tárolódnak, túlélik az újraindítást; a BLE-párosításhoz a kijelzőn látható PIN kell (fixálható: set pin + reboot). Kapcsolódás után a Network (TCP) fül mutatja az IP-címet, a TCP szerver pedig az 5000-es porton figyel.

7. Home Assistant

Hivatalos integráció: meshcore-ha (github.com/meshcore-dev/meshcore-ha), HACS-ből telepíthető egyedi repóként.

  1. HACS telepítése (hacs.xyz)
  2. Repó hozzáadása: https://github.com/meshcore-dev/meshcore-ha (kategória: Integration)
  3. A „MeshCore” integráció telepítése, Home Assistant újraindítása
  4. Integráció hozzáadása → MeshCore → Transport: TCP → Host: <heltec IP> → Port: 5000
Home Assistant dashboard

Amit kapsz: node-szenzorok (akkumulátor, státusz, frekvencia, lat/lon), kontaktusonkénti RSSI/SNR-szenzorok, telemetria, és szolgáltatások, mint a meshcore.send_message. Mivel a meshcomod több TCP-klienst is enged, a Home Assistant és egy MeshMonitor-dashboard egyszerre kapcsolódhat.

A meshcore-card plugin — az én dashboardom

Hogy mindent szépen vizualizáljak, telepítettem a meshcore-cardot (github.com/jpettitt/meshcore-card). Három kártyát ad: hub & node áttekintő kártya, kontakt-kártya és csatorna-kártya — mindegyik automatikusan felfedezi az entitásaidat.

meshcore-card hub

meshcore-card node

meshcore-card kontaktusok

meshcore-card csatornák

Emellett megépítettem a saját dashboardomat: gauge-ek (akkumulátor, SNR, RSSI), history kártyák (hálóméret, rádió-egészség), statisztikák (üzenetek/nap, airtime), egy ApexCharts aktivitás-tábla, egy mesh-aktivitás logbook, és két térkép — egy teljes hálózati áttekintő és egy „csak közvetlen” térkép.

A meshcomod webes kliense akár Home Assistant fülként is beágyazható:

meshcomod HA fülként

8. MeshMonitor — a mesh dashboard

A MeshMonitor (ghcr.io/yeraze/meshmonitor) egy webes dashboard offline hálókhoz — Meshtastic, MeshCore és MQTT egy felületről. Tökéletes webes társ, funkciói:

  • interaktív térképek egységes csomópont-pozíciókkal és hálózati topológiával az összes forrásból
  • csomópontlista státusszal, akkumulátorral, telemetriával és üzenetelőzményekkel
  • csatorna/üzenet nézetek kézbesítési részletekkel
  • terepi rálátás (line-of-sight) és Fresnel link-budget elemzés
  • 3D terepnézet
  • MQTT geo-szűrés
  • MeshCore Virtual Node (a MeshCore app Wi-Fi-n éri el a kezelt eszközt)
  • REST API és SQLite/Postgres/MySQL tárolás
MeshMonitor dashboard

Csomópontlista nézet:

MeshMonitor csomópontlista

Üzenet nézet:

MeshMonitor üzenetek

Csatorna nézet:

MeshMonitor csatornák

Telepítés egyetlen konténerrel: docker run -p 3001:3001 -v meshmonitor-data:/data ghcr.io/yeraze/meshmonitor:latest — majd mutasd rá a companion TCP :5000 portjára.

9. Jogi megjegyzés (EU / Magyarország)

A 868 MHz-es LoRa az EU SRD-szabályozása alá esik (ETSI EN 300 220). A MeshCore alapértelmezett 869,525 MHz-e a P al-sávban van (10% duty cycle, akár 500 mW ERP). Tartsd a teljesítményt és a duty cycle-t a régiód határértékei között (set tx, set dutycycle), és ne feledd: Magyarországon a 433 MHz-es LoRa az amatőr szolgálat alá esik, ami NMHH-s HA hívójelű engedélyt igényel. Csak tájékoztatás — mindig egyeztess a nemzeti hatósággal.

Vélemény, hozzászólás?

Az e-mail címet nem tesszük közzé. A kötelező mezőket * karakterrel jelöltük