MeshCore 2. díl – Companion: první nastavení a aplikace pro Android

V minulém díle jsme si vysvětlili princip fungování MeshCore a technologie LoRa. Dnes se podíváme na to, jak zprovoznit a nastavit vlastní koncové zařízení – companion.

LilyGO TTGO T-Beam v1.2 LoRa32 GPS NEO-6M 868MHz WiFi

Jako svou první desku jsem zvolil LilyGO TTGO T-Beam v1.2 LoRa32 GPS NEO-6M 868 MHz WiFi. Není sice nejlevnější ani nejúspornější, ale je poměrně kompaktní a už v základu obsahuje GPS, Wi-Fi, držák na Li-ion článek 18650 i anténu. Všechny její parametry (udává výrobce, nemusí plně sedět v praxi) najdete zde:

Verze: REV1.2
Wi-Fi a Bluetooth
8 MB PSRAM a 4 MB Flash
3D anténa
LoRa konektor: IPEX
LoRa čip: SX1262
Pracovní napětí: 1,8–3,7 V
Odběr při příjmu / provozní proud: 10–14 mA
Proud při vysílání:
120 mA @ +20 dBm
90 mA @ +17 dBm
29 mA @ +13 dBm
Provozní frekvence: 868 MHz
Vysílací výkon: +20 dBm
Citlivost příjmu:
-139 dBm @ LoRa & 62,5 kHz & SF=12 & 146 bps
-136 dBm @ LoRa & 125 kHz & SF=12 & 293 bps
-118 dBm @ LoRa & 125 kHz & SF=6 & 9380 bps
-123 dBm @ FSK & 5 kHz & 1,2 kbps
Frekvenční odchylka: ±15 kHz
Velikost FIFO paměti: 64 bytů
Datová rychlost:
1,2–300 kbps @ FSK
0,018–37,5 kbps @ LoRa
Režimy modulace: FSK, GFSK, MSK, GMSK, LoRa™, OOK
Typ rozhraní: SPI, mikroUSB
Proud ve spánku: 0,2 µA @ SLEEP
Proud v nečinnosti: 1,5 µA @ IDLE
Provozní teplota: -40 °C až +85 °C

Deska dále obsahuje tři tlačítka: RST pro reset, prostřední tlačítko určené pravděpodobně pro použití v programu a PWR pro zapnutí a vypnutí napájení. Vypnutí se provede podržením tlačítka přibližně na 10 sekund, pro zapnutí stačí krátké stisknutí.

Navíc dorazila v pěkné plastové krabičce, kterou lze snadno využít jako jednoduché pouzdro. Stačí do ní vyvrtat otvor pro anténu a zařízení je hned o něco praktičtější i lépe chráněné.

modul v krabičce
otvor pro anténu
vložený akumulátor

Pro zprovoznění MeshCore je potřeba do zařízení nahrát vhodný firmware. Naštěstí je k dispozici oficiální webový flasher, díky kterému lze firmware jednoduše nahrát přes USB kabel přímo z prohlížeče.

Nahrání firmware

Nahrání firmwaru je u všech podporovaných desek prakticky stejné. Jejich seznam najdeme hned na úvodní stránce webového flasheru. Desku připojíme k počítači pomocí USB kabelu a následně ji vybereme ze seznamu. V našem případě jde o LilyGo T-Beam (SX1262).

Dále je potřeba vybrat roli, kterou bude naše deska plnit. Na výběr máme Companion Bluetooth, Repeater a Room Server. Tentokrát zvolíme první možnost, tedy Companion Bluetooth, protože chceme nahrát firmware pro koncové zařízení.

Dále můžeme vybrat verzi firmwaru – zde ponecháme nejnovější dostupnou. Poté je možné zvolit vymazání zařízení, což se hodí hlavně v případě, kdy chceme desku kompletně přepsat. Nakonec už stačí kliknout na Flash!

Ve vyskakovacím okně vybereme správný sériový port a kliknutím na Připojit spustíme nahrávání firmwaru.

Nejprve proběhne smazání zařízení, pokud jsme tuto možnost zvolili, a následně se nahraje samotný firmware.

Nahrání firmwaru je hotové. Nyní je vhodné provést tvrdý restart – tedy odpojit zařízení od napájení a poté jej znovu připojit.

Aplikace pro Android a první nastavení

Veškeré ovládání zařízení probíhá přes Bluetooth pomocí telefonu nebo tabletu. Já používám Android, takže se v tomto návodu podíváme právě na něj.

Ovládací aplikace je ke stažení v oficiálním Obchodu Play.

Po instalaci a spuštění se zobrazí úvodní obrazovka aplikace. Po poslední aktualizaci je aplikace dostupná i v češtině, takže je přehledná a dobře použitelná i pro ty, kteří neumí anglicky.

