Co właściwie porównywano
Współczynnik rozpraszania (SF, ang. spreading factor) to jedno z ustawień modulacji LoRa. Im wyższy SF, tym dłużej trwa nadawanie pakietu, ale też tym słabszy sygnał odbiornik potrafi wyłowić z szumu. Krok z SF8 na SF7 mniej więcej o połowę skraca czas nadawania (airtime), czyli czas, przez który pakiet zajmuje kanał. Odbiornik potrzebuje za to sygnału silniejszego o około 2,5–3 dB – tyle traci czułość.
Holenderska sieć MeshCore od miesięcy była zapchana: przybyło węzłów, użytkowników i automatycznego ruchu, m.in. botów i integracji z Home Assistant. Według raportu przy tej samej częstotliwości i szerokości kanału SF7/CR5 mieści około 2,8 razy, a SF6/CR5 około 4,8 razy więcej ruchu niż SF8/CR8. Test miał sprawdzić, czy ta dodatkowa pojemność wynagrodzi mniejszy zasięg. Mierzono więc zachowanie całej sieci: czy wiadomości docierają, czy połączenia są stabilne i czy sąsiedzi pozostają w zasięgu.
Uczestnicy przeszli na osobny kanał 869,431 MHz o szerokości 62,5 kHz, oddzielony od działającej sieci. W piątek 6 marca wieczorem nadawali z SF7/CR5, od soboty wieczorem z SF6/CR5 (część starszych płytek z układem SX1276 nie mogła w nim wziąć udziału), a w niedzielę 8 marca po południu wrócili do zwykłych ustawień. Punktem odniesienia była sieć na 869,618 MHz i SF8, pracująca z CR5 lub CR8 – czyli z mniejszym albo większym zapasem danych do korekcji błędów (CR, ang. coding rate).
Plan testów zakładał wielokrotne pomiary połączeń z tymi samymi sąsiadami, notowanie stosunku sygnału do szumu (SNR) i odnotowywanie łączy, które znikają. Repeater (węzeł przekazujący wiadomości dalej) i companion (radio połączone z aplikacją w telefonie) musiały mieć identyczne ustawienia – przy rozbieżności urządzenia przestawały się słyszeć. Dlatego test koordynowano na osobnym czacie, poza testowaną siecią.
W szczycie na kanale testowym pracowało 26 ze 121 węzłów, które raportują swoją aktywność do serwisu letsmesh.net (około 21%), przy SF6 – około 20. Wyniki do wspólnego arkusza wpisało 24 operatorów, łącznie około 214 pomiarów. Najwięcej uczestników było w Randstadzie (Amsterdam, Utrecht, Haga, Rotterdam), a z Fryzji, Limburgii i większej części Overijssel danych prawie nie ma.
SF7 poprawiło wyniki, SF6 ujawniło słabe łącza
Raport podaje skuteczność traceroute – prób wyznaczenia trasy do innego węzła – na dwa sposoby: dla tych samych par łączy we wszystkich trzech etapach oraz dla wszystkich pomiarów.
| Wariant | Te same pary łączy | Wszystkie pomiary |
|---|---|---|
| SF8 – punkt odniesienia | 33,5% | 37,5% |
| SF7/CR5 | 59,6% | 52,5% |
| SF6/CR5 | 51,5% | 53,0% |
Nie jest to więc odsetek wiadomości dostarczonych wszystkim użytkownikom. Na tych samych parach SF7 wypadło najlepiej, a przy SF6 część granicznych połączeń przestała działać: dwa łącza spadły z 20% i 50% przy SF7 do zera. Najwięcej zyskały łącza, które przy SF8 prawie nie działały – na jednym skuteczność wzrosła z 2% do 70%. We wszystkich pomiarach SF6 i SF7 wypadają niemal tak samo, ale tam każdy etap obejmował inny zbiór łączy (68, 83 i 63 wiersze arkusza). Na te liczby, zaokrąglone do 38% i 53%, powołuje się holenderska instrukcja przejścia na SF7.

