McApp jest aplikacją internetową zaprojektowaną do wygodnej pracy z węzłem MeshCom. Działa na Raspberry Pi i oferuje interfejs dostępny z nowoczesnej przeglądarki internetowej. Raspberry Pi działa jako lekki serwer i pośrednik komunikacji między urządzeniem MeshCom a klientem internetowym. McApp obsługuje połączenie węzła przez Bluetooth Low Energy (BLE) oraz przez UDP.
W artykule dowiesz się
Czym jest McApp i do czego służy
Celem McApp nie jest zastąpienie MeshCom, ale stworzenie praktycznego interfejsu użytkownika do codziennej obsługi. W przeglądarce dostępne są funkcje czatu, mapy odebranych raportów pozycyjnych, MHeard i konfiguracji. Interfejs został zaprojektowany jako responsywna aplikacja internetowa, więc można go używać na komputerze, tablecie lub telefonie. Obsługiwane jest także dodanie aplikacji do ekranu głównego jako PWA.
Dlaczego Raspberry Pi?
Raspberry Pi Zero 2 W jest szczególnie odpowiedni do tego zadania ze względu na swoje niskie wymagania sprzętowe. Projekt podaje wsparcie dla Raspberry Pi Zero 2 W oraz innych urządzeń z ARM Cortex-A53. Wymagany system to Raspberry Pi OS Lite 64-bit oparty na Debian Bookworm lub Trixie, przy czym dokumentacja wskazuje 512 MB RAM i kartę SD o pojemności co najmniej 8 GB. Środowisko desktopowe na Pi Zero nie jest wymagane.
Pi może być umieszczone bezpośrednio przy węźle MeshCom. Użytkownik uzyskuje dostęp do McApp przez sieć z komputera lub urządzenia mobilnego. Tworzy to separację między częścią radiową a interfejsem użytkownika bez potrzeby podłączania komputera bezpośrednio do urządzenia MeshCom.
Jak jest McApp technicznie zbudowany
Frontend McApp je webová aplikácia založená na TypeScripte a Vue.js. Backend používa Python a FastAPI. Na komunikáciu medzi prehliadačom a backendom sa používajú REST API a SSE (Server-Sent Events). Pred backendom je lighttpd, ktorý poskytuje webové rozhranie a zároveň sprostredkuje požiadavky na FastAPI. Nastavenia aplikácie sa ukladajú do databázy SQLite.
Podczas komunikacji BLE używana jest osobna usługa BLE, która komunikuje się z węzłem MeshCom przez Bluetooth GATT. W komunikacji UDP McApp może pracować z węzłem MeshCom przez port UDP 1799. Projekt również wskazuje możliwość podłączenia wielu węzłów przez UDP.
Czat – główna funkcja McApp
Chatové rozhranie je koncipované podobne ako moderné komunikačné aplikácie. Podporuje osobné aj skupinové správy, filtrovanie podľa volacej značky alebo skupiny a potvrdenie doručenia. Správy sa najskôr ukladajú do odosielacej fronty, aby sa MeshCom uzol nezahltil. Aktuálne nastavené oneskorenie medzi odosielanými správami je 12 sekúnd, pričom dokumentácia upozorňuje, že ani tento interval nemusí byť vždy dostatočný pre spoľahlivú RF prevádzku.
Mapa sieci MeshCom
Mapa wyświetla odebrane raporty POS węzłów MeshCom. Poszczególne stacje można wyszukiwać, a po wybraniu węzła wyświetlić dodatkowe informacje. McApp obsługuje również widok satelitarny i tryb ciemny. W przypadku węzłów z telemetrią może wyświetlać na przykład temperaturę, wilgotność i ciśnienie atmosferyczne.

MHeard – przydatne narzędzie dla radioamatora
Dla technicznie zorientowanego radioamatora interesującą funkcją jest MHeard. McApp wyświetla usłyszane stacje wraz z danymi RSSI i SNR oraz może pokazać ścieżkę relay, czyli drogę, którą stacja dotarła do obserwowanego węzła. Po wybraniu stacji można jej trasę podświetlić na mapie. To pozwala śledzić nie tylko aktywność sieci, ale także jakość poszczególnych połączeń radiowych i używane przekaźniki.

BLE kontra UDP
BLE jest interesujące szczególnie przy lokalnym połączeniu Raspberry Pi z węzłem MeshCom. Dokumentacja preferuje to rozwiązanie, ponieważ pozwala uzyskać więcej informacji, w tym RSSI i SNR. McApp używa keep-alive w przypadku BLE, a w przypadku utraty połączenia próbuje automatycznie przywrócić komunikację. UDP jest odpowiednie tam, gdzie węzeł MeshCom jest dostępny przez sieć IP.
Aktualizacje i zdalny dostęp
Instalacja, aktualizacja i naprawa McApp są realizowane za pomocą skryptu bootstrap. Projekt wspiera także aktualizację bezpośrednio z interfejsu webowego. Mechanizm OTA wykorzystuje trzy sloty wdrożeniowe, kontrolę funkcjonalności nowej wersji oraz automatyczny powrót do poprzedniej wersji w przypadku niepowodzenia.
Zdaleka dostęp można opcjonalnie skonfigurować HTTPS za pomocą Caddy i certyfikatów Let's Encrypt. Dokumentacja wskazuje na wsparcie dla usług DuckDNS, Cloudflare, deSEC.io i Cloudflare Tunnel. Zdalny dostęp nie jest więc niezbędną częścią lokalnej instalacji, ale jest dostępną opcjonalną funkcją.
Bezpieczeństwo i walidacja wiadomości
McApp sprawdza przyjmowane dane pod kątem zgodności z UTF-8 i APRS. Filtruje znaki, które można bezpiecznie usunąć. Wiadomości zawierające problematyczne dane binarne są odrzucane. Ten mechanizm ma zapobiegać temu, aby uszkodzone dane z węzła MeshCom powodowały problemy w interfejsie użytkownika lub podczas dalszego przetwarzania.
Dla kogo McApp ma sens?

McApp ma największy sens dla radioamatora, który już używa MeshCom i chce mieć wygodny interfejs internetowy dostępny z wielu urządzeń. Jest szczególnie interesujący dla operacji z Raspberry Pi, monitorowania sieci za pomocą MHeard i map, oceny RSSI i SNR lub eksperymentowania z wieloma węzłami MeshCom przez UDP. Projekt pozostaje rozszerzeniem istniejącego systemu MeshCom, a nie jego zamiennikiem.

Vilo, chyba by najpierw artykuły o Meshcom, a potem o McApp. Zgodnie z mapą 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 nas „działa” sieć o podobnej nazwie, ale z zupełnie innymi parametrami Meshcore, w „wolnym” paśmie 868MHz z połączeniem prawie całej Słowacji. https://mesh.om3kff.sk/
Urządzenia dla Meshcom, które mamy, amatorzy mają, głównie jako Lora APRS lub z prób z siecią Meshtastic w 433M, więc jest szansa, że jeśli będzie edukacja, niektóre urządzenia „przerobią się” na Meshcom 😉