Mikrokontrolery i systemy embedded

Meshtastic – jak działa sieć LoRa i mapa urządzeń

Spis treści
Meshtastic – jak działa sieć LoRa i mapa urządzeń

Meshtastic to otwartoźródłowy system łączności działający poza zasięgiem tradycyjnych sieci. Tworzy zdecentralizowaną sieć mesh opartą na technologii radiowej LoRa, która pozwala przesyłać krótkie, szyfrowane wiadomości, dane GPS i telemetrię bez dostępu do sieci komórkowej oraz internetu.

Przy odpowiedniej konfiguracji i włączonym udostępnianiu lokalizacji system umożliwia także tworzenie map pokazujących ostatnie znane pozycje węzłów Meshtastic.

Czym jest Meshtastic i do czego służy?

System Meshtastic łączy trzy podstawowe elementy:

  • urządzenia radiowe – moduły wyposażone w radio LoRa;
  • firmware Meshtastic – oprogramowanie układowe sterujące pracą węzła;
  • aplikacje użytkownika – programy na Androida, iOS i komputery oraz dodatkowe integracje.

Celem systemu jest stworzenie rozproszonej sieci kratowej, w której urządzenia mogą wysyłać, odbierać i przekazywać wiadomości. Pakiety mogą przechodzić przez kilka węzłów, dlatego zasięg całej sieci może być większy niż bezpośredni zasięg pojedynczego modułu LoRa.

Meshtastic sprawdza się przede wszystkim w następujących zastosowaniach:

  • wiadomości tekstowe – przesyłanie krótkich komunikatów poza zasięgiem tradycyjnych sieci;
  • lokalizacja GPS – udostępnianie pozycji i prezentowanie węzłów na mapie;
  • telemetria – przekazywanie poziomu naładowania akumulatora oraz danych z czujników;
  • łączność kryzysowa – komunikacja niezależna od infrastruktury operatorów.

Meshtastic wykorzystuje LoRa w trybie peer-to-peer, a nie LoRaWAN. Nie wymaga centralnych bramek ani serwerów operatora. Odpowiednio skonfigurowane urządzenia stają się węzłami sieci i mogą retransmitować pakiety, zwiększając zasięg komunikacji.

Podstawy LoRa – fizyczna warstwa sieci Meshtastic

Co to jest LoRa?

LoRa, czyli Long Range, to technologia radiowa przeznaczona do przesyłania niewielkich ilości danych na duże odległości przy małym zużyciu energii.

Do jej najważniejszych właściwości należą:

  • modulacja chirp spread spectrum – zwiększa odporność sygnału na zakłócenia i pozwala odbierać go przy niskim stosunku sygnału do szumu;
  • praca w pasmach ISM – umożliwia korzystanie z częstotliwości takich jak 868 MHz w Europie, z zachowaniem obowiązujących ograniczeń prawnych;
  • duży zasięg – może wynosić od kilku do kilkudziesięciu kilometrów, zależnie od anteny, mocy nadajnika, wysokości montażu i ukształtowania terenu.

W Meshtastic moc nadajnika jest niewielka i zwykle nie przekracza 30 dBm. Mimo to odpowiednio skonfigurowane urządzenia mogą komunikować się na znaczne odległości, zachowując niski pobór energii.

Kluczowe parametry LoRa w Meshtastic

Aby węzły mogły się komunikować, ich ustawienia radiowe muszą być kompatybilne. Najważniejsze parametry obejmują:

  • częstotliwość pracy – dobieraną odpowiednio do regionu, na przykład w paśmie 868 MHz w Unii Europejskiej;
  • szerokość pasma – wpływającą na szybkość transmisji i odporność połączenia;
  • spreading factor – współczynnik rozpraszania oznaczany skrótem SF;
  • region i profil radiowy – gotowy zestaw ustawień dostosowany do przepisów oraz sposobu użytkowania.

Parametry te wpływają na trzy najważniejsze właściwości połączenia:

  • zasięg,
  • prędkość transmisji,
  • odporność na zakłócenia i niezawodność połączenia.

Wyższy współczynnik SF, na przykład 11 lub 12, może zwiększyć zasięg, ale jednocześnie zmniejsza szybkość transmisji i wydłuża czas zajęcia kanału radiowego. Ma to szczególne znaczenie w pasmach objętych ograniczeniami czasu nadawania.

