Když se řekne komunikace, většina lidí si automaticky představí mobil, internet, Wi-Fi, případně klasickou vysílačku. Jenže všechny tyhle možnosti mají svoje slabé místo. Mobil potřebuje signál operátora, internet potřebuje nějakou infrastrukturu a vysílačka je většinou komunikace „teď a tady“, často bez chytrého směrování, potvrzení a dalších funkcí.
A právě do téhle mezery zapadá MeshCore.

Není to náhrada mobilního telefonu. Není to internet přes rádio. Není to ani zázračná krabička, která obejde fyziku. Je to spíš zajímavý stavební kámen pro lidi, kteří si chtějí postavit vlastní textovou komunikační síť přes LoRa. Síť, která může fungovat bez SIM karty, bez operátora a bez internetu.
MeshCore je open-source projekt, který se sám popisuje jako lehká C++ knihovna a firmware pro víceskokové směrování paketů přes LoRa a další packet radio zařízení. Cílem je vytvořit odolnou decentralizovanou síť, kde se zprávy mohou dostat na větší vzdálenost přes mezilehlé uzly. Oficiální repozitář zmiňuje použití pro off-grid komunikaci, krizové situace, outdoor, taktické použití i IoT senzory.
A přesně to je důvod, proč mě to zaujalo. LoRa mě baví dlouhodobě, solární napájení taky a představa malého opakovače někde na dobrém kopci je prostě lákavá. Ne proto, že by to mělo nahradit běžnou komunikaci, ale proto, že je to vlastní infrastruktura. Něco, co si můžeš postavit, změřit, vylepšit a reálně vyzkoušet.
Co vlastně MeshCore je
MeshCore je dobré chápat jako kombinaci protokolu, firmwaru a ekosystému kolem něj. Není to jeden konkrétní přístroj. Není to deska jedné značky. Není to ani jen mobilní aplikace.
Zjednodušeně řečeno: MeshCore je způsob, jak z různých LoRa modulů a vývojových desek vytvořit vlastní textovou mesh síť. Do kompatibilního zařízení nahraješ firmware a podle toho, jakou roli mu dáš, z něj může být klient, repeater, room server nebo třeba senzorový uzel.
Tohle rozdělení je důležité. Když si koupíš třeba Heltec, LilyGO, RAK nebo Seeed desku, nekupuješ tím automaticky „MeshCore zařízení“. Kupuješ hardware, na kterém může MeshCore běžet. Teprve nahraný firmware z něj udělá konkrétní uzel s konkrétní funkcí.
Stejná deska tedy může být při jednom použití companion klient k mobilu, při jiném použití repeater na kopci a při dalším experimentu třeba room server. To je pro bastlíře příjemné, protože se dá začít jednoduše a později stejný hardware použít jinak.
LoRa v kostce
Základ MeshCore stojí na LoRa rádiu. LoRa je rádiová technologie navržená pro dlouhý dosah, nízkou spotřebu a malé datové objemy. Není to technologie pro fotky, hlas, video ani běžné prohlížení internetu. Je to technologie pro krátké zprávy, malé datové pakety a jednoduchou telemetrii.

