Tag Archive : meshcore

/ meshcore

Łączność i systemy off-grid oznaczają pełną niezależność od publicznych sieci energetycznych, działając jako samowystarczalne instalacje fotowoltaiczne, które produkują, magazynują (w akumulatorach) i zużywają energię wyłącznie na własne potrzeby. Rozwiązanie to zapewnia brak opłat za przesył i uniezależnienie od przerw w dostawach prądu.

MeshCore

MeshCore to nowy otwarty bezpieczny, wieloplatformowy, zdecentralizowany system komunikacji wykorzystujący radiowy standard LoRa (Long Range Radio), działający bez dostępu do Internetu, sieci komórkowej, a nawet sieci energetycznej. System opiera się na sieci typu mesh (z ang. siatka), gdzie wiadomości tekstowe są przekazywane przez Companion (wiadomości bezpośrednie), Repeater i Room-Peater (dla poszerzania obszaru i łączenia użytkowników, którzy np. ze sobą nie mogą mieć bezpośredniej łączności ze względu na odległość czy zakłócenia). Komunikacja odbywa się w sposób szyfrowany (E2EE – End-to-End Encryption – szyfrowanie od końca do końca) za pomocą kluczy publicznych i prywatnych. Znaczna liczba urządzeń uczestniczących w sieci to nie tylko powód do radości. To także wyzwania oraz trudniejsze warunki pracy całej sieci. W przypadku Meshtastic wiadomości krążą po całej sieci szukając adresata. Popularność Meshtastica m.in. w Wielkiej Brytanii uwypukliła tę wadę. Dlatego też powstał MeshCore, w którym wyeliminowano wiele wad pierwowzoru, część procesów zoptymalizowano, inne działają zupełnie inaczej, a z niektórych funkcjonalności zrezygnowano. W przeciwieństwie do Meshtastic, który kreowany był na rozbudowaną i uniwersalną platformę komunikacyjną w MeshCore skupiono się na skuteczności, stabilności oraz bezpieczeństwie w odbieraniu i dostarczaniu wiadomości tekstowych. Bardzo istotną informacją jest to, że urządzenia wykorzystywane do tej pory w sieci Meshtastic są w większości przypadków zgodne z siecią MeshCore. Należy mieć na uwadze, że obie sieci nie są ze sobą kompatybilne, a zmiana rodzaju sieci równa się ze zmianą oprogramowania i konfiguracji urządzeń.

Jak działa MeshCore?

MeshCore opiera się na module radiowym LoRa, który pozwala na przesyłanie wiadomości na długie dystanse przy niskim zużyciu energii. Komunikacja odbywa się na określonych częstotliwościach radiowych, które są zgodne z lokalnymi przepisami. W Polsce najczęściej używa się częstotliwości z pasma ISM (Industrial, Scientific, Medical) 868 MHz, które jest dostępne bez licencji. MeshCore może działać w formie aplikacji, którą można zainstalować na smartfonie z systemem AndroidiOS lub na komputerze w przeglądarce internetowej app.meshcore.nz od niedawna także na Windows i MacOS. Aplikacja może łączyć się z urządzeniem przez Bluetooth lub USB (Wi-Fi jest w fazie eksperymentalnej) co pozwala użytkownikowi na odbieranie i przesyłanie wiadomości tekstowych czy zarządzanie podłączonym urządzeniem. Urządzenie może stanowić zlepek kilku modułów lub jak w przypadku wcześniej wspomnianego Meshtastica można wykorzystać kompletne urządzenie w postaci np. LilyGo T-Deck lub T-Lora Pager. Korzystanie z MeshCore nie wymaga opłat za dostęp czy rejestrację. Wystarczy posiadać odpowiednie urządzenie i wgrać oprogramowanie oraz pamiętać by pracowało na odpowiedniej częstotliwości (w Polsce to 868 lub 433 MHz). Do sieci może dołączyć każdy, warto zastosować się do ustawień już używanych lokalnie. MeshCore używa routingu hybrydowego. Najpierw wysyła wiadomość wykorzystując wszystkie zasoby sieci mesh by odnaleźć adresata wiadomości po jej dostarczeniu otrzymuje potwierdzenie wraz ze ścieżką przez jakie węzły została ona skutecznie dostarczona. Kolejnym razem korzysta z zapamiętanej ścieżki oszczędzając zasoby sieci. MeshCore, podobnie jak inne rozwiązania LoRa, osiąga imponujące wyniki w sprzyjających warunkach, jednak realny zasięg zależy od środowiska i konfiguracji:
• teren otwarty (pola, wyżyny) – do 20-30 km przy ustawieniach SF11/BW125,
• teren górski – zasięg spada do 5-10 km, ze względu na ukształtowanie terenu i przesłonięcia,
• środowisko miejskie – typowo 1-3 km, przy czym wysokie budynki i zakłócenia radiowe mogą dodatkowo ograniczyć stabilność.

