McApp je webová aplikácia určená na pohodlnú prácu s MeshCom uzlom. Beží na Raspberry Pi a poskytuje rozhranie dostupné z moderného webového prehliadača. Raspberry Pi pritom funguje ako ľahký server a sprostredkovateľ komunikácie medzi MeshCom zariadením a webovým klientom. McApp podporuje pripojenie uzla cez Bluetooth Low Energy (BLE) aj cez UDP.
V článku sa dočítate
Čo je McApp a na čo slúži
Zmyslom McApp nie je nahradiť MeshCom, ale vytvoriť praktické používateľské rozhranie pre jeho každodennú prevádzku. V prehliadači sú dostupné funkcie pre chat, mapu prijatých pozičných reportov, MHeard a konfiguráciu. Rozhranie je navrhnuté ako responzívna webová aplikácia, takže ho možno používať na počítači, tablete alebo telefóne. Podporované je aj pridanie aplikácie na domovskú obrazovku ako PWA.
Prečo Raspberry Pi?
Raspberry Pi Zero 2 W je pre túto úlohu vhodný najmä svojou nízkou hardvérovou náročnosťou. Projekt uvádza podporu pre Raspberry Pi Zero 2 W a ďalšie zariadenia s ARM Cortex-A53. Požadovaný systém je Raspberry Pi OS Lite 64-bit založený na Debian Bookworm alebo Trixie, pričom dokumentácia uvádza 512 MB RAM a SD kartu s kapacitou najmenej 8 GB. Desktopové prostredie na Pi Zero nie je potrebné.
Pi môže byť umiestnené priamo pri MeshCom uzle. Používateľ potom pristupuje k McApp cez sieť z počítača alebo mobilného zariadenia. Tým vzniká oddelenie medzi rádiovou časťou a používateľským rozhraním bez potreby pripájať počítač priamo k MeshCom zariadeniu.
Jak je McApp technicky postavený
Frontend McApp je webová aplikace založená na TypeScriptu a Vue.js. Backend používá Python a FastAPI. Pro komunikaci mezi prohlížečem a backendem se používají REST API a SSE (Server-Sent Events). Před backendem je lighttpd, který poskytuje webové rozhraní a zároveň zprostředkovává požadavky na FastAPI. Nastavení aplikace se ukládají do databáze SQLite.
Při BLE komunikaci se používá samostatná BLE služba, která komunikuje s MeshCom uzlem přes Bluetooth GATT. Při UDP komunikaci může McApp pracovat s MeshCom uzlem přes UDP port 1799. Projekt také uvádí možnost připojit více uzlů přes UDP.
Chat – hlavní funkce McApp
Chatové rozhraní je koncipováno podobně jako moderní komunikační aplikace. Podporuje osobní i skupinové zprávy, filtrování podle volací značky nebo skupiny a potvrzení doručení. Zprávy se nejprve ukládají do odesílací fronty, aby se MeshCom uzel nezahltit. Aktuálně nastavené zpoždění mezi odesílanými zprávami je 12 sekund, přičemž dokumentace upozorňuje, že ani tento interval nemusí být vždy dostatečný pro spolehlivou RF prevádzku.
Mapa MeshCom sítě
Mapa zobrazuje přijaté POS reporty MeshCom uzlů. Jednotlivé stanice lze vyhledávat a po výběru uzlu zobrazit další informace. McApp podporuje také satelitní zobrazení a tmavý režim. Při uzlech s telemetrií může zobrazovat například teplotu, vlhkost a atmosférický tlak.

MHeard – užitečný nástroj pro rádioamatéra
Pro technicky orientovaného rádioamatéra je zajímavá funkce MHeard. McApp zobrazuje slyšené stanice spolu s údaji RSSI a SNR a dokáže zobrazit i relay path, tedy cestu, kterou se stanice dostala do sledovaného uzlu. Po výběru stanice lze její trasu zvýraznit na mapě. To umožňuje sledovat nejen aktivitu sítě, ale i kvalitu jednotlivých rádiových spojení a použité relé.

BLE versus UDP
BLE je zajímavé především při lokálním spojení Raspberry Pi s MeshCom uzlem. Dokumentace mu dává přednost i proto, že umožňuje získat více informací včetně RSSI a SNR. McApp při BLE používá keep-alive a při ztrátě spojení se pokouší komunikaci automaticky obnovit. UDP je vhodné tam, kde je MeshCom uzel dostupný přes IP síť.
Aktualizace a vzdálený přístup
Instalace, aktualizace a oprava McApp jsou řešeny pomocí bootstrap skriptu. Projekt podporuje také aktualizaci přímo z webového rozhraní. OTA mechanismus používá tři nasazovací sloty, kontrolu funkčnosti nové verze a automatický návrat na předchozí verzi při selhání.
Pro vzdálený přístup lze volitelně nastavit HTTPS pomocí Caddy a certifikátů Let’s Encrypt. Dokumentace uvádí podporu služeb DuckDNS, Cloudflare, deSEC.io a Cloudflare Tunnel. Vzdálený přístup tedy není nutnou součástí lokální instalace, ale je dostupnou volitelnou funkcí.
Bezpečnost a validace zpráv
McApp kontroluje přijímané údaje z hlediska UTF-8 a APRS kompatibility. Znaky, které je možné bezpečně odstranit, filtruje. Zprávy obsahující problematická binární data jsou odmítnuty. Tento mechanismus má zabránit tomu, aby poškozená data z MeshCom uzlu způsobovala problémy v uživatelském rozhraní nebo při dalším zpracování.
Pro koho má McApp smysl?

McApp dává největší smysl rádioamatérovi, který již používá MeshCom a chce mít pohodlné webové rozhraní dostupné z více zařízení. Zajímavý je zejména pro provoz s Raspberry Pi, sledování sítě pomocí MHeard a mapy, vyhodnocování RSSI a SNR nebo pro experimentování s více MeshCom uzly přes UDP. Projekt přitom zůstává nadstavbou nad existujícím MeshCom systémem, nikoli jeho náhradou.

Vilo, asi by to chtělo nejdříve články o Meshcomu, až poté o McApp. Podle mapy Meshcom https://mcmap.oevsv.at/ máme v čase keď to píšem v OM 0,00 Meshcom uzlov, teda rovnako ako v HA. Sieť je rozšírená hlavne v OE, DL, I v pásme 433MHz ako HAM sieť.
U nás „frčí“ síť s podobným názvem, ale s úplně jinými parametry Meshcore, ve „volném“ pásmu 868MHz s propojením téměř celého Slovenska. https://mesh.om3kff.sk/
Zařízení pro Meshcom u nás amatéři mají, hlavně jako Lora APRS, nebo z pokusů s Meshtastic sítí v 433M, takže je šance, pokud bude osvěta, že se některá zařízení „přeprogramují“ na Meshcom 😉