LoRa používá modulaci typu Chirp Spread Spectrum. Prakticky to znamená, že umí velmi dobře pracovat se slabým signálem a šumem, ale za cenu malé přenosové rychlosti. Nastavení LoRa přenosu se obvykle řeší hlavně třemi parametry: šířkou pásma, spreading factorem a coding ratem. MeshCore to vysvětluje jednoduše: větší šířka pásma nebo nižší spreading factor znamenají rychlejší přenos, ale zároveň menší rezervu pro špatné spojení. Vyšší odolnost zase znamená delší vysílací čas.
Tohle je u LoRa sítí zásadní. Každá zpráva zabere nějaký čas ve vzduchu. Čím delší zpráva a čím pomalejší nastavení, tím déle je kanál obsazený. Proto se u podobných sítí musí přemýšlet jinak než u Wi-Fi. Tady není cílem posílat hodně dat. Cílem je poslat málo dat tak, aby měla šanci dojít co nejdál.
V Evropě a UK se MeshCore používá v pásmu kolem 868 MHz. Na Novém Zélandu, Austrálii a USA se používá 915 MHz.
Mesh není jen „všichni opakují všechno“
Když se řekne mesh síť, člověk si často představí, že každé zařízení opakuje všechno, co slyší. Takový přístup sice může být jednoduchý, ale u LoRa rychle narazí na problém. Kanál je pomalý, vysílací čas je drahý a když by každý uzel bezhlavě opakoval každou zprávu, síť by se s rostoucím počtem zařízení začala sama dusit.
MeshCore na to jde chytřeji. Klientské uzly v MeshCore běžně neopakují. To znamená, že zařízení, které máš v kapse a používáš ho s mobilem jako companion, není automaticky opakovač pro ostatní. Opakování provozu je úloha hlavně repeaterů a případně room serverů. Tím se síť dá lépe plánovat a nevznikají v ní náhodné, špatně předvídatelné cesty přes pohyblivé uzly.
Zajímavé je hlavně doručování přímých zpráv. Když posíláš zprávu konkrétnímu uzlu poprvé, MeshCore ji může poslat flood routingem, tedy rozšířením přes dostupné repeatery. Jakmile ji cílový uzel dostane, pošle zpět potvrzení o doručení a zároveň informaci, kudy původní zpráva prošla. Odesílatel si tím uloží cestu a další zprávy už se nemusí šířit tak naslepo. Cesta se vloží přímo do paketu a repeatery ji vyhodnocují. Pokud konkrétní repeater v cestě odpovídá, zprávu přepošle. Pokud ne, nechá ji být.

To je dost důležitý rozdíl. MeshCore tím snižuje zbytečné opakování a šetří airtime. Neznamená to, že je síť nezničitelná nebo že zpráva vždy projde. Znamená to, že systém se snaží používat známé cesty a nezahlcovat rádio víc, než je nutné.
Když se cesta rozpadne, třeba proto, že byl repeater vypnutý nebo šlo o pohyblivý uzel, MeshCore se umí vrátit k hledání nové trasy. Klient po neúspěšných pokusech může resetovat cestu a poslat zprávu znovu floodem, aby našel novou cestu k cíli. U hodně pohyblivých scénářů se tedy může stát, že se trasy budou rozpadat častěji a systém bude častěji padat zpět do flood režimu.
Přímá zpráva není totéž co kanál
V MeshCore je dobré rozlišovat přímou komunikaci mezi dvěma uzly a skupinové kanály. Přímá zpráva má konkrétního příjemce, takže dává smysl hledat a používat konkrétní cestu. Skupinová zpráva je jiná. Tam dopředu není jeden jasný cíl. Zpráva má dojít členům kanálu, kteří ji mohou slyšet přes síť.
Proto skupinové kanály v MeshCore floodují. FAQ říká přímo, že skupinové kanály nemají definovanou cestu jako komunikace z bodu A do bodu B, a proto se musí šířit floodem. Repeater ale může mít nastavená pravidla, jak daleko takový provoz pustí.
Pro běžného uživatele z toho plyne jednoduchá věc: soukromá zpráva jednomu člověku a psaní do kanálu nejsou pro síť stejně náročné. Když bude malá skupina lidí posílat krátké zprávy občas, je to v pohodě. Když se z toho někdo pokusí udělat rychlý chat s dlouhými texty pro velkou skupinu lidí, začne narážet na limity LoRa.
A to je vlastně zdravé omezení. MeshCore není sociální síť v rádiu. Je to nástroj na krátké, účelné zprávy.
Role zařízení v síti
Jedna z věcí, která se mi na MeshCore líbí, je jasné rozdělení rolí.