Pokračujeme tlačítkem Připojit. Aplikace spustí skenování Bluetooth a zařízení by se mělo objevit v seznamu dostupných zařízení. Pokud se nezobrazí, je potřeba zkusit vyhledání a spárování přímo přes nastavení Bluetooth v telefonu.

V případě problémů může pomoct Bluetooth vypnout a znovu zapnout, případně restartovat telefon. Mně osobně se zařízení podařilo najít až na několikátý pokus. Pokud nepomůže ani to, je vhodné zkusit firmware nahrát znovu.

Ze seznamu vybereme nalezené zařízení. Po zobrazení dotazu na párování zadáme výchozí PIN 123456.

Dostaneme se na výchozí obrazovku aplikace. Vlevo nahoře je ukazatel stavu baterie, pokud je v zařízení vložená, a vedle něj výchozí název zařízení – v mém případě B79C93CC.

Vpravo nahoře se nachází ikona pro odeslání Advertu. Jde o jakousi vizitku, pomocí které okolním zařízením odešleme základní informace o sobě. Vedle ní najdeme ještě nastavení a hlavní menu aplikace.

Ve spodní části obrazovky jsou pak hlavní sekce aplikace: Seznam kontaktů, Seznam kanálů a Mapa nalezených i ručně přidaných kontaktů a uzlů.

Začneme nastavením. V horní části najdeme sekci Veřejné informace. Zde můžeme nastavit název zařízení – právě pod tímto názvem nás uvidí okolní uzly. Pod ním je zobrazen náš veřejný klíč, který se používá k šifrování zpráv.

Další položkou je poloha. Kliknutím na ikonu mapy se otevře mapa, ve které můžeme vyhledat a označit svou polohu. U companionu to není vyloženě nutné, ale u repeateru bych nastavení polohy rozhodně doporučil.

Níže je volba Sdílet polohu v advertu. Pokud ji zaškrtneme, bude se poloha veřejně odesílat spolu s revertem/advert informací ostatním zařízením.

Další důležitou částí je Nastavení rádia. Toto nastavení musí být stejné u všech zařízení, která spolu mají komunikovat. Kliknutím na Vybrat preset se otevře nabídka států, kde stačí vyhledat Czech Republic a nastavení se automaticky načte.

Protože se ale MeshCore stále vyvíjí, je dobré sledovat oficiální českou stránku meshcore.cz, kde by měly být vždy aktuální informace o doporučeném nastavení. Pokud by se v budoucnu nedařilo nikoho kontaktovat, i když dříve komunikace fungovala, může být jednou z příčin právě změna nastavení rádia.

Možnost Zapnout režim opakování necháme vypnutou. U companion zařízení se opakování zpráv nedoporučuje, protože tuto roli mají plnit hlavně samostatné repeatery.

V sekci Ostatní nastavení je vhodné změnit také Nastavení Bluetooth. Najdeme zde jedinou položku – Typ Bluetooth PIN. Tu nastavíme na Vlastní a zadáme vlastní PIN pro připojení přes Bluetooth.

V sekci Nastavení kontaktů můžeme určit, jaké kontakty se budou automaticky přidávat do seznamu. Já mám nastavenou možnost Automaticky přidat vše. Protože se ale do zařízení vejde maximálně 160 kontaktů, mám zároveň zvolenou i možnost Přepsat nejstarší, aby se při zaplnění seznamu mohly staré záznamy nahrazovat novými.

Ostatní položky v nastavení nejsou pro základní zprovoznění tak důležité, proto se jimi zde nebudu podrobně zabývat. V případě zájmu si je můžete projít sami – většina voleb je v aplikaci přehledně a srozumitelně popsaná.

Po dokončení nastavení je nutné změny uložit kliknutím na fajfku vpravo nahoře! Následně se zobrazí potvrzení o úspěšném uložení a okno nastavení se zavře.

Nyní se podíváme, jak může aplikace vypadat po nějaké době používání. Seznam kontaktů se může poměrně rychle zaplnit, proto se hodí vyhledávání podle názvu, případně použití filtru. Samozřejmě lze seznamem i jen běžně listovat.

Kliknutím na tři tečky u konkrétního kontaktu zobrazíme jeho možnosti. Zajímavá je hlavně položka Detaily, kde najdeme podrobnější informace o daném kontaktu. Pomocí volby Ping můžeme zkusit, zda máme s kontaktem přímé spojení. Odstranit kontakt slouží ke smazání kontaktu ze seznamu. Užitečná je také položka Oblíbené – díky ní si můžeme později vyfiltrovat jen vybrané kontakty, což se při větším počtu záznamů opravdu hodí.

