Úvod do MeshCore

Autorem titulkového obrázku je projekt MeshCore.

Doteď mě radioamatérské vysílání úplně míjelo. Když jsem se ale dozvěděl, že existují komunity, které svépomocí budují bezdrátové sítě, které jsou nezávislé na Internetu a do značné míry taky elektrické síti a přes které můžete komunikovat s lidmi i na druhé straně republiky, zaujalo mě to. Když o tom přede mnou pořád básnili kolegové v práci, rozhodl jsem se, že to zkusím taky. Dnes můžu říct, že to dokáže člověka pohltit.

V tomto článku jsem se pokusil shrnout informace, které by se mi hodily před tím, než jsem se MeshCore, jednu z těchto sítí, rozhodl vyzkoušet: jak to funguje, jak se to dá používat, proč zrovna MeshCore…

LoRa

Nemůžu představit MeshCore, aniž bych představil technologii LoRa (Long Range). Tento název označuje proprietární radiokomunikační techniky pro bezdrátový přenos dat, které mají za cíl především maximální energetickou úspornost. Původně je vyvinula francouzská společnost Cycleo, která byla v roce 2012 pohlcená americkou společností Semtech.

Jelikož se vysílací výkon zařízení LoRa pohybuje v hodnotách desítek až stovek miliwattů, dokážou fungovat i na malé baterii klidně několik let. Proto je populární ve světě IoT. Pokud máte doma třeba chytrý vodoměr, který vodárnám pravidelně odesílá odečty, velmi pravděpodobně také využívá LoRa. V Evropě využívá nelicencovaná kmitočtová pásma 433 a 868 MHz.

Velmi nízká spotřeba a cenová dostupnost zařízení dělá z LoRa dobrého kandidáta pro vytváření odolných komunitních sítí jako MeshCore.

MeshCore vs Meshtastic

Myslím si, že MeshCore nemá smysl představovat izolovaně, ale naopak v porovnání se známějším a starším Meshtasticem. Ten vznikl už před šesti lety a společné s MeshCore má to, že umožňuje propojovat zařízení LoRa v mesh síti a vyměňovat si mezi nimi textové zprávy a telemetrická data. MeshCore z Meshtasticu přímo nevychází, ale protože vznikl později (představen teprve na začátku roku 2025), dokázal se poučit z některých jeho limitů.

Impulsem pro vytvoření MeshCore byl cyklón Gabrielle, který zpustošil Severní ostrov Nového Zélandu a zanechal celé oblasti bez jakékoliv komunikace se světem. Po této zkušenosti se spojil Ben Green, který měl v dané oblasti na starosti řešení mimořádných událostí, s Liamem Cottlem, programátorským samoukem a expertem na radiokomunikace, a snažili se najít řešení, které by zajistilo komunikaci i v takových mimořádných situacích, kdy Internet a telekomunikační sítě selhávají. Nejdříve testovali Meshtastic, ale narazili při jejich použití na technologické limity, takže se nakonec rozhodli přijít s vlastním řešením – MeshCore.

Zatímco Meshtastic původně vznikl s cílem propojit zařízení během různých akcí a aktivit v oblastech se špatným pokrytím mobilními sítěmi (údajně prapůvodní využití bylo pro komunikaci paraglidistů), MeshCore vznikl s cílem vytvořit trvalejší a odolnou síť. Meshtastic je také výrazně více zaměřený na posílání telemetrických dat, zatímco pro MeshCore je primární komunikace mezi uživateli. Tomu odpovídají jejich rozdílné návrhy.

Zatímco Meshtastic posílá zprávy přes všechna připojená zařízení, MeshCore rozlišuje mezi klienty (tzv. companiony) a repeatery. Klienty jsou koncová zařízení, neposílají se přes ně zprávy pro jiné. K tomuto účelu slouží repeatery. Provoz tedy chodí přes menší počet zařízení, což ve výsledku představuje menší počet přenosů. Repeatery jsou navíc zpravidla zařízení, která jsou k tomuto účelu navržená: mají dostatečný zdroj energie, aby zvládly nepřetržitý provoz, jsou umístěné na výhodných místech (kopce, výškové budovy, komíny…).

V síti Meshtastic mohou zprávy přeposílat také klientská zařízení.
V síti Meshcore zprávu přeposílají pouze repeatery.

Efektivitě sítě pomáhá také to, že MeshCore nepoužívá pro šíření zpráv vždy metodu flood. Pokud je mezi koncovými zařízeními odeslána první zpráva, použije se flood, ale po doručení už se používá poslední úspěšně použitá trasa. Pokud přestane fungovat, opět se použije flood, aby se našla nová. Uživatel má také možnost si sám definovat trasu a nespoléhat na to, jak to vyřeší síť.

Nutno říct, že Meshtastic se také snaží najít způsoby, jak počet přenosů v síti omezit. Začal používat místo klasického floodu tzv. managed flood, kdy zařízení vždy chvilku počká, jestli neuslyší zprávu přenášet už jiné zařízení v dosahu, a loni nasadil next-hop routing. Ten by měl při opakované komunikaci také využít jen poslední úspěšnou trasu. Zatímco zpráva v MeshCore si nese celou definici trasy v sobě, což dává koncovým bodům větší kontrolu nad trasou, u Meshtastic zpráva nese pouze destinaci následujícího skoku, čímž se více podobá IP směrování. Výhodou jsou pak menší nároky na velikost zprávy.

I tak ale Meshtastic generuje více přenosů při stejném počtu zpráv, protože k přenosu využívá všechny typy zařízení. U MeshCore ulevuje síti také to, že nejsou telemetrická data zařízení periodicky vysílána do sítě jako u Meshtasticu, ale jsou k dispozici pouze na vyžádání.

Díky tomuto dokáže MeshCore úspěšně doručovat zprávy i v sítích o stovkách až tisících zařízení, kde Meshtastic už naráží na své limity: zprávy se nedoručují nebo nedojde k jejich potvrzení. Meshtastic ve výchozím nastavení zvládne tři skoky (přenosy mezi uzly), maximum je 7. MeshCore zvládne teoreticky až 64 skoků. Sám jsem se v praxi setkal se zprávami, které mi byly úspěšně doručené přes 14 uzlů.

Nelze ale říct, že je jedna technologie jednoznačně lepší než druhá. Meshtastic se nehodí na velké trvalé sítě primárně určené pro komunikaci mezi uživateli. Na to je lépe navržený MeshCore, protože to je jeho primárním účelem. Meshtastic ale zase vyniká ve vytváření ad hoc sítí složených čistě z klientských zařízení. Pokud spolu budou chtít tři lidé (pojmenujme je A, B, C) komunikovat pomocí klientských zařízení a nastane situace, kdy A je v dosahu B a B je v dosahu C, ale A a C na sebe nedosáhnou, v případě Meshtasticu spolu A a C budou pořád schopni komunikovat, zatímco v případě MeshCore standardně ne.

I ten ale v poslední aktualizaci přichází s režimem, v kterém companiony i přeposílají. Na rozdíl od Meshtasticu ale běží na jiné frekvenci a nemůžete se v něm tak připojit do standardní sítě, kde by to mohlo dělat neplechu. Je určen čistě pro vytváření ad hoc sítí.

Meshtastic má také výrazně rozvinutější podporu pro posílání telemetrických dat a hodí se pro GPS trackery. Opět ideální do nějaké menší ad hoc sítě, kde spolu můžou uživatelé nejen komunikovat, ale i si vzájemně sledovat svoji polohu. MeshCore se snaží do sítě telemetrická data spíše nepouštět, protože by ji zahlcovala a ta by se tak stala méně spolehlivou pro zprávy uživatelů.

Zařízení

Jak už jsem zmínil, MeshCore pracuje s několika druhý zařízení. Kromě tzv. companionů, což jsou koncová zařízení, existují tzv. repeatery, které představují páteř sítě, protože slouží jako uzly přeposílající zprávy. Kromě toho MeshCore zná i tzv. room servers, což jsou uzly, které hostují místnosti pro diskusi. O nich si povíme více dále v článku.

Úlohu pro dané zařízení musíte zvolit ještě před nahráním firmwaru, protože ji určujete právě zvolenou verzí firmwaru. Z pohledu uživatele má tohle šikovněji vyřešené Meshtastic, který má jeden firmware pro všechny úlohy a mezi nimi přepínáte v nastavení. Ze strany MeshCore se údajně jedná o záměrné znesnadnění, aby se vyhnul zapomenutým zařízením, která byla omylem přepnuta do role repeateru apod.

Omezující je také to, že samotná verze firmwaru určuje i to, jak se budete k zařízení připojovat. Buď do něj nahrajete firmware, který zvládá připojení přes USB, nebo firmware, který zvládá Bluetooth. Bohužel nelze mezi těmito způsoby přepínat, aniž byste přehráli firmware.

Companiony

Pokud se chcete do sítě připojit jako obyčejný uživatel, budete potřebovat zařízení s rolí companionu. Všechna zařízení umí plnit roli také repeateru a vevnitř často mají stejný chipset, protože těch zase tolik není, ale jsou zařízení, které se svojí formou hodí pro roli companionu, tedy malého zařízení, které u sebe máte jako rozšíření mobilního telefonu, přes který jej ovládáte. Na následujících řádcích jsem si připravil pár takových ukázek:

SenseCAP T1000-e

Nejskladnější dostupné zařízení pro MeshCore, protože má velikost tlustější platební karty. Má jedno tlačítko, jednu ledku a baterii na několik dní provozu, ale takhle jednoduché zařízení vlastně stačí, protože s ním interagujete přes telefon. Na rozdíl od ostatních zařízení s externí anténou je nenápadné a můžete ho mít klidně v kapse. Na to, že nemá externí anténu, má slušný příjem, ale říká se, že vysílání je slabší. Může to tak být, ale osobně jsem se nesetkal s mnoha situacemi, kdy by se v daném místě jiný companion chytal a T1000-e ne. Pořídit se dá už za cenu kolem tisícovky.

SenseCAP T1000-e, autor: XoMEoX, licence: CC-BY 4.0.

Wio Tracker L1 Pro

Dalším zařízením, s kterým mám osobní zkušenosti, je Wio Tracker L1 Pro. Má typickou podobu companionu: krabička s malým displejem, pár tlačítky a externí anténou. Krabička s tlačítky je vytisknutá na 3D tiskárně, což je u těchto relativně malosériových zařízení typické. Taktéž se primárně ovládá přes telefon, ale díky malému joysticku a displeji jej můžete základně ovládat a číst z něj informace na přímo. Dokonce se do něj dá nahrát firmware, který z něj udělá samostatné zařízení, ale dost dobře si nedokážu představit na tom psát zprávy. Výrobce udává výdrž 5 dní, dle mých zkušeností je možná ještě lepší. Můžu jej doporučit a i v komunitě jsou na něj dobré ohlasy, byť se nejedná o oficiálně podporované zařízení, ale pouze s komunitní podporou. Stojí podobně jako T1000-e.

Wio Tracker L1 Pro.

LILYGO T-Deck Plus

Jestliže companiony typicky fungují jako rozšíření telefonu, T-Deck jsem vybral jako ukázku, že existují i zařízení, která dokážou fungovat samostatně. Na rozdíl od Wia je k tomu ale i uzpůsobený, protože má větší displej a klávesnici. Cena je oproti dvěma předchozím zhruba dvojnásobná.

LILYGO T-Deck Plus, autor: LILYGO® Team.

Repeatery

Jak už jsem zmiňoval, jako repeater můžete použít jakékoliv zařízení určené pro MeshCore, tedy i ta vhodná pro roli companiona, zmiňovaná výše. Stačí na ně nahrát firmware pro repeater. Úplně ale na tuto roli vhodná nebudou. U repeateru se očekává, že pokryje větší oblast a bude udržovat spojení s repeatery na větší vzdálenost. Proto je typicky umístěný venku vystavený povětrnostním podmínkám. Očekává se také, že přes něj půjde více provozu a nebude vyžadovat každodenní údržbu. Tomu by měla odpovídat kapacita baterií. Ideálně by měl fungovat zcela autonomně, tedy získávat energii ze slunce a být tak nezávislý na elektrické síti a pravidelném dobíjení.

Vnitřnosti repeateru od Jindřicha Skácela. Autor: Jindřich Skácel.

Pokud chcete mít repeater, můžete si pořídit hotové zařízení, které je k tomu vhodné. Momentálně má asi nejlepší poměr cena/výkon SenseCAP Solar Node P1-Pro, který pořídíte už za 90 dolarů. Případně je tu český Solar Node Station od μArt.cz za 160 eur. Nicméně repeatery jsou především o tvorbě vlastních řešení, kde si komunita sdílí zkušenosti s jednotlivými komponentami (baterie, solární panely, antény, filtry…) a jejich kombinováním. Na 3D tiskárně se tisknou krabičky a držáky a vzniká tak mnoho unikátů. Cílem je dobré plnění funkce repeateru a taky pokud možno plná nezávislost. A to nejen proto, že MeshCore by měl být o budování odolné sítě, kterou nepoloží ani dlouhý blackout, ale také z čistě praktických důvodů: repeatery bývají umístěné i na vysokých komínech nebo vysílačích, kam nemá jejich majitel zajištěný okamžitý přístup.

Tentýž repeater Jindřicha Skácela v provozu na budově Red Hatu v Brně. Autor: Jakub Sutory.

Jak začít

Pokud chcete s MeshCore začít, je asi nejlepší se ze všeho nejdřív podívat na mapu pokrytí repeatery. Samotný projekt poskytuje globální mapu, kde naleznete primárně repeatery, ale také klienty, pokud mají nastavené sdílení polohy v advertech.

Spojení mezi companionem a repeaterem funguje spolehlivě maximálně na jednotky km (v městské zástavbě spíše nižší jednotky), takže pokud ve svém okolí žádný nemáte, do sítě se jako běžný uživatel nepřipojíte. Jedině, že byste se chtěli stát průkopníkem a MeshCore do vaší lokality dostat. Vhodně umístěný repeater dokáže s ostatními repeatery komunikovat i na (vysoké) desítky km.

V dalším kroku si musíte pořídit kompatibilní zařízení. Inspirovat se můžete výčtem výše. Projekt MeshCore má stránku s doporučovanými zařízeními a kompletní výčet naleznete ve Web Flasheru, kde jsou všechny dostupné, alespoň komunitně podporované firmwary.

Do Web Flasheru musíte zamířit také poté, co si zařízení pořídíte. Buď žádný firmware neobsahuje, nebo je na něm nahraný firmware pro Meshtastic, který je globálně stále populárnější. Samotný proces flashování firmwaru je ve Web Flasheru udělaný celkem polopaticky, ale má pár nástrah. Zaprvé funguje pouze v prohlížečích založených na Chromiu. Zadruhé nefunguje v kontejnerech nebo sandboxech typu Flatpak, protože tam nemá prohlížeč dostatečná práva pro přístup na sériovou konzoli.

I když prohlížeč běží mimo sandbox, je potřeba v Linuxu nastavit dostatečná práva pro uživatele. Buď jednorázově před každým použitím:

sudo setfacl -m u:$USER:rw /dev/ttyACM0

Nebo trvale:

sudo usermod -aG dialout $USER

Mobilní a desktopové klienty

Jak už jsem psal, companion až na výjimky nefunguje samostatně a musíte ho používat se zařízením, přes které ho ovládáte. Tím je typicky mobilní telefon nebo osobní počítač. Může to ale být třeba Home Assistant.