Nejjednodušší je companion. To je LoRa zařízení, které připojíš k telefonu přes Bluetooth, USB nebo Wi-Fi podle typu firmwaru. Samotné zařízení řeší rádio a telefon slouží jako pohodlné rozhraní pro psaní zpráv. Tohle je nejjednodušší cesta, jak začít. Nahraješ companion firmware, spáruješ s aplikací a můžeš zkoušet.
Pak jsou standalone zařízení. Typickým příkladem je LilyGO T-Deck nebo podobný handheld s displejem a klávesnicí. Takové zařízení už nepotřebuje mobil, protože na něm můžeš zprávy psát přímo. Je to lákavé, protože to působí jako malý LoRa komunikátor. Nevýhoda je jasná: displej, klávesnice, GPS a další periferie si vezmou víc energie než jednoduchý uzel bez obrazovky.
Nejdůležitější roli v praktické síti má podle mě repeater. To je uzel, který dáš na dobré místo, ideálně vysoko, s rozumnou anténou a stabilním napájením. Jeho úkol je prodlužovat dosah sítě. Když je repeater na kopci, může propojit zařízení, která by se přímo vůbec neslyšela.
A pak je tu room server. Ten bych popsal jako jednoduchý BBS nebo schránku zpráv. Room server ukládá historii a umožňuje uživatelům vrátit se později a vyzvednout si zprávy. Při přihlášení může klient dostat dříve neviděné zprávy. Je to tedy jiné než běžný kanál, kde zprávu buď slyšíš v okamžiku vysílání, nebo ti uteče.
Tohle je pro komunitní síť hodně zajímavé. Když nejsou všichni pořád online, room server dává síti určitou paměť.
Proč je repeater důležitější než samotná krabička v kapse
U LoRa komunikace se často řeší, jaký modul koupit, jaký výkon nastavit a jakou anténu našroubovat. To všechno je důležité. Ale největší rozdíl často udělá úplně obyčejná věc: výška.

LoRa není magie. Rádiový signál má rád přímou viditelnost, volný prostor a rozumnou anténu. Když máš zařízení v ruce někde v údolí, za domy nebo v lese, může být dosah překvapivě malý. Když stejné nebo podobné zařízení dáš na kopec, střechu, stožár nebo jiné vyvýšené místo, dostaneš se do úplně jiné ligy.
Oficiální FAQ dokonce při popisu prvního nasazení doporučuje, že pokud máš dvě zařízení a v okolí už nějací uživatelé jsou, může dávat smysl jedno použít jako companion a druhé jako repeater umístěný vysoko nad zemí, aby rozšířil dosah sítě.
A přesně tady podle mě MeshCore začíná být opravdu zajímavý. Ne v tom, že si člověk koupí jednu krabičku a čeká zázrak. Ale v tom, že začne přemýšlet nad topologií. Kde je dobrý kopec? Kde je výhled? Kde půjde dát solární panel? Jak dlouho to vydrží na baterii? Jaký odběr má konkrétní deska? Jak se bude chovat v zimě?
Tohle je bastlířsky mnohem zajímavější než jen „nahrál jsem firmware a koukám, jestli někoho slyším“.
Kde se MeshCore hodí
MeshCore dává smysl všude tam, kde je potřeba poslat krátkou zprávu mimo běžnou infrastrukturu.
Může to být turistika, výlety, pohyb v horách, tábory, festivaly nebo větší akce v terénu. Může to být komunikace mezi lidmi na chatách, v osadě nebo na vesnici. Může to být záložní síť pro případ výpadku mobilní sítě a internetu. A může to být i hračka pro techniky, kteří si chtějí vyzkoušet, jak se chová vlastní lokální mesh síť.
Oficiální repozitář zmiňuje i IoT a senzorové sítě. To je další zajímavý směr. MeshCore totiž není omezený jen na ruční psaní zpráv. V dokumentaci jsou zmíněné datové payloady, senzorové uzly a jednoduchá telemetrie. Prakticky si tedy lze představit třeba hlášení napětí baterie, teploty, stavu solárního repeateru nebo nějakého poplachového vstupu.
Tady je ale potřeba držet se při zemi. LoRa síť není vhodná na časté posílání velkého množství dat. Senzor, který jednou za pár minut nebo hodin pošle krátkou hodnotu, dává smysl. Senzor, který bude každých pár sekund spamovat kanál dlouhými zprávami, už smysl nedává.
Kde se MeshCore nehodí
Stejně důležité je říct, kde MeshCore vhodný není.
Není to náhrada mobilu. Když máš signál a internet, mobil bude skoro vždycky pohodlnější, rychlejší a spolehlivější. MeshCore se hodí hlavně tam, kde běžná infrastruktura není nebo kde chceš mít vlastní nezávislou vrstvu.
Není to ani náhrada internetu. Přes LoRa neposíláš webové stránky, fotky ani videa. Přenosová rychlost je malá a rádiový kanál se musí šetřit.
Není to hlasová vysílačka. MeshCore je hlavně textová a datová komunikace. Pokud potřebuješ mluvit v reálném čase, pořád dává smysl klasická radiostanice.
A není to ani systém, který bude fungovat sám od sebe jen proto, že je v názvu mesh. Když v okolí nejsou žádné uzly, žádná infrastruktura a máš jen jedno zařízení, moc si nepomůžeš. MeshCore začíná dávat smysl ve chvíli, kdy jsou aspoň dvě zařízení, a ještě větší smysl ve chvíli, kdy existují dobře umístěné repeatery.
Hardware: od jednoduchého klienta po solární repeater

MeshCore podporuje řadu různých LoRa zařízení. V oficiálních materiálech se objevují například Heltec, LilyGO, RAK Wireless, Seeed a další desky. Repozitář zmiňuje, že podporovaný hardware se flashuje přes MeshCore flasher a že existují předpřipravené firmwary pro Companion, Repeater a Room Server.
Pro první hraní je podle mě nejlepší jednoduchý companion k telefonu. Typicky nějaká deska s ESP32 nebo nRF52 a LoRa čipem. Výhoda je jednoduchost. Telefon dělá displej, klávesnici i aplikaci a LoRa modul řeší rádiovou část.
Pokud chceš zařízení bez telefonu, dává smysl něco jako T-Deck. Tam už máš displej a klávesnici přímo v zařízení. Je to efektní, praktické a působí to jako malý kapesní terminál. Jen je potřeba počítat s vyšší spotřebou.
Pro repeater bych se naopak díval po něčem úspornějším. Tady není potřeba velký displej ani klávesnice. Důležitější je nízký odběr, stabilita, dobrá anténa, rozumné napájení a možnost provozu z baterie a soláru. Z tohoto pohledu jsou hodně zajímavé kombinace nRF52840 a SX1262. MeshCore má pro nRF52 platformu i vlastní power management dokumentaci, která řeší ochranu proti hlubokému vybití, bootovací kontrolu napětí a bezpečné probuzení po návratu napětí.
A tady se dostáváme k věci, která je pro reálný venkovní uzel zásadní. Nestačí říct „čip má v datasheetu nízký odběr“. Hotová deska má převodníky, LEDky, USB převodník, případně displej, GPS, BLE a další periferie. Skutečný odběr celé sestavy může být úplně jinde než krásná čísla v datasheetu samotného čipu.
Proto má smysl měřit. U solárního repeateru bych nepočítal od stolu jen podle katalogu. Nejdřív bych vzal konkrétní desku, konkrétní firmware, zapnul reálný režim provozu a změřil odběr v klidu, při příjmu i při vysílání. Teprve potom má smysl řešit baterky, panel a nabíječku.
Dosah: co čekat v reálném světě
Dosah je u LoRa věčné téma. Výrobci a komunity často uvádějí kilometry až desítky kilometrů. A není to lež. Jenže je tam vždycky to podstatné „když“.
Když je dobrá anténa. Když je přímá viditelnost. Když je uzel vysoko. Když není mezi zařízeními kopec, město, les nebo rušení. Když je správně nastavená šířka pásma, spreading factor a coding rate. Když je anténa naladěná na správné pásmo a není připojená přes mizerný kabel.
Oficiální web MeshCore uvádí dosah přes 10 km za ideálních podmínek, tedy při dobré přímé viditelnosti. To je realistické, ale nesmí se to chápat jako zaručený dosah z kapsy v lese.
V městské zástavbě se můžeš dostat jen na stovky metrů až jednotky kilometrů. V lese záleží na terénu, hustotě porostu a vlhkosti. Z kopce na kopec může být dosah výrazně lepší a desítky kilometrů nejsou nesmysl. Ale opět: neudělá to kouzelný firmware, udělá to hlavně dobré místo.
Důležité je zdůraznit jednu věc: dobrý repeater na kopci může mít pro síť větší hodnotu než deset uzlů schovaných doma v šuplíku.
Bezpečnost a soukromí
MeshCore se často prezentuje jako soukromá a šifrovaná komunikace. Oficiální web zmiňuje AES-128 šifrování a myšlenku, že zprávy nemohou číst ani relay uzly. To je fajn, ale je dobré to podat realisticky.
Šifrování obsahu neznamená, že je soukromé úplně všechno. U rádiové komunikace je už samotná existence vysílání viditelná. Někdo může zjistit, že se v éteru něco děje. Některá metadata, identita uzlu nebo jeho veřejné oznámení do sítě mohou být také součástí provozu. Dokumentace payloadů například popisuje advert pakety, které obsahují veřejný klíč, timestamp a volitelně také jméno a pozici.
Je také rozdíl mezi veřejným a soukromým kanálem. Companion protokol rozlišuje veřejný kanál a privátní kanály se sdíleným klíčem. Soukromý kanál je tedy soukromý jen do chvíle, než se jeho klíč rozšíří mezi lidi, kteří ho mít nemají.
Za mě je férové říct to takhle: MeshCore je zajímavý a použitelný pro běžnou off-grid komunikaci, kde chceš rozumnou míru soukromí. Ale neprezentoval bych ho jako bezpečný systém pro vysoce citlivou komunikaci. Je to živý open-source projekt, který se vyvíjí, a bezpečnost je potřeba brát střízlivě.
MeshCore vs Meshtastic
Srovnání s Meshtasticem se nabízí automaticky. Oba projekty používají LoRa, oba řeší textovou komunikaci mimo běžnou infrastrukturu a oba běží na podobném bastlířském hardwaru. Přesto k tomu přistupují trochu jinak.
Meshtastic je dnes rozšířenější, známější a pro začátečníka často jednodušší cesta. Má velkou komunitu, hodně návodů, hodně podporovaných zařízení a v mnoha oblastech větší šanci, že v okolí už nějaké uzly najdeš. Je to takový „sociálnější“ LoRa mesh.
MeshCore působí víc jako síť, kterou si cíleně stavíš. Má jasněji oddělené role klientů, repeaterů a room serverů. Klient běžně neopakuje, repeater je infrastruktura a direct zprávy se snaží používat naučené cesty. To se hodí, když chceš budovat lokální síť se stabilními uzly na dobrých místech.
Prakticky bych to shrnul takto: Meshtastic je vhodnější, pokud chceš rychlý start, větší komunitu a vyšší šanci, že někoho v okolí zachytíš. MeshCore je zajímavější, pokud tě láká stavět vlastní síť, řešit repeatery, room server, spotřebu, solární napájení a chování routování.
Není nutné z toho dělat válku. Oba projekty mají svoje místo.
Má MeshCore smysl v ČR?
Podle mě ano, ale je potřeba vědět proč.
Pokud někdo čeká, že si koupí jedno zařízení, zapne ho doma na stole a okamžitě bude psát s půlkou republiky, bude zklamaný. Pokud ale chce někdo stavět vlastní lokální síť, zkoušet LoRa, hledat dobrá místa pro repeatery a měřit reálnou spotřebu, pak MeshCore smysl má.
V Česku už existuje komunitní web meshcore.cz a lokální materiály k nastavení sítě. To je důležité, protože u podobných sítí nestačí mít jen správný firmware. Aby se uzly slyšely, musí sedět i parametry vysílání.
Pro mě osobně je na tom nejzajímavější právě možnost praktického bastlení. Jedna věc je číst dokumentaci. Druhá věc je postavit vlastní repeater, dát ho na kopec, změřit odběr, sledovat solární dobíjení, vyzkoušet antény a pak zjistit, kam až se dá reálně dovolat.
Tohle je přesně typ projektu, který má smysl dokumentovat postupně. Nejdřív vysvětlit technologii. Potom vybrat hardware. Pak zprovoznit první dvě zařízení. Potom postavit repeater. Pak změřit spotřebu. A nakonec udělat reálný test dosahu.
Závěr
MeshCore není zázrak. A to je dobře.
Je to otevřený projekt, který z běžně dostupných LoRa zařízení umožňuje postavit vlastní textovou síť mimo běžnou infrastrukturu. Jeho síla není v tom, že by překonal fyziku. Jeho síla je v tom, že s fyzikou počítá a dává člověku do ruky nástroje, jak si síť navrhnout rozumněji.
Nejdůležitější není samotná krabička. Nejdůležitější je celá myšlenka sítě. Kde bude klient. Kde bude repeater. Kde je dobré místo. Jaká bude anténa. Kolik to bude žrát. Jak dlouho vydrží baterie. Jestli bude stačit solární panel. A jestli v okolí vůbec existuje někdo další, s kým má smysl komunikovat.
Pro první seznámení stačí dvě zařízení a chuť experimentovat. Pro skutečně použitelnou síť už je potřeba přemýšlet víc jako radioamatér, bastlíř a trochu i správce infrastruktury.
Protože u rádia nakonec stejně nejvíc rozhoduje realita. Ne marketingový dosah na krabičce, ale to, co projde vzduchem mezi dvěma skutečnými místy.
V příštím díle se podíváme na to, jak nastavit jednoduchý companion pro komunikaci pomocí telefonu nebo tabletu s Androidem.
Seznam dílů:
- díl – Vlastní komunikační síť přes LoRa (právě jste dočetli)
- díl – Companion: první nastavení a aplikace pro Android
- díl – T-Deck: samostatný companion bez telefonu
- díl – Repeater: první nastavení
- díl – Repeater: stavba solárního opakovače
- díl – Room Server: první nastavení a funkce
- díl – T-Deck: mapy a externí anténa
- díl – Bootloader OTAFix a OTA aktualizace repeateru s nRF52840 (již brzy)

Dobrý večer, mohu jen potvrdit. Narazil jsem na podobný článek na netu asi před měsícem a tak dlouho mě to vrtalo v hlavě, až jsem si jedno zařízeníčko objednal a v pátek 1.5. zbastlil. A světe div se, funguje to, na první zapojení. Dneska jsem Vás zahlédl na Public kanálu a teď jsem u kompu, tak jsem se na ty Vaše stránky podíval. Mě na tom fascinuje, že ta síť je jakýsi živý organismus. Když je někde problém, pokusí se ho obejít jinou cestou. Nikde žádné nadřazené zařízení, žádná kontrola. Pouze věcná a jasná komunikace. A zároveň nezahlcuje celou síť.
Díky za návštěvu. Zrovna jsem chodil po kopcích a hledal místo pro repeater. Doma signál nemám tak se potřebuju někudy připíchnout. Je to paráda že se člověk dokecá přes celou republiku. Přeju úspěch při umisťování repeateru, taky jsem z východních čech a moc tady toho není.
pozn. mám to teprv 3 dny a ta slova o zakoupení 2ks prijímačů jsou pravdivá. Už teď začínám přemýšlet, že bych si postavil vlastní repeater a dost podstatně rozšířil pokrytí ve východní části Pardubického kraje. Ona totiž ta aplikace v telefonu – Meshcore – co ji autor zmiňuje v dalších pokračování , dokáže matematicky modelovat šíření sítě ať již z existujících repeaterů, nebo i hypoteticky uvažovaných, ale i všech dohromady. Dokáže zobrazit, zda je přímá viditelnost mezi boty A-B. Což velice oceňuji.
No když se podívám na mapu tak bych řekl že meshtastic je mrtvý, naopak na meshcore se republika brutálně plní