Profile Meshtastic, takie jak LongFast, zapewniają określony kompromis między zasięgiem, szybkością transmisji i czasem zajęcia kanału.

LoRa, LoRaWAN i Meshtastic

Pojęcia LoRa, LoRaWAN i Meshtastic są często mylone. Różnice między nimi przedstawia poniższe zestawienie:

Technologia Architektura Najważniejsze cechy
LoRa Warstwa fizyczna Modulacja CSS, pasma ISM, mała moc i duży zasięg
LoRaWAN Sieć z bramami i serwerami Centralne bramki, infrastruktura sieciowa i zbieranie danych z wielu urządzeń
Meshtastic Sieć mesh P2P oparta na LoRa Bezpośrednia wymiana pakietów, retransmisja przez węzły i komunikacja bez infrastruktury operatora

Meshtastic nie korzysta z protokołu LoRaWAN. Działa w trybie bezpośrednim P2P, wykorzystując własny protokół wyższej warstwy, mechanizmy retransmisji i szyfrowanie wiadomości.

Architektura Meshtastic – warstwy systemu

Urządzenie LoRa jako węzeł sieci

Typowy węzeł Meshtastic składa się z następujących elementów:

  • mikrokontroler – na przykład ESP32 lub STM32, na którym działa firmware Meshtastic;
  • moduł radiowy LoRa – na przykład układ SX1262 lub SX1276;
  • wyposażenie dodatkowe – odbiornik GPS, wyświetlacz, akumulator, ładowarka lub czujniki.

W zależności od konfiguracji urządzenie może realizować kilka funkcji:

  • wysyłanie i odbieranie pakietów – bezpośrednia komunikacja radiowa za pomocą LoRa;
  • retransmisja pakietów – przekazywanie wybranych danych do kolejnych węzłów;
  • zarządzanie siecią – obsługa kanałów, szyfrowania i przekazywania danych.

Prawidłowo rozmieszczone węzły mogą zwiększać zasięg całej sieci bez korzystania z centralnej infrastruktury.

Firmware Meshtastic

Firmware zarządza najważniejszymi funkcjami węzła:

  • parametry radiowe – region, profil, współczynnik SF i szerokość pasma;
  • szyfrowanie – zabezpieczanie wiadomości przesyłanych między użytkownikami;
  • role węzłów – określanie sposobu działania urządzenia w sieci;
  • kontrolowane rozsyłanie – ograniczanie niepotrzebnych retransmisji pakietów;
  • konfiguracja urządzenia – przechowywanie nazwy węzła, ustawień kanałów i kluczy szyfrujących.

Każdy węzeł ma unikalny identyfikator i może otrzymać własną nazwę, na przykład „Base-Hill” lub „Node-Car”. Ułatwia to rozpoznawanie urządzeń w aplikacji i na mapie.

Aplikacje użytkownika

Wiadomości najczęściej wprowadza się w aplikacji Meshtastic na smartfonie lub komputerze. Aplikacja może łączyć się z lokalnym węzłem na kilka sposobów:

  • Bluetooth – najczęściej wykorzystywany przez urządzenia mobilne;
  • Wi-Fi – dostępne w obsługujących je modułach;
  • USB lub UART – przewodowe połączenie z komputerem albo kompatybilnym telefonem.

Typowy przebieg komunikacji wygląda następująco:

  1. użytkownik wpisuje wiadomość w aplikacji Meshtastic;
  2. telefon lub komputer przekazuje ją do lokalnego węzła przez Bluetooth, Wi-Fi albo USB;
  3. urządzenie tworzy pakiet i wysyła go przez radio LoRa;
  4. węzły znajdujące się w zasięgu odbierają pakiet i w razie potrzeby przekazują go dalej;
  5. węzeł docelowy odszyfrowuje wiadomość i przesyła ją do aplikacji odbiorcy.

Cały proces może odbywać się bez dostępu do internetu i infrastruktury operatora komórkowego.

Jak działa sieć mesh LoRa w Meshtastic?

Topologia mesh

Meshtastic tworzy sieć kratową, w której nadawca nie musi znajdować się w bezpośrednim zasięgu odbiorcy. Wiadomość może dotrzeć do celu za pośrednictwem innych urządzeń.

Odpowiednio skonfigurowany węzeł może wykonywać następujące zadania:

  • nasłuchiwanie kanału – wykrywanie transmisji LoRa;
  • odbieranie pakietów – przyjmowanie danych zgodnych z konfiguracją sieci;
  • przekazywanie pakietów – retransmisja zwiększająca zasięg komunikacji.

W ten sposób powstaje samodzielna i rozproszona sieć niewymagająca centralnego serwera ani bramek operatora.

Managed flooding – kontrolowane rozsyłanie pakietów

Bezwarunkowe retransmitowanie każdego pakietu przez wszystkie urządzenia prowadziłoby do kolizji i nadmiernego zajęcia pasma. Meshtastic ogranicza ten problem za pomocą mechanizmu managed flooding, czyli kontrolowanego rozsyłania pakietów.

Mechanizm ten opiera się na kilku zasadach:

  • ograniczony rozmiar danych – pojedynczy pakiet użytkownika może zawierać do 237 bajtów danych;
  • limit przeskoków – jego wartość zależy od konfiguracji, a maksymalny obsługiwany limit wynosi 7;
  • opóźnienie retransmisji – węzeł odczekuje przed ponownym nadaniem pakietu;
  • uwzględnianie jakości sygnału – bardziej oddalone węzły mogą otrzymać pierwszeństwo retransmisji;
  • eliminowanie duplikatów – urządzenie może zrezygnować z transmisji, jeśli wykryje, że ten sam pakiet został już przekazany;
  • ograniczanie kolizji – mniejsza liczba zbędnych transmisji zmniejsza obciążenie kanału.

Kontrolowane rozsyłanie pomaga utrzymać sprawność sieci złożonej z wielu węzłów i ogranicza wykorzystanie dostępnego czasu nadawania.

Zasięg radiowy i liczba przeskoków

Efektywny zasięg sieci Meshtastic zależy od kilku czynników:

  • zasięg pojedynczego połączenia – w sprzyjających warunkach może wynosić od kilku do kilkudziesięciu kilometrów;
  • liczba dozwolonych przeskoków – określa, przez ile urządzeń może przejść pakiet;
  • rozmieszczenie węzłów – znaczenie mają wysokość anten, widoczność radiowa i przeszkody terenowe.

Wiadomość przekazywana przez kolejne urządzenia może dotrzeć poza bezpośredni zasięg nadajnika. Dodanie węzłów nie gwarantuje jednak poprawy łączności, jeśli są one źle rozmieszczone lub nadmiernie obciążają kanał.

Kanały, szyfrowanie i bezpieczeństwo

Kanały i grupy

Aby węzły Meshtastic mogły wymieniać dane, muszą korzystać ze zgodnych ustawień radiowych, obejmujących między innymi region i profil LoRa. Konieczny jest również kompatybilny kanał logiczny powiązany z określoną konfiguracją i kluczem szyfrującym.

Pozwala to tworzyć odrębne grupy użytkowników, takie jak zespoły ratownicze, grupy turystyczne lub ekipy rowerowe, które działają w tym samym fizycznym paśmie radiowym.

Szyfrowanie wiadomości

Ochrona treści wiadomości przebiega w następujący sposób:

  • szyfrowanie u nadawcy – dane użytkownika są zabezpieczane przed transmisją;
  • przekazywanie zaszyfrowanych pakietów – węzły pośrednie mogą retransmitować dane bez odczytywania ich treści;
  • odszyfrowanie u odbiorcy – wiadomość może odczytać urządzenie dysponujące właściwym kluczem.

Szyfrowanie utrudnia podsłuchiwanie, ale poziom ochrony zależy od prawidłowego zarządzania kluczami i konfiguracją kanałów. Kluczy nie należy udostępniać osobom, które nie powinny mieć dostępu do komunikacji grupy.

Pozycja GPS i telemetria – podstawa mapy urządzeń

Udostępnianie pozycji węzłów

Oprócz wiadomości tekstowych Meshtastic może przesyłać współrzędne geograficzne węzła oraz dane telemetryczne, takie jak poziom naładowania akumulatora, temperatura lub wyniki pomiarów z dodatkowych czujników.

Węzeł wyposażony w odbiornik GPS może okresowo wysyłać swoją pozycję zgodnie z ustawionym interwałem. Urządzenia odbierające takie pakiety mogą następnie wyświetlać informacje o innych węzłach wraz z ich ostatnią znaną lokalizacją.

Mapa urządzeń w aplikacjach Meshtastic

Aplikacja może prezentować pozycje węzłów na mapie, jeśli odebrała udostępnione przez nie dane lokalizacyjne. Funkcja ta ułatwia koordynowanie zespołów podczas wypraw górskich, akcji ratowniczych, zawodów sportowych, gier terenowych i innych działań poza zasięgiem sieci.

Mapa nie pokazuje automatycznie wszystkich urządzeń Meshtastic znajdujących się w okolicy. Widoczność węzła zależy od udostępniania pozycji, poprawnego odebrania pakietu, kompatybilnej konfiguracji oraz ustawień prywatności.

Jak wygląda przepływ danych w sieci Meshtastic?

Załóżmy, że użytkownik A chce wysłać wiadomość do użytkownika B znajdującego się poza jego bezpośrednim zasięgiem radiowym. Przepływ danych może wyglądać następująco:

  1. użytkownik A wpisuje tekst w aplikacji Meshtastic;
  2. telefon przekazuje dane do lokalnego węzła przez Bluetooth, Wi-Fi lub USB;
  3. firmware szyfruje wiadomość, tworzy pakiet i nadaje go przez radio LoRa;
  4. najbliższe węzły odbierają pakiet i zgodnie z mechanizmem managed flooding mogą przekazać go dalej;
  5. pakiet przechodzi przez kolejne urządzenia, aż dotrze do węzła użytkownika B lub osiągnie ustawiony limit przeskoków;
  6. węzeł użytkownika B odszyfrowuje dane i przekazuje wiadomość do telefonu;
  7. użytkownik B odczytuje komunikat bez korzystania z komórkowej sieci operatora.

W podobny sposób przesyłane są pakiety zawierające pozycję GPS. Węzły pośrednie pomagają dostarczać je do kolejnych części sieci, umożliwiając aktualizowanie lokalnej mapy urządzeń.

Sprzęt do Meshtastic – urządzenia i konfiguracja

Typowe urządzenia

Węzeł Meshtastic można zbudować na bazie różnych rodzajów sprzętu:

  • gotowe urządzenia Meshtastic – kompletne zestawy z radiem LoRa, akumulatorem, a niekiedy także GPS i wyświetlaczem;
  • moduły deweloperskie – na przykład płytki Heltec lub LilyGO wyposażone w radio LoRa;
  • konstrukcje DIY – samodzielnie złożone urządzenia z mikrokontrolera, radia LoRa, anteny, układu zasilania i opcjonalnego odbiornika GPS.

Niedrogie moduły LoRa pozwalają zbudować funkcjonalną sieć mesh przy kosztach niższych niż w przypadku wielu profesjonalnych systemów łączności. Ostateczny koszt zależy jednak od obudowy, anteny, źródła zasilania i dodatkowego wyposażenia.

Konfiguracja podstawowa

Aby urządzenie mogło działać jako węzeł Meshtastic, należy wykonać kilka czynności:

  • wgrać firmware – wybrać wersję Meshtastic przeznaczoną dla danego modelu sprzętu;
  • ustawić region – na przykład EU868, zgodnie z miejscem użytkowania i lokalnymi przepisami;
  • wybrać profil LoRa – zastosować ustawienia kompatybilne z pozostałymi urządzeniami;
  • skonfigurować kanał – określić jego nazwę i klucz szyfrujący;
  • ustawić lokalizację – opcjonalnie włączyć GPS i okresowe wysyłanie pozycji.

Urządzenia należące do tej samej grupy muszą mieć kompatybilne parametry LoRa i kanału logicznego. W przeciwnym razie nie będą mogły prawidłowo wymieniać danych.

Zastosowania praktyczne – od sytuacji kryzysowych po rekreację

Łączność kryzysowa i poza zasięgiem sieci

Dzięki topologii mesh i brakowi zależności od centralnego serwera Meshtastic może wspierać komunikację w różnych sytuacjach:

  • awarie sieci – brak dostępu do telefonii komórkowej lub internetu;
  • klęski żywiołowe – uszkodzenie infrastruktury telekomunikacyjnej;
  • obszary poza zasięgiem – miejsca, w których usługi operatora są niedostępne, ograniczone lub kosztowne.

Awaria pojedynczego węzła nie musi przerywać komunikacji, jeśli sieć dysponuje alternatywną trasą przez inne urządzenia. Jej odporność zależy jednak od rozmieszczenia węzłów, zasięgu radiowego i konfiguracji.

Turystyka, sport i gry terenowe

Meshtastic może być przydatny podczas różnych aktywności terenowych:

  • wyprawy górskie i trekking – komunikacja bez zasięgu, przesyłanie pozycji GPS i lokalizowanie uczestników;
  • jazda na rowerze i biegi długodystansowe – przekazywanie położenia oraz krótkich komunikatów organizacyjnych;
  • gry terenowe i wydarzenia plenerowe – niezależna sieć do wymiany wiadomości;
  • survival, przygotowanie kryzysowe i harcerstwo – ćwiczenie oraz utrzymywanie łączności poza tradycyjną infrastrukturą.

W takich zastosowaniach szczególnie użyteczna jest mapa urządzeń, która pozwala sprawdzać ostatnie odebrane pozycje członków grupy bez dostępu do internetu.

Ograniczenia, przepisy i dobre praktyki

Ograniczenia techniczne

Meshtastic podlega ograniczeniom technologii LoRa i pasm ISM:

  • ograniczony czas nadawania – wynikający między innymi z wymagań dotyczących duty cycle w danym paśmie i regionie;
  • mała przepustowość – przeznaczona głównie do krótkich wiadomości i niewielkich porcji danych;
  • rosnące opóźnienia – zauważalne przy wolniejszych profilach radiowych i większej liczbie przeskoków.

Zbyt częste wysyłanie telemetrii, pozycji i automatycznych komunikatów może powodować kolizje oraz przeciążenie kanału. Interwały transmisji należy dopasować do liczby węzłów i rzeczywistych potrzeb użytkowników.

Przepisy radiowe

LoRa może działać w pasmach niewymagających indywidualnego pozwolenia, ale nadal podlega przepisom krajowym i regionalnym. Użytkownik powinien przestrzegać następujących zasad:

  • właściwe pasmo – korzystanie z zakresu przeznaczonego dla danego regionu, na przykład EU868 lub US915;
  • dopuszczalna moc i czas nadawania – zachowanie obowiązujących limitów technicznych;
  • ograniczanie zakłóceń – odpowiedzialne korzystanie ze współdzielonego pasma ISM.

Wybranie prawidłowego regionu w aplikacji nie zwalnia użytkownika z obowiązku przestrzegania lokalnych przepisów radiowych.

Bezpieczeństwo i prywatność

Szyfrowanie pomaga chronić treść wiadomości, jednak korzystanie z mapy urządzeń wymaga świadomego zarządzania prywatnością. Szczególną uwagę należy zwrócić na:

  • zakres udostępnianej pozycji – dokładność danych przekazywanych innym użytkownikom;
  • częstotliwość aktualizacji – odstępy między kolejnymi transmisjami lokalizacji;
  • dostęp do kanału – kontrolowanie osób dysponujących kluczami szyfrującymi;
  • integracje internetowe – publikowanie lokalizacji w usługach zewnętrznych za pośrednictwem dodatkowych bram.

Udostępnianie dokładnej pozycji może ujawnić miejsce pobytu użytkownika oraz wzorce jego przemieszczania się. Ustawienia prywatności powinny być dostosowane do charakteru grupy, poziomu zaufania i sposobu korzystania z sieci.

Jak zacząć – krok po kroku

Uruchomienie pierwszej sieci Meshtastic można podzielić na następujące etapy:

  1. wybierz sprzęt – zdecyduj się na gotowe urządzenie lub moduł deweloperski z radiem LoRa;
  2. wgraj firmware Meshtastic – wybierz wersję zgodną z używaną płytką i zastosuj się do instrukcji producenta;
  3. skonfiguruj radio – ustaw prawidłowy region oraz profil LoRa zgodny z pozostałymi urządzeniami;
  4. utwórz kanał – określ jego ustawienia i zastosuj odpowiedni klucz szyfrujący;
  5. połącz węzeł z aplikacją – użyj Bluetooth, Wi-Fi lub USB, zależnie od możliwości sprzętu;
  6. przetestuj komunikację – rozpocznij od dwóch urządzeń znajdujących się w bezpośrednim zasięgu;
  7. sprawdź retransmisję – dodaj węzeł pośredni i zweryfikuj przekazywanie pakietów poza bezpośredni zasięg;
  8. włącz lokalizację – jeśli urządzenie ma GPS, skonfiguruj udostępnianie pozycji i sprawdź widoczność na mapie;
  9. rozbuduj sieć – dodawaj prawidłowo rozmieszczone węzły z kompatybilnymi ustawieniami.