Projekt Meshtastic rozwija otwartą platformę komunikacyjną do budowania samowystarczalnej, zdecentralizowanej sieci przesyłania wiadomości, w której każdy punkt sieci łączy się z sąsiednimi punktami, bez użycia scentralizowanych routerów. Do transmisji sygnału wykorzystywane są nadajniki i odbiorniki oparte na protokole LoRa, umożliwiające przesyłanie danych w nielicencjonowanym zakresie częstotliwości z prędkością kilku kilobitów na sekundę na odległość dziesiątek lub nawet setek kilometrów (użytkownicy Meshtastic ustanowili rekord na poziomie 254 km).
Projekt może być wykorzystywany do organizacji komunikacji w trudno dostępnych obszarach, podczas przeprowadzania akcji ratunkowych lub uprawiania sportów (np. paralotniarstwa) w rejonach bez infrastruktury lub w warunkach słabego zasięgu sieci komórkowych. W określonych miejscach uczestnicy mogą umieszczać autonomiczne nadajniki i odbiorniki, które retransmitują wiadomości i są zasilane przez panele słoneczne, a sami uczestnicy mogą mieć lokalne urządzenia LoRa, które przesyłają sygnały i są zarządzane przez połączenie z telefonami komórkowymi za pomocą protokołu Bluetooth.

Każdy uczestnik sieci może wysyłać i przeglądać wiadomości tekstowe, a także korzystać ze środków geolokalizacji opartych na GPS do poszukiwania innych uczestników. Dzięki budowie sieci mesh wiadomości są przesyłane w łańcuchu, co pozwala każdemu w grupie otrzymać wiadomości od najodleglejszego uczestnika, niezależnie od możliwości nawiązania z nim bezpośredniego połączenia. Możliwe jest wysyłanie zarówno wiadomości ogólnych, jak i adresowanych do konkretnego uczestnika. Przesyłane wiadomości są szyfrowane z użyciem wcześniej wybranych kluczy PSK (pre-shared key) oraz algorytmu AES256.
Protokół przesyłania jest dość prosty: każdy pakiet jest wysyłany w trybie rozgłoszeniowym, po czym eter jest analizowany w poszukiwaniu potwierdzenia odbioru przez jednego z uczestników. Jeśli potwierdzenie nie zostanie otrzymane, po określonym czasie dokonywane są jeszcze trzy próby wysyłki. Po odebraniu pakietu sprawdzane jest, czy dany pakiet został już odebrany w przeszłości, a jeśli tak, jest ignorowany, a jeśli nie – jest retransmitowany innym uczestnikom. Przy każdej transmisji w pakiecie zmniejsza się licznik skoków, a po osiągnięciu zera retransmisja pakietu jest przerywana.
Kod oprogramowania układowego dla nadajników i odbiorników napisany jest w językach C/C++ i jest rozpowszechniany na licencji GPLv3. Dodatkowo dostępne są aplikacje mobilne do pracy z siecią mesh z telefonów na platformach Android i iOS, a także interfejs webowy i biblioteka Python do automatyzacji wysyłania i odbierania wiadomości. Oprogramowanie przygotowane jest dla różnych płytek opartych na chipach ESP32, nRF52 i RP2040, takich jak RAK Meshtastic Start Kit (RAK4631 nRF52840, RAK11200 ESP32, RAK11310 RP2040), Station G1, LILYGO LoRa T3-S3, Nano G1, HELTEC LoRa V3 oraz Raspberry Pi Pico z modułem SX1262.



Źródło: opennet.ru