Kanály jsou v podstatě chatovací místnosti. Ve výchozím nastavení je dostupný kanál Public, do kterého lze psát obecné zprávy, pozdravy a podobně. Ty jsou určené pro všechny kontakty v doslechu.

Jak už název napovídá, jedná se o veřejný kanál, takže k němu mají přístup všichni. Další kanály si můžete vytvořit nebo přidat sami, limit je celkem 8 kanálů. Nový kanál přidáte kliknutím na tři tečky vpravo nahoře a výběrem možnosti Přidat kanál. Popisky jsou v aplikaci opět přehledné, takže se tím zde nebudu hlouběji zabývat.

Velkou nevýhodou kanálů je, že zprávy přijaté během vaší nepřítomnosti se nikam trvale neukládají a jednoduše je minete. Zobrazí se pouze to, co dorazilo v době, kdy byl companion zapnutý. Pokud není připojený telefon, nové zprávy se stáhnou až při jeho opětovném připojení.

Ještě zmíním jednu praktickou funkci. Mám vytvořený kanál Test, který používám pro zkoušení dosahu. MeshCore má totiž užitečnou funkci potvrzování a trasování zpráv.

Pokud odešlete jakoukoli zprávu do kanálu, zobrazí se u ní její stav. Na obrázku níže je u první zprávy vidět stav Odesláno – zpráva byla odeslána, ale protože nebyl nikdo v dosahu, nikdo ji nezachytil ani neposlal dál.

U druhé zprávy je vidět stav Zachyceno jedno přeposlání. To znamená, že některé zařízení zprávu zachytilo a přeposlalo dál.

Po delším podržení dané zprávy se zobrazí nabídka Akce se zprávou, kde je možnost Zachycená přeposlání. V ní se zobrazí zařízení, která zprávu zachytila a předala dál.

To se hodí hlavně při testování dosahu – rychle tak zjistíte, jestli máte vůbec někoho v dosahu, nebo jestli jen „píšete do prázdna“.

Poslední položkou je Mapa. Na ní se zobrazují všechny uzly ze seznamu kontaktů, které mají veřejně zadanou polohu. To se hodí například pro představu, jak daleko se dokážete dovolat a jaké uzly jsou ve vašem okolí dostupné.

Kliknutím na vybraný uzel se otevře detail kontaktu s jeho veřejnými informacemi.

To by mělo být ze základních funkcí vše. Nebojte se ale prozkoumat i další možnosti – většina funkcí je v aplikaci přehledně popsaná a u závažnějších akcí se zobrazí upozornění.

Přesto bych nedoporučoval klikat úplně bezhlavě na všechno. K některým položkám se ještě vrátíme v dalších dílech, až budeme stavět a nastavovat repeater.

Příště se podíváme na companion all-in-one v podobě T-Decku, který dokáže fungovat samostatně i bez připojeného telefonu.

Tuto desku zakoupíte na Laskakit.cz přímý odkaz je ZDE.

Seznam dílů:

  1. díl – Vlastní komunikační síť přes LoRa
  2. díl – Companion: první nastavení a aplikace pro Android (právě jste dočetli)
  3. díl – T-Deck: samostatný companion bez telefonu
  4. díl – Repeater: první nastavení
  5. díl – Repeater: stavba solárního opakovače
  6. díl – Room Server: první nastavení a funkce
  7. díl – T-Deck: mapy a externí anténa
  8. díl – Bootloader OTAFix a OTA aktualizace repeateru s nRF52840

5 komentářů u „MeshCore 2. díl – Companion: první nastavení a aplikace pro Android“

  1. Zdravím, pěkný příspěvek. Začínám a naštěstí mám úplně stejné zařízení jako Vy a nastavilo se perfektně. Mám dotaz (prosbu): Jde nějak k nastavení polohy využít vestavěný modul GPS, aby se nemusela poloha zadávat na mapě? Děkuji za radu.

    1. Ahoj, díky. Nastavení polohy z GPS by mělo být v Nastavení – Nastavení polohy – Povoleno. A pak nejspíš jen v Nastavení – Sdílet polohu v advertu. Pak by se měla aktuální poloha vysílat s advertem. Snad jsem pomohl 😉

  2. Ahoj, jiš řadu dní se snažím propojit xiao esp32 vio1262 s měničem fve, kde jsem vytvořil program k vyzvedávání informace o stavu, potřebuju tyto informace v podobě malého bloku poslat přez síť meshcore, je na to ve firmware companion pamatováno? Nebo musím programově upravit fw. Jinak řečeno, jak probíhá přenos informace z čidla napojeného na xiao esp32. Diky Vodař

Napsat komentář

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