Zastosowania MeshCore

Głównie to przesyłanie i odbieranie wiadomości tekstowych. Przesyłane dane telemetryczne (stan baterii, pozycja GNSS (np. GPS, Galileo, GLONASS), dane z czujników środowiskowych (np. temperatura, wilgotność, ciśnienie atm.)) nie są widoczne ani jako wiadomości, ani na liście węzłów, a ich obsługa jest ograniczona.

Trzeba użyć nieco wyobraźni, by zauważyć przewagę w sytuacjach, gdzie:
• jesteśmy poza zasięgiem sieci Internet i GSM,
• konieczna jest (cicha) komunikacja,
• znaleźliśmy się w sytuacji kryzysowej gdzie na skutek awarii lub braku prądu dotychczasowa technologia stała się niedostępna,
• nie chcemy by nasza komunikacja była czytana przez innych (tylko w kanałach prywatnych – #kanały nie spełniają tego wymagania),

Może wygląda to mało ambitnie, ale należy pamiętać, że:
• cała komunikacja jest szyfrowana (E2EE),
• nie wymaga centralnego serwera, działa offline,
• działa przy bardzo niskim użyciu energii,
• działa na duże odległości,
• proste we wdrożeniu (gdy wszystko działa – Internet, prąd),
• wiadomości są buforowane, przy wznowieniu łączności z aplikacją przesłane zostaną ostatnie wiadomości (niekoniecznie wszystkie – istnieje różny limit),
• mamy różne typy urządzeń i ich role (Companion, Repeater, Room Server, tzw. Room-Peater (Room Server z włączoną opcją Repeatera)),
• do 64 przeskoków przez Repeatery i Room-Peatery, w praktyce nawet jeszcze nie zbliżono się do tego ograniczenia.

Czas na łyżkę dziegciu w MeshCoreowej beczce miodu:
• mniej zaawansowane niż Meshtastic czy Reticulum,
• mniej gotowych, zdefiniowanych ról dla urządzeń,
• z telemetrii zostały właściwie strzępy,
• aplikacje klienckie nie są w pełni otwarto-źródłowe,
• niektóre ograniczenia techniczne, takie jak rezerwacja dużej przestrzeni pakietu routingowego (64 bajty) może obciążać transmisję,
• tylko jeden kanał publiczny – otwarty,
• MeshCore jest bardziej niezawodny, ale wymaga więcej planowania – trudniej zbudować sieć działającą na większym obszarze (potrzebne Repeatery, Room-Peatery).

Jeśli zależy nam jedynie na wymianie wiadomości tekstowych może okazać się to najlepszym rozwiązaniem. Z bardzo ciekawych rozwiązań należy wymienić m.in:
• system antykolizyjny – gdy pasmo zajęte poczeka z nadawaniem. CAD (Channel Activity Detection) przed nadaniem ramki urządzenie nasłuchuje kanału i sprawdza, czy jest wolny. Jeśli wykryto transmisję innego węzła, proces nadawania zostaje wstrzymany o krótki, losowy czas (rzędu 50-200 ms, zależnie od ustawień SF/BW LoRa). Po odczekaniu kanał sprawdzany jest ponownie, a dopiero gdy kanał jest wolny wiadomość zostaje wysłana. W sieciach z 10+ urządzeniami system redukuje liczbę kolizji nawet o 60-70% w porównaniu z Meshtastic (gdzie flooding prowadzi do wzajemnego zagłuszania). Co istotne, mechanizm jest zgodny z europejskimi regulacjami Duty Cycle 10%, co pozwala efektywniej wykorzystywać pasmo bez ryzyka zablokowania komunikacji. Ewentualne opóźnienia są niemal niezauważalne dla użytkownika, a znacząco poprawiają przepustowość całej sieci.

• buforowanie wiadomości – limity. Pojemność bufora zależy od platformy sprzętowej. Na układach nRF52840 bufor bywa mniejszy ze względu na ograniczoną pamięć RAM. Czas przechowywania zależy od intensywności ruchu oraz ciągłości zasilania. Przy typowej komunikacji tekstowej bufor wystarcza na kilka godzin lub dni.

• Repeaterem, Room Serverem czy Room-Peaterem możemy zdalnie nie tylko zarządzać, ale i aktualizować (z tym bywa różnie).


Role – tryb pracy urządzenia

MeshCore przewiduje następujące role urządzeń:
• Companion z ang. towarzysz, partner to urządzenie osobiste (podstawowe) użytkownika, z którym łączy się poprzez Bluetooth (BLE) lub USB. Urządzenie może buforować wiadomości (jest limit, po jego osiągnięciu stare zostaną nadpisane nowymi), które zostaną wyświetlone po przywróceniu połączenia urządzenie – aplikacja. Uwaga urządzenia w tym trybie nie rozszerzają zasięgu jak Client w Meshtastic, działają podobnie do Client-Muted – nie przekazują obcych wiadomości. Aplikacja/urządzenie obsługują np. do 8 kanałów (pokoi/chatów) i 100 kontaktów (lub więcej w zależności od urządzenia,

• Repeater – rozszerza zasięg, dlatego powinien być instalowany w atrakcyjnych i strategicznych miejscach, z niezależnym zasilaniem oraz lepszą anteną, ponieważ umożliwia łączność między oddalonymi użytkownikami. Zużywa więcej energii niż tryb Companion, ponieważ wymaga regularnego nadawania i odbierania wiadomości (nie buforuje ich, nie zapisuje historii, nie zarządza kanałami, przesyła wiadomości między Companion w tym kanał publiczny (otwarty), prywatne). Urządzenie w tym trybie ma nieaktywny Bluetooth – pozostaje połączenie przez kabel USB lub Companion z sieci MeshCore co pozytywnie wpływa na oszczędność energii i bezpieczeństwo,

• Room Server – lokalna (np. domowa) skrzynka na wiadomości grupowe. Taki Room Server widoczny jest na liście kontaktów. Jeśli ktoś chce zostawić tam wiadomość wysyła je do Room Servera. Użytkownicy którzy są aktualnie połączeni otrzymają wiadomość od razu, ci którzy pojawią się w zasięgu później odbiorą te wiadomości po zalogowaniu. Na Room Serverze działa tylko jeden kanał i tylko na nim jest dostępny (Room Servery i Reapeatery nie synchronizują między sobą tych kanałów). Na kanale Room Servera piszemy do grupy użytkowników. To czy będzie mniej lub bardziej prywatny zależy od tego czy domyślne hasło pozostawimy czy zmienimy. To my zdecydujemy czy będzie to skrzynka domowa, dla sąsiadów czy mieszkańców dzielnicy. Również niedostępny przez Bluetooth. Meshtastic oferował podobne rozwiązanie Store & Forward (zapisz i przekaż),

• tzw. Room-Peater – to połączenie Room Server i Repeater (2 w 1), w nowszych wersjach aplikacji można uruchomić funkcję repeatera w aplikacji lub poprzez wiersz poleceń,

• Companion + Repeat Mode z założenia ma stworzyć sieć łączącą użytkowników bez dostępu do infrastruktury np. na wycieczkach, kempingach. W tym ustawieniu każdy Companion jest też Repeaterem przekazując także obce wiadomości. Działa jedynie na częstotliwości 869.000 MHz, w jej przypadku mamy ograniczenia, które skutecznie zniechęcają do używania (ERP do 25mW czyli 14dBm, Duty Cycle 0,1% każdej godziny czyli 3,6 sekundy)! Jeśli posiadasz urządzenie pracujące w paśmie 433 MHz, masz do dyspozycji 433.000 MHz, jej ograniczenia są surowsze w kontekście mocy (ERP do 10mW czyli 10dBm), za to nie ma ograniczenia w postaci Duty Cycle.

Repeater / Room Server – zarządzanie przez USB
Domyślne hasło do administrowania Repeaterem lub Room Serverem to:

Zalecana jest jego zmiana, na silne hasło.
Domyślne hasło gościa do Room Servera to:

Jeśli ma być publiczny nie zmieniaj hasła, jeśli ma być prywatny zmień również hasło gościa.

Uwaga zmiana roli wymaga wgrania innego oprogramowania! Wyjątkiem zmiana Room Server w Room-Peater i odwrotnie.

Czasami może okazać się konieczna instalacja sterowników:
• ESP32, CP210X USB to UART bridge, po instalacji uruchom ponownie komputer,
• urządzenia na nRF zazwyczaj nie wymagają instalacji sterowników, ponieważ po wejściu w tryb flashowania pojawiają się jako dysk. Następnie na ten dysk wgrywa się odpowiedni plik z oprogramowaniem.

Moc nadajnika, zysk anteny, ERP – legalność

Zacznijmy od końca czyli legalności. W paśmie 868 MHz maksymalna dozwolona moc ERP (ang. Effective Radiated Power) – rzeczywista moc wypromieniowana przez antenę w najkorzystniejszym kierunku – to dokładnie 500 mW ERP = 26,99 dBm dla częstotliwości w zakresie 869,400-869,650 MHz. Czyli cały budżet mocy nie może przekroczyć 27 dBm! Na ten budżet składają się moc nadajnika, zysk anteny, straty wynikające z użycia przejściówek, końcówek, kabla antenowego, filtra pasmowego.

Moje doświadczenia

Na moim balkonie jest zainstalowany RPT sensecap solar node p1 z wgranym oprogramowaniem Meshcore plus antena zamiast oryginalnej małej anteny zastąpiłem nią Radiora HNT-868-7 antena bazowa 868MHz 6.8dBi – długość 80cm.

Po wgraniu oprogramowania MeshCore dla odpowiedniego RPT wszystko zaczęło działać. Niestety oprogramowanie dla stacji klient (cammpanion) jest różne. Istnieją wersje płatne i free. Niektóre posiadają komunikację BT z naszym RPT inne niestety nie. Najbardziej popularną aplikacją aby dostać się do naszego RPT i nim zarządzać jest MeshCore którą znajdziecie w AppStore lub w sklepie Androida.

Co dalej?

Teraz czas na urządzenie klienckie z którym możecie się logować do różnych RPT lub swojego i wysyłać wiadomości. U mnie tą rolę pełni T-DECK oraz dodatkowo T-1000E

Pełnią rolę komunikacji pomiędzy RPT a stacją kliencką. Wysyłanie wiadomości, testy zasięgu i mapy z lokalizacją są łatwo dostępne.