TLDR: Na prepojenie Bitchatu a MeshCore použite tento bridge firmware, môžete flashnúť binárku priamo z releasu.
Mesh sieť je decentralizovaný komunikačný systém, kde si zariadenia navzájom preposielajú správy. Na rozdiel od tradičných sietí závislých od centrálnej infraštruktúry ako mobilné siete či internetové servery, mesh siete fungujú peer-to-peer. Ak je jedna cesta zablokovaná, správy si nájdu inú. Ideálne žiadny jediný bod zlyhania.
Kľúčovou vlastnosťou mesh sietí je, že môžu byť decentralizované – nepotrebujete koordinátora s plánom, ideálne stačí umiestniť opakovač na kopec a ten podporí sieť bez potreby konfigurovať ostatné uzly. Jednoducho sa objaví a pomáha sieti.
Prečo je MeshCore dôležitý
MeshCore je open-source mesh networking stack postavený pre LoRa rádiá. LoRa (Long Range) je rádiová technológia, ktorá vymieňa šírku pásma za dosah – nebudete streamovať video, ale môžete posielať textové správy na kilometre pomocou maličkých, nízkoenergetických zariadení.
Čo robí MeshCore výnimočným, je jeho komunita. Obzvlášť na Slovensku je MeshCore populárny a funguje – viac sa dozviete na stránke MeshCore na Slovensku. Ľudia po celom svete stavajú opakovače – malé zariadenia často napájané solárnymi panelmi a batériami, umiestnené na strechách, kopcoch a vežiach. Tieto uzly automaticky preposielajú správy a rozširujú dosah siete. V niektorých regiónoch nadšenci vybudovali pokrytie celých miest či dokonca významných častí krajiny. Všetko bez mobilnej infraštruktúry, bez internetu, bez potreby povolenia od kohokoľvek – hoci LoRa používa legálne pásma a projekt dodržiava požiadavky na duty cycle, aby sa vyhol nelegálnemu využívaniu rádiového spektra.
Hardware je lacný a ľahko dostupný. Základný uzol stojí okolo 20-30 dolárov. Flashnite firmware, nakonfigurujte ho a ste súčasťou meshu. Môžete si dokonca kúpiť o niečo drahšie hotové prenosné uzly s puzdrom, anténou a batériou, ktoré si strčíte do vrecka a používate z telefónu. Môj favorit z hľadiska pomeru cena/výkon je Wio Tracker L1 Pro. Ak chcete uzol veľkosti karty, ktorý sa možno zmestí do peňaženky, pozrite si SenseCAP Card Tracker T1000-E.
Poznámka: Oficiálne MeshCore aplikácie (Android, iOS, web) nie sú open-source, hoci existujú free a open source alternatívy, ktoré fungujú. Companion firmware je však plne FOSS.
Prichádza Bitchat
Bitchat je odlišný prístup k rovnakému problému. Je to mobilná aplikácia, ktorá vytvára ad-hoc Bluetooth mesh siete medzi telefónmi. Nepotrebujete špeciálny hardware – len váš smartphone, ktorý už aj tak nosíte všade so sebou.
Otvorte Bitchat a váš telefón začne komunikovať s ostatnými Bitchat používateľmi v okolí cez Bluetooth. Správy skáču z telefónu na telefón. Na proteste, festivale alebo v budove bez mobilného signálu môžu ľudia v dosahu Bluetooth (zhruba 10-100 metrov podľa podmienok) komunikovať.
Krása Bitchatu je v nulovej bariére vstupu. Žiadny hardware na kúpu, žiadna konfigurácia. Nainštalujte aplikáciu, vyberte si meno, začnite chatovať.
Bridge
Teraz si predstavte kombináciu týchto dvoch systémov.
Bitchat funguje skvele na lokálnu komunikáciu – v budove, cez námestie, v dave. Ale dosah Bluetooth je obmedzený. MeshCore môže pokryť kilometre, dokonca desiatky kilometrov s dobrým umiestnením opakovačov, ale vyžaduje dedikovaný hardware.
Most Bitchat-MeshCore prepája tieto svety. MeshCore uzol s bridge firmwarom sa telefónom v okolí javí ako Bitchat peer. Správy odoslané cez Bitchat sa preposielajú do MeshCore siete a naopak. Zrazu je tá lokálna Bluetooth bublina prepojená s celomestskou alebo celoštátnou LoRa mesh sieťou.
Správy sa preposielajú a používatelia oboch systémov vidia komunikáciu vo svojej aplikácii. MeshCore používatelia nepotrebujú vedieť, že existujú Bitchat používatelia a naopak – každý používa aplikáciu a sieť, ktorú preferuje.
Keď zlyhá infraštruktúra
Sú mnohé scenáre, kedy na tom záleží:
Prírodné katastrofy. Zemetrasenie, hurikán, povodeň. Mobilné veže sú dole. Internet nefunguje. Elektrická sieť zlyhala. Ľudia potrebujú vedieť: Kde je pomoc? Ktoré cesty sú prejazdné? Kde sa distribuujú zásoby? S Bitchatom na telefónoch a niekoľkými MeshCore bridge uzlami rozmiestnenými v okolí môžu preživší zdieľať kritické informácie naprieč postihnutou oblasťou.
Politické nepokoje. Videli sme to opakovane – vlády čeliace protestom vypínajú internet. Blokujú sociálne siete, vypínajú mobilné dáta, niekedy úplne vypnú mobilné a telefónne služby. Stalo sa to v Iráne, Mjanmarsku, Bielorusku a desiatkach ďalších miest.
V týchto momentoch sú informácie prežitím. Kde sa sústreďuje polícia? Ktoré ulice sú zablokované? Kde sa ľudia zhromažďujú? Kde je bezpečno? Satelitná TV vám možno povie, čo sa deje na národnej úrovni, ale potrebujete lokálne informácie v reálnom čase, aby ste sa bezpečne pohybovali.
Ak má čo i len hŕstka ľudí v meste MeshCore uzly s bridge firmwarom, rôzne štvrte/námestia môžu zostať prepojené a koordinovať sa. Niekto tri kilometre ďaleko vás môže varovať pred tým, čo sa k vám blíži. Všetko prostredníctvom kombinácie telefónov, ktoré už ľudia majú, a distribuovanej siete, ktorú žiadna autorita nekontroluje ani nevie ľahko vypnúť.
Počas prebiehajúcej revolúcie v Iráne by tento druh odolnej komunikačnej infraštruktúry mohol znamenať rozdiel medzi efektívnou koordináciou a nebezpečnou izoláciou. Keď nemôžete veriť, že vaše správy prechádzajú, keď neviete, čo sa deje o dva bloky ďalej, hnutia sa fragmentujú a ľudia prichádzajú k úrazom.
Technický prehľad
Podporovaný hardware
Bridge firmware beží na ESP32-based LoRa doskách. Aktuálny release (v0.1-bitchat) v čase písania tohto blogu by mal podporovať:
- Heltec LoRa32 V3
- Heltec LoRa32 V2
- Heltec Wireless Stick Lite V3
- Heltec CT62
- Heltec Wireless Tracker V2
- LilyGo T-LoRa V2.1-1.6
- LilyGo T-Deck
- LilyGo T3S3
- Station G2
- Seeed Xiao C3
- Seeed Xiao S3 WIO
- Ebyte EoRa-S3
Tieto zariadenia stoja medzi 15-40 dolármi podľa modelu a miesta nákupu.
Testoval som len na Heltec Wireless Stick Lite V3. Patche vítané. NRF52-based zariadenia zatiaľ nie sú podporované, ale pracuje sa na tom.
Flashovanie a konfigurácia
- Stiahnite príslušný firmware pre vašu dosku zo stránky releases
- Flashnite ho pomocou esptool alebo web flashera
- Pripojte sa k MeshCore Web App cez USB serial (funguje v prehliadačoch Chrome/Edge)
- Nakonfigurujte váš radio preset – musí sa zhodovať s tým, čo používajú ostatní MeshCore používatelia vo vašom regióne (na Slovensku EU Narrow, pozor, v čechách používajú iné nastavenia).
- Nastavte meno uzla a ďalšie preferencie
Po nakonfigurovaní stačí zariadenie zapnúť. Na telefóne otvorte Bitchat a použite predvolený kanál #mesh. Správy, ktoré tam pošlete, sa prepošlú do MeshCore a správy z MeshCore sa objavia vo vašom Bitchate.
V MeshCore preposielajú správy do hashtag kanálu #mesh, musíte ho pridať do vášho uzla, ak chcete používať meshcore aplikáciu (je to možné!).
Aktuálne obmedzenia
Toto je early release. Niekoľko obmedzení, o ktorých treba vedieť:
- Žiadne súkromné správy – prepojený je len verejný kanál #mesh
- Jeden kanál – všetka prepojená komunikácia ide cez #mesh
- Žiadne end-to-end šifrovanie – kľúč kanála je verejný, berte to ako verejné námestie
- Zoznam používateľov je len lokálny – vidíte Bitchat používateľov vo vašom bezprostrednom Bluetooth dosahu, nie cez celý mesh (ale to dáva zmysel, keďže MeshCore užívateľom aj tak nemôžete poslať DM)
- Len text – obrázky, súbory a hlasové správy nie sú podporované
- Delenie správ – dlhšie správy sa delia kvôli limitom veľkosti LoRa paketov
Bridge bol testovaný na iOS aj Android verziách Bitchatu a bridge bežiacom na hardwari Heltec Wireless Stick Lite V3 (ten môže bežať autonómne, netreba ho pripájať k telefónu – je to plnohodnotný Bitchat aj MeshCore uzol zároveň).
Zapojte sa
MeshCore firmware je open source. Bridge firmware je dostupný na GitHube vrátane zdrojového kódu. Ak chcete pomôcť budovať odolnú komunikačnú infraštruktúru pre vašu komunitu, začnite tým, že si zaobstaráte kompatibilnú dosku, flashnete firmware a pridáte sa do meshu.
V bežných časoch je to zábavný hobby projekt a zaujímavá technológia na experimentovanie. V mimoriadnych časoch to môže byť oveľa viac.