Co to jest Reticulum?
Reticulum jest narzędziem do budowy własnych sieci komputerowych, nie ograniczonych do stosu TCP/IP, gdzie dane domyślnie są szyfrowane, a adresami są przenośne hashe m.in. kluczy publicznych. Sam stos jest przystosowany do przesyłania danych w trudnych warunkach i poprzez bardzo wolne połączenia (np. LoRa). Z praktycznych zastosowań: jest dostępny kompunikator, proste “strony internetowe”, zdalny shell i inne rzeczy.
Uwaga: to jest soft względnie eksperymentalny i może okazać się, że nic nie działa.
O, LoRa? To takie coś jak Meshtastic?
Z daleka patrząc może wyglądać podobnie (i tu i tu można wysyłać wiadomości po LoRa), ale po zajrzeniu wgłąb widać różnice.
- Meshtastic powstał aby rozwiązać praktyczny problem – komunikacji w terenach, gdzie dostęp do innych sieci jest utrudniony. Reticulum chce tworzyć niezależne, oddolne, alternatywne sieci.
- Meshtastic sprawia wrażenie rozwiązania mającego podejście bardziej “od góry”, mającego problem do rozwiązania i próbującego go rozwiązać, Reticulum zdaje się podchodzić do sprawy “od dołu”, czyli autor pracuje nad standaryzowaniem protokołu i wzorcową implementacją, na której dopiero budują inni.
- osobiście nie uważam, żeby jedno podejście było lepsze od drugiego, ale na pewno podejście Reticulum jest ciekawsze z perspektywy osoby chcącej coś pohackować

- osobiście nie uważam, żeby jedno podejście było lepsze od drugiego, ale na pewno podejście Reticulum jest ciekawsze z perspektywy osoby chcącej coś pohackować
- Meshtastic opiera się na LoRa z opcjonalnym MQTT po internecie. Dla Reticulum internet, LoRa, packet radio, połączenie po UART czy cokolwiek innego to generalnie równoważne media.
Inne pytania
Czy muszę być radioamatorem żeby się w to bawić?
Nie.
Czy też potrafi robić mesh, tzn routować pakiety między urządzeniami?
Tak.
Jak się podłączyć?
- Tak w tym momencie, bez żadnego sprzętu można podpiąć się przez internet:
- Najprzyjemniejszym klientem na start jest pewnie GitHub - liamcottle/reticulum-meshchat: A simple mesh network communications app powered by the Reticulum Network Stack. .
- Na telefon jest aplikacja Sideband: GitHub - markqvist/Sideband: LXMF client for Android, Linux and macOS allowing you to communicate with people or LXMF-compatible systems over Reticulum networks using LoRa, Packet Radio, WiFi, I2P, or anything else Reticulum supports.
- Klimatycznym klientem konsolowym jest GitHub - markqvist/NomadNet: Communicate Freely
Aby podłączyć się przez internet należy skonfigurować klienta aby łączył się z conajmniej jednym node. Przykłady:
[[dismails TCP Interface]]
type = TCPClientInterface
interface_enabled = true
target_host = rns.dismail.de
target_port = 7822
name = dismails TCP Interface
[[Sydney RNS]]
type = TCPClientInterface
enabled = true
target_host = sydney.reticulum.au
target_port = 4242
name = Sydney RNS
[[reticulum.n7ekb.net]]
type = TCPClientInterface
mode = gateway
enabled = yes
target_host = reticulum.n7ekb.net
target_port = 48086
[[noDNS1]]
type = TCPClientInterface
interface_enabled = true
target_host = 202.61.243.41
target_port = 4965
name = noDNS1
Można też połączyć się bezpośrednio z HSowym node. Na chwilę obecną nie jest wystawiony na świat, więc dostęp jest tylko z sieci wewnątrznej HSWro:
[[hswro]]
type = TCPClientInterface
enabled = true
target_host = hswro-reticulum.lan.hswro.org
target_port = 4242
A co z LoRa?
Na chwilę obecną anteny są dość symboliczne, więc raczej wątpliwe żeby dało się połączyć z domu, natomiast testowanie wewnątrz HSu jest jak najbardziej zalecane.
Do połączenia potrzebna jest płytka z LoRa na 433 MHz lub 868 MHz z softem RNode: RNode | unsigned.io . Soft ten sam z siebie niewiele robi, działa tylko jako modem.
Parametry które powinny być ustawione do połączenia:
[[lora433]]
type = RNodeInterface
interface_enabled = True
port = ścieżka do portu gdzie podłączony jest RNode
frequency = 433575000
txpower = 15
bandwidth = 125000
spreadingfactor = 8
codingrate = 7
[[lora868]]
type = RNodeInterface
interface_enabled = True
port = ścieżka do portu gdzie podłączony jest RNode
frequency = 868000000
bandwidth = 250000
spreadingfactor = 8
codingrate = 7
No dobra, ale co można z tym robić?
Wymiana wiadomości
W Reticulum przyjął się standard LXMF, dzięki czemu wszystkie wymienione wcześniej aplikacje są ze sobą kompatybilne i można między nimi rozmawiać.
Co ciekawe: mimo to, że jest to standard P2P, to nie ma konieczności żeby obie strony rozmowy były jednocześnie połączone. W tym celu wykorzystuje się Propagation Nodes, które przechowują wiadomości i synchronizują je między sobą.
NomadNet
Można tworzyć i przeglądać proste strony kojarzące się trochę z dawnymi BBSami (są takie bo są przystosowane do przesyłania m.in. po LoRa, więc wiele się nie ugra; tworzone są we własnym formacie zwanym Micron). nomadnet pozwala na tworzenie stron dynamicznych poprzez skrypty (jeśli strona jest wykonywalna, to on ją wykona i prześle stdout do klienta), i ludzie całkiem szaleją, tworząc fora i całe sieci społecznościowe.
Polecam uruchomić klienta, zostawić na trochę i zobaczyć co się ogłasza (w zakładce Announces w MeshChat, w nomadnet analogicznie). Niektóre to niezłe perełki.
Tej funkcjonalności niestety nie ma w androidowym Sidebandzie.
Można próbować tworzyć swoje strony. Z dokumentacją jest jak jest, ale bardzo pomocne jest to narzędzie: Micron Playground
Aktualny setup sprzętowy:
- orange pi pc (bo leżało w szufladzie)
- tt-go lora 433MHz podpięte po USB
- Heltec v3 868MHz podpięty po USB
Na początku myślałem o tym żeby podpiąć płytki z LoRa pod GPIO Orange Pi, ale doszedłem do wniosku że nie ma z tego żadnego zysku a tylko jest trudniej.
Co jeszcze?
Standard jest rozszerzalny, więc można się bawić. Warto spojrzeć tu: Awesome Reticulum · markqvist/Reticulum Wiki · GitHub , gdzie jest dużo linków do różnego rodzaju wynalazków, również alternatywnych implementacji Reticulum (jest nawet jedna która chce działać od początku do końca na ESP32, bez konieczności dodatkowego kompa).
Na pewno polecam przeczytać manual: Reticulum Network Stack 1.0.0 documentation . Jest przystępnie napisany i porusza tematy od tego, jak w ogóle cokolwiek uruchomić, do pisania własnych aplikacji na Reticulum oraz implementacje transportów.