Nie znaczy to, że zniknęły wszystkie dalekie łącza – autorzy odnotowali działające połączenie SF6 na dystansie około 30 km przy widoczności radiowej.
Sam sygnał się nie zmienił. Średnia różnica SNR między SF7 a SF8 na 31 parach łączy wyniosła +1,3 dB w jedną i +0,6 dB w drugą stronę, a między SF6 a SF7 −0,9 i −1,3 dB – w granicach zwykłego rozrzutu. Zmienia się tylko próg, przy którym odbiornik jeszcze odczyta pakiet, więc odpadają łącza, które już wcześniej były na granicy.
Dlaczego nie wystarczy zmienić jednej liczby
Poprawy nie da się przypisać wyłącznie niższemu SF. Kanał testowy był znacznie mniej obciążony niż produkcyjny, zmieniał się skład uczestników i warunki pomiarów, a przejście z SF8/CR8 na SF7/CR5 oznaczało zmianę dwóch parametrów naraz. Ten sam węzeł odbierał na kanale testowym ruch przez 4–6% czasu, a na zwykłym przez 20–25%. Autorzy raportu uznali, że za znaczną część kłopotów sieci odpowiada jej przeciążenie. Średnie pochodzą z analizy autorów raportu – nie przeliczaliśmy niezależnie surowych danych.
Na kanał testowy przeszedł mniej więcej co piąty węzeł, więc stacje z dala od innych uczestników zostawały bez sąsiadów. Mniejszy zasięg przy ziemi w mieście zauważył tylko jeden uczestnik podczas przejazdu – raport nazywa to obserwacją nieformalną.
Trzeba też oddzielić dwie rzeczy: sprawniejszą pracę przeciążonej sieci i zasięg pojedynczego łącza. Krótsze transmisje mogą odciążyć całą sieć, a jednocześnie odciąć węzeł na jej obrzeżu od sąsiada.
Holandia zaplanowała wspólne przejście na SF7
Holendrzy nie poprzestali na teście. Instrukcja migracji, zaktualizowana 8 maja, wyznaczyła wspólne przejście na SF7/CR5 na 9 maja 2026 r. Częstotliwość 869,618 MHz i szerokość kanału 62,5 kHz zostały bez zmian. Instrukcja obejmowała jednak więcej niż zmianę SF: firmware co najmniej 1.15, ograniczenie automatycznego ruchu, rzadsze rozgłaszanie obecności węzłów oraz region scoping, który zawęża obszar przekazywania wiadomości. Sama instrukcja nie potwierdza przy tym, że wszystkie węzły faktycznie przeszły na nowe ustawienia.
Na 13 czerwca zaplanowano kolejny krok: repeatery miały odrzucać pakiety bez przypisanego regionu, a adverty (ogłoszenia węzła rozsyłane po całej sieci) wysyłać nie częściej niż co 50 godzin już od dnia zmiany.
Wspólny termin jest konieczny, bo węzły z różnym SF się nie słyszą. Kto przestawiłby się wcześniej, zostałby odcięty od reszty sieci. Dla słabych łączy autorzy raportu zalecają lepszą antenę albo jej lepsze położenie, przedwzmacniacz lub filtr – zamiast pozostawania przy SF8.
Krótszy czas nadawania nie znosi limitu. W podpaśmie 869,4–869,65 MHz, w którym pracuje MeshCore w Europie, obowiązuje w UE i w Polsce limit 500 mW e.r.p. (moc z zyskiem anteny) przy 10% czasu nadawania. Szybsze SF pozwala zmieścić w nim więcej pakietów, ale go nie podnosi. Holenderska instrukcja każe przy okazji wpisać w repeaterach polecenie, które pilnuje tych 10%:
set dutycycle 10
Więcej o tym ustawieniu w tekście o zmianach w MeshCore od wersji 1.15 do 1.17.1.
Co z tego wynika dla polskiej sieci
W Polsce MeshCore pracuje na tym samym kanale co holenderska sieć przed zmianą: 869,618 MHz, 62,5 kHz i SF8, ale z CR8 (preset EU/UK Narrow, więcej w tekście o netykiecie w MeshCore).
Holenderskie wyniki nie są instrukcją dla polskich operatorów. Kto przestawi na SF7 tylko swój repeater albo companion, przestanie słyszeć sąsiadów. Ewentualna zmiana wymaga ustaleń w lokalnej społeczności i wspólnego terminu.
Lokalnym grupom holenderska próba może posłużyć za wzór organizacji: wspólny termin, pomiary na tych samych połączeniach, kanał koordynacji niezależny od testowanej sieci i zaplanowany powrót do ustawień wyjściowych. O wyborze SF powinny decydować wyniki pomiarów i dostępność sąsiadów. Wrażenie, że aplikacja działa szybciej, to za mało.
Artykuł powstał na podstawie raportu z testu, planu testów i instrukcji przejścia na SF7, opublikowanych przez holenderską społeczność MeshCore.