Existuje oficiální klient napsaný ve Flutteru, který se používá jak na mobilech (Google Play, App Store), tak ve webovém prohlížeči. K dispozici je ale hned několik neoficiálních klientů jak pro terminál, tak pro grafické prostředí. Odkazy na ně naleznete v seznamu vybraných zdrojů k MeshCore na Githubu. Tento článek je úvodem, takže se v něm budu věnovat jen tomu oficiálnímu.

Pokud nechcete mít companion připojený k počítači trvale, je lepší na něj nahrát firmware, který komunikuje přes Bluetooth. Můžete ho pak používat s více zařízeními (nikdy ale zároveň). Tato volba ovšem představuje omezení výběru prohlížečů. Oficiální aplikace totiž používá Web Bluetooth API, které třeba Firefox nepodporuje a na Linuxu funguje pouze v prohlížečích založených na Chromiu. A i tam to musíte povolit v chrome://flags:

Tady opět nastává menší problém se sandboxy v Linuxu, protože třeba ve Flatpaku můžete povolit Bluetooth, ale tím je míněn přístup přes BlueZ. Chromium si to očividně řeší jinou cestou, která není v sandboxu povolená. Chcete-li, aby se aplikace s companionem propojila, musíte prohlížeč pouštět přímo v systému. A i tady jsem narazil na to, že samotná aplikace se mi se zařízením nespárovala. Nastavení GNOME se vám s companionem spáruje, ale neověří PIN, což je nutná podmínka, takže companion se tváří jako spárovaný a připojený, ale s aplikací nekomunikuje.

Spárovat jsem ho musel přes bluetoothctl, který se na PIN zeptal a companion spároval tak, že pak už s aplikací komunikoval. I tam je ale háček. Pokud se pokusíte o párování přímo příkazem bluetoothctl pair [MAC adresa zařízení], spáruje se vám taktéž bez PINu a nebude fungovat. Musíte zadáním příkazu bluetoothctl vstoupit do interaktivního módu a teprve zde dát pair [MAC adresa zařízení], pak se to zeptá na PIN a správně spáruje.

Po úspěšném spárování a připojení aplikace k zařízení už je používání úplně stejné jak v mobilním, tak desktopovém klientu. V aplikaci musíte ze všeho nejdříve do nastavení, které se nachází pod ikonou ozubeného kolečka vpravo nahoře. Tam si musíte nastavit preset Czech Republic (Narrow), abyste se s ostatními v ČR slyšeli. Před tím, než začnete s někým komunikovat, je dobré si také nastavit přezdívku. Aplikace vám automaticky vygenerovala veřejný klíč (a k němu privátní pro šifrování), což je váš unikátní identifikátor, ale přezdívka je to, co se bude ostatním zobrazovat v kontaktech nebo chatu, tak je dobré mít něco zapamatovatelnějšího než přezdívku vygenerovanou podle Bluetooth MAC adresy.

Výběr presetů ve webovém klientu.

Komunikace v síti

Ač oficiální klient připomíná standardní chatovací aplikaci, komunikace funguje oproti internetovým službám dosti odlišně. Neexistuje žádný centrální registr uživatelů, ani doménových jmen či síťových adres. Jen mesh síť se zařízeními s unikátním veřejným klíčem.

Abyste dali ostatním vědět o své přítomnosti, musíte do sítě vyslat tzv. advert, což je něco jako vizitka, která obsahuje vaši přezdívku a veřejný klíč, aby ostatní věděli, od koho zprávy přijímají a komu je posílat a čím je šifrovat. Advert můžete poslat přes ikonu vysílání vpravo nahoře. Můžete poslat variantu „Zero Hop“, která jde jen do nejbližšího okolí, nebo „Flood Routed“, která se šíří sítí přes všechny repeatery. Předat kontakt ale můžete i jiným kanálem. V nabídce pod třemi tečkami vpravo nahoře je „My Contact Code“, který zobrazí QR kód, který si může naskenovat někdo jiný svým klientem a přidat si vás do kontaktů.

Stejným způsobem se dozvídáte vy o ostatních v síti. Jak budou přicházet adverty, váš companion si začne vytvářet seznam zařízení v síti. Ve výchozím stavu se všechny ukládají do kontaktů, což zvláště u zařízení s malou pamětí jako T1000-e nemusí být dobrý nápad, protože vám ji brzo zaplní. Repeatery posílají adverty v pravidelných intervalech (typicky 1-2 dny) a jelikož se váš klient s nimi seznamuje na základě advertů a ne přímé komunikace, může se paradoxně stát, že se vám v seznamu známých zařízení zobrazí dřív repeater z druhého konce republiky a než ten, s kterým přímo komunikujete.

U companionů automatické odesílání advertů nastavit nejde. Lze je poslat pouze manuálně a mělo by se jimi šetřit, protože se šíří floodem a síť zahlcují.

V meshcore existují tři typy komunikace: soukromé zprávy, veřejné kanály a místnosti. Soukromé zprávy si vyměňujete s konkrétním koncovým zařízením a jsou šifrované. Poprvé se posílají floodem, ale jak se naváže úspěšné spojení (když zpráva dorazí a nazpátek dojde ack o doručení), klienty si zapamatují poslední úspěšnou trasu a tu používají, dokud funguje. Pokud přestane, zkusí se znovu flood. A pokud klient neobdrží potvrzení o doručení, zkouší to celkově pětkrát, než přizná selhání odeslání.

Z Internetu jsme zvyklí na vysokou spolehlivost doručování, ale u komunikace přes LoRa je ztrátovost paketů mnohem vyšší. Pokud tedy není spojení kvalitní, můžou nastávat situace, kdy zpráva byla doručená, ale vám se ukazuje, že odeslání selhalo, protože potvrzení o doručení zpět nedorazilo. Stačí, když má protistrana dostatečně silné spojení pro přijímání zpráv, ale už ne pro jejich odesílání.

Ukázka soukromého chatu.

Dalším typem komunikace jsou veřejné kanály. Existuje Public, kde je diskuse tzv. bez přívlastku. A pak jsou kanály, které jsou definované hashtagem. Existují zavedené jako #praha, #brno, #chat, ale fungují na podobném principu jako hashtagy na sociálních sítích. Kdokoliv si může vytvořit vlastní hashtag a klient vám potom veřejné zprávy rozřazuje do kanálů podle klíče hashtagu, který obsahují. Speciálním kanálem je #test, kde poslouchají boti, kteří vám na zprávu odpoví trasou, kterou se k nim dostala. Slouží tak k rychlému testu, jak se vaše zprávy v síti šíří.

Aby veřejná zpráva dorazila ke každému, kdo by mohl daný kanál sledovat, šíří se vždy floodem. Veřejné kanály tak, jak v MeshCore fungují, nemají žádný centrální uzel. Nemůžete si odnikud stáhnout zprávy, které ostatní napsali, když jste zrovna nebyli připojení, nikdo vám nezaručí, že vám dojdou všechny veřejné zprávy a že vaše zprávy dorazí ke všem, kdo daný kanál poslouchají. Když dobře funguje spojení mezi Čechami a Moravou, je Public de facto celorepublikový. Když se ale spojení zhorší, začne se reálně rozpadat na dva chaty, kdy lidem z Čech chodí jen zprávy z Čech a lidem z Moravy jen zprávy z Moravy.

U veřejných kanálů také platí, že neexistuje žádné potvrzení o doručení. Kdo by ho měl posílat? Všichni, kdo zprávu obdrželi? To by každá zpráva vygenerovala velké množství odpovědí a síť by to zahltilo. Rychlým indikátorem, že se zpráva někam dostala, je, že se její status změní ze „Sent“ na „Heard repeat(s)“. Znamená to, že zprávu zachytil a přeposlal alespoň jeden repeater v okolí a ty mají zpravidla spojení s dalšími repeatery a znamená to, že se vaše zpráva sítí šíří.

Omezení veřejných kanálů se snaží řešit tzv. místnosti, což je implementace BBS nad protokolem MeshCore. Ty mají centrální bod: běží na zařízení, které má speciální firmware. Místnost může být otevřená nebo chráněná heslem. Pokud chcete načíst zprávy od ostatních, požádáte místnost o jejich zaslání. Vaše zprávy také míří k ostatním uživatelům přes místnost. Řeší problém se zachováním historie chatu, můžete si přečíst i zprávy z doby, kdy jste nebyli připojení.

Nicméně jedná už se o docela datově náročnou komunikaci, která funguje jen při opravdu kvalitním spojení, typicky maximálně na 1-2 skoky. Čím více prostředníků mezi vámi a místností je, tím roste ztrátovost paketů a klesá spolehlivost a celková použitelnost místností. Výrazně to taky zatěžuje síť a opět platí, že čím dále od místnosti jste, tím víc. Smysl tedy dávají pro místní diskuse s účastníky z nejbližšího okolí.

Jelikož zařízení pro roli companionu mají typicky velmi malý prostor pro data (T1000-e jen 100 kb), uchovávají si pouze seznam kontaktů a kanálů a zprávy ukládají jen dočasně do další synchronizace s aplikací. Veškerý obsah chatů, ať už veřejných nebo soukromých, je trvale uložený v aplikaci v mobilu nebo počítači. Pokud tedy používáte companion s více zařízeními, na každém máte jinou historii zpráv, což není úplně praktické, ale jinak to asi nejde.

Budoucnost

MeshCore se docela živelně vyvíjí a postupně se řeší problémy, na které se při provozu mesh sítě naráží. Doteď třeba kvůli úspoře místa byl každý uzel v trase, kterou si s sebou zpráva nese, reprezentovaný pouze svým bajtovým prefixem. Ty ale nabízí pouze 256 kombinací. Dřív nebo později začnou vznikat kolize, které nutně nepředstavují problém pro směrování, ale zkreslují informace o tom, kudy teče provoz. Proto se nyní zavádí možnost definovat jednotlivé uzly v trase také dvou nebo čtyřbajtovými prefixy. Ty nabízí násobky unikátních kombinací znaků, ale je to za cenu snížení maximálního počtu uložených uzlů z 64 na 32, respektive 16. Nicméně i nejnižší hodnota je pro českou síť momentálně dostatečná.

MeshCore ukazuje, že na rozdíl od Meshtasticu dokáže škálovat na celorepublikovou síť o stovkách uzlů, ale bude zajímavé sledovat, jestli zvládne posunout škálování ještě o jeden řád a jaké provozní výzvy to přinese. V tomhle nám budou pravděpodobně prošlapávat cestu jiné země. Například v Nizozemí mají v oblasti mezi Rotterdamem a Amsterodamem o velikosti poloviny Středočeského kraje okolo tisíce repeaterů a už dnes narážejí na limity. Problém představují třeba repeatery bez filtru, které v zarušených městských oblastech vysílají daleko, ale podstatně hůře slyší, takže zatímco své zprávy dostanou k velkému počtu dalších repeaterů, jejich schopnost přeposílat zprávy ostatních je omezená, což způsobuje disbalance v síti.

Je ale třeba zmínit, že český preset CZ Narrow je na budoucnost připravený lépe než evropský UK/EU Narrow, který se používá v celé Evropě včetně Nizozemí. Evropský preset je silný v odolnosti a dosahu, ale je podstatně pomalejší (vysílání trvá 4x déle) a kvůli tomu má i citelně nižší propustnost. Jak síť poroste a bude se zahušťovat, naberou na významu výhody CZ Narrow a naopak nebudou tak podstatné výhody UK/EU Narrow.

Proč to všechno?

Jsou země jako USA nebo Austrálie, kde pokrytí mobilní sítí není samozřejmostí a kde má MeshCore každodenní praktické využití. V ČR ale můžeme na drtivé většině území vytáhnout mobil z kapsy a mít přístup k Internetu o rychlosti až ve vysokých stovkách Mbps. Nabízí se tedy otázka, co motivuje lidi budovat síť, která má propustnost zhruba 3 kbps, vysokou ztrátovost paketů a latenci. Ano, je tu onen aspekt nezávislosti a připravenosti na mimořádné události, ale to by podle mě nestačilo.

Komunita MeshCore v České republice mi ze všechno nejvíc připomíná začátky CZFree.Net, kdy lidem došla trpělivost s předraženým vytáčeným připojením od Českého Telecomu a vzali zasíťování a připojení svých komunit k Internetu do svých rukou. Bylo to o vzájemné pomoci, řešení výzev a hrdosti na to, že to zvládnou sami. Obor síťové infrastruktury se od té doby výrazně profesionalizoval a projekty jako MeshCore tak dnes nabízí docela vzácnou příležitost, jak si něco vytvořit svépomocí, čelit výzvám a být hrdý na to, když se to povede.

A jestliže komunita MeshCore mi připomíná CZFree.Net, diskusní kanály mi ze všeho nejvíc připomínají začátky Internetu. Tenkrát to byla také záležitost pro malou skupinu lidí a spojení nebylo bráno za samozřejmost. Člověk spustil IRC nebo XChat a byl nadšený už jen z toho, že si může s někým na dálku psát. V dnešní době, která se vyznačuje až přílišnou propojeností, není na škodu mít podobnou formu úniku.

Pozvánka: úplně na závěr bych vás chtěl pozvat na další sraz OpenAltu, který se MeshCore bude věnovat. Bude se konat v pátek 20.2. od 18:00 ve Studentském klubu U Kachničky na FIT VUT v Brně. Přednášku o MeshCore bude mít Jindra Skácel a budete si moct prohlédnout ukázky zařízení, které se s MeshCore používají, včetně repeaterů.

5 komentářů: „Úvod do MeshCore“

  1. Pom3ranc avatar

    @sesivanyblog Hezky napsáno 👍

  2. Luboš Račanský avatar

    @sesivanyblog Díky, já ještě pokus neučinil. Víc jsem si o tom začal číst po odstřihnutí Iránu od internetu. V případě nějaký vládních represí, čistě teoreticky, je tohle nevhodné kvůli veřejné mapě repeaterů, ne? Takže si pohrávám s myšlenkou licence na VHF (to samozřejmě jde zaměřit, odkud vysíláš).

    1. Jiří Eischmann avatar

      Hlášení polohy se dá vypnout, případně se dá nahlásit úplně jiná poloha, než je skutečná, kdyby situace naznačovala, že to může být potřeba. Můžou se přenášet. Dají se skrýt (třeba do ptačí budky). Nicméně určitě by ty repeatery šlo vystopovat podle síly signálu při komunikaci s nimi. Zase ale sundat síť, která má už dnes stovky repeaterů a potenciálně může narůst do tisíců, nebude taková hračka. Další možnost je rušení. Ta zařízení mají nízký výkon, ale zase vysokou citlivost. Nejsem expert na rádio, abych dokázal posoudit, jak dobře by to šlo plošně rušit. Zase kdyby to nelicencované pásmo úplně zarušili, tak naruší i řadu dalších využití.
      V diktatuře by bylo ale obecně riziko něco takového provozovat. V Bělorusku teď rozdali několika radioamatérům tresty smrti.

    2. Petr Severa avatar

      @banterCZ @sesivanyblog nemusíš mít uvedené souřadnice repeatru

  3. Chao-c' avatar

    @sesivanyblog tak je pravda, že projekt CZFree.Net měl ambice nabídnout plnohodnotný broadband, což vedlo k transformaci jednotlivých sítí v lokální sousedské ISP. Nabídnout místo toho alternativu na úrovni chatu je v podstatě reálnější a udržitelnější.

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *