MeshCore – oparty na technologii LoRa protokół bezprzewodowej sieci kratowej (ang. Wireless Mesh Network, WMN) oraz ekosystem oprogramowania skupiony wokół lekkiej biblioteki napisanej w C++, umożliwiającej trasowanie wieloskokowe (ang. multi-hop routing) pakietów w systemach wbudowanych. Projekt został zapoczątkowany pod koniec 2024 roku przez australijskiego programistę Scotta Powella, a jego kod źródłowy został opublikowany w serwisie GitHub w styczniu 2025 roku. MeshCore jest przeznaczony do energooszczędnej komunikacji tekstowej niezależnej od infrastruktury telekomunikacyjnej (ang. off-grid), wykorzystującej łączność radiową LoRa i niewymagającej dostępu do sieci komórkowej, Wi-Fi ani Internetu. Główny mechanizm trasowania i oprogramowanie układowe urządzeń radiowych są udostępniane na licencji MIT.
MeshCore jest porównywany z Meshtastic, innym systemem sieci kratowej wykorzystującym LoRa. Meshtastic określa stosowaną przez siebie metodę jako zarządzane zalewanie sieci (ang. Managed Flood Routing). W polskiej literaturze teleinformatycznej mechanizm flooding określany jest jako zalewanie sieci pakietami. Węzeł, który odbierze pakiet, może retransmitować go aż do osiągnięcia określonego limitu liczby przeskoków (ang. hop limit), jednak przed nadaniem oczekuje przez krótki czas i rezygnuje z retransmisji, jeśli wykryje, że ten sam pakiet został już przekazany przez inny węzeł.
MeshCore łączy zalewanie sieci (ang. flood routing) z trasowaniem po wyznaczonej ścieżce (ang. direct routing). W przypadku bezpośredniej wiadomości, dla której nie jest jeszcze znana trasa, pierwszy pakiet może zostać rozesłany przez zalewanie sieci. Informacja zwrotna o dostarczeniu zawiera dane o wykorzystanych węzłach przekaźnikowych (ang. repeaters), dzięki czemu kolejne pakiety mogą zawierać wyznaczoną ścieżkę przez kolejne węzły. Określenie „węzeł przekaźnikowy” jest stosowane w polskiej literaturze dotyczącej bezprzewodowych sieci kratowych dla węzłów pośredniczących w wieloskokowym przekazywaniu danych. Węzły przekaźnikowe, które nie należą do wskazanej ścieżki, nie przekazują takiego pakietu dalej. Wiadomości wysyłane do kanałów grupowych nie mają określonej trasy punkt–punkt, dlatego są rozsyłane przez zalewanie sieci; administrator węzła przekaźnikowego może przy tym ograniczyć maksymalną liczbę przeskoków takiego pakietu.
Historia
Według Scotta Powella projekt powstał pod koniec 2024 roku z zamiarem opracowania otwartego protokołu sieci kratowej oraz otwartego silnika, który umożliwiałby również tworzenie niezależnych implementacji. Przez kolejne około dwa miesiące Powell projektował i implementował w C++ rdzeń MeshCore oraz trzy podstawowe role oprogramowania układowego. Pierwsze informacje o planowanym projekcie opublikował w listopadzie 2024 roku, natomiast 20 stycznia 2025 roku udostępnił jego kod źródłowy w serwisie GitHub.
Liam Cottle został następnie twórcą wieloplatformowej aplikacji klienckiej, natomiast inni współtwórcy rozwijali m.in. klienta internetowego, narzędzia do instalowania oprogramowania układowego i inne elementy ekosystemu.
W 2025 roku Gisborne District Council(inne języki) opisał zastosowanie MeshCore w systemie awaryjnej łączności w regionie Tairāwhiti w Nowej Zelandii. Prace rozpoczęły się po cyklonie Gabrielle, podczas którego doszło do awarii konwencjonalnej infrastruktury telekomunikacyjnej. Pracownicy lokalnego zarządzania kryzysowego wraz z Cottle'em początkowo testowali Meshtastic jako rozwiązanie demonstracyjne. Po stwierdzeniu ograniczeń technicznych do budowy systemu wykorzystano MeshCore, a Cottle opracował aplikację i interfejs internetowy obsługujące regionalną sieć.
MeshCore w Polsce
W 2026 roku działała ogólnopolska społeczność MeshCore Polska, skupiająca użytkowników i operatorów węzłów oraz rozwijająca publicznie dostępną dokumentację dotyczącą uruchamiania i konfiguracji urządzeń. Społeczność wskazywała jako zalecany dla polskiej sieci profil ustawień EU/UK (Narrow): częstotliwość 869,618 MHz, szerokość pasma 62,5 kHz, współczynnik rozpraszania SF8 i współczynnik kodowania CR8. Do pracy z tym profilem zalecane są urządzenia obsługujące pasmo 868 MHz; warianty przeznaczone wyłącznie dla 915 MHz lub 433 MHz nie są z nim zgodne.
Społeczność utrzymuje publiczną, interaktywną mapę węzłów MeshCore. Mapa pozwala filtrować urządzenia według roli, m.in. na węzły klienckie, przekaźnikowe, serwery room server i czujniki, a także wyznaczać trasy przez wskazane węzły, mierzyć odległości, analizować profil terenu oraz wykonywać orientacyjne obliczenia zasięgu radiowego. Statystyki publikowane przez MeshCore Polska obejmują jedynie urządzenia, których operatorzy zdecydowali się ujawnić w Internecie, dlatego nie przedstawiają pełnej liczby działających w kraju węzłów.
Używana przez polską społeczność częstotliwość 869,618 MHz znajduje się w europejskim podzakresie 869,4–869,65 MHz przeznaczonym dla urządzeń bliskiego zasięgu ogólnego stosowania. Zharmonizowane warunki europejskie dla tego podzakresu przewidują maksymalną skuteczną moc promieniowaną 500 mW e.r.p. oraz zastosowanie odpowiednich technik dostępu do widma i ograniczania zakłóceń albo, alternatywnie, ograniczenie aktywności nadajnika do 10%. W Polsce zakres urządzeń radiowych, które mogą być używane bez pozwolenia radiowego, oraz warunki ich pracy określa rozporządzenie Ministra Cyfryzacji z 9 lutego 2022 roku z późniejszymi zmianami.
Biblioteka MeshCore umożliwia wieloskokowe trasowanie pakietów (ang. multi-hop packet routing) w systemach wbudowanych wykorzystujących LoRa oraz inne urządzenia radiowe przesyłające pakiety. Urządzenia mogą przekazywać pakiety za pośrednictwem kolejnych węzłów, zwiększając zasięg komunikacji poza zasięg pojedynczego łącza radiowego. W polskiej literaturze dotyczącej bezprzewodowych sieci kratowych dla takiego sposobu przekazywania danych stosowane są określenia „transmisja wieloskokowa” i „przekazywanie danych za pomocą wielu skoków”. LoRa może być wykorzystywana niezależnie od LoRaWAN również w wieloskokowych topologiach sieciowych; metody trasowania dla autonomicznych sieci kratowych LoRa były także przedmiotem badań eksperymentalnych.
Standardowe oprogramowanie układowe MeshCore definiuje kilka ról urządzeń. Węzeł kliencki (ang. companion) łączy urządzenie radiowe z aplikacją do obsługi wiadomości za pośrednictwem Bluetooth, USB lub Wi-Fi. Węzeł przekaźnikowy (ang. repeater) przekazuje pakiety między kolejnymi węzłami w celu zwiększenia zasięgu sieci, natomiast serwer wiadomości grupowych (ang. room server) przechowuje i udostępnia współdzielone wiadomości, pełniąc funkcję zbliżoną do elektronicznej tablicy ogłoszeń. W standardowej konfiguracji publicznej sieci MeshCore węzły klienckie nie retransmitują pakietów. Przekazywanie ruchu pomiędzy kolejnymi węzłami wykonują węzły przekaźnikowe oraz serwery room server skonfigurowane do retransmisji.
W 2026 roku wprowadzono osobny tryb retransmisji przez węzły klienckie (ang. off-grid client repeat), umożliwiający urządzeniom klienckim również pełnienie funkcji węzłów przekaźnikowych. Tryb ten jest przeznaczony przede wszystkim dla niezależnych sieci tworzonych doraźnie, w których nie ma wydzielonej infrastruktury przekaźnikowej.
MeshCore działa na urządzeniach opartych na mikrokontrolerach wyposażonych w nadajniki-odbiorniki (ang. transceivers) LoRa. Oficjalne repozytorium zawiera obsługę m.in. urządzeń firm Heltec i RAK Wireless oraz innych płytek wyposażonych w układy LoRa. Dokumentacja projektu określa regionalne ustawienia radiowe, obejmujące m.in. zakres 868 MHz dla państw Unii Europejskiej i Wielkiej Brytanii oraz 915 MHz dla Nowej Zelandii, Australii i Stanów Zjednoczonych.
Część obsługiwanych urządzeń ma postać ręcznych komunikatorów przypominających wyglądem smartfon. Przykładem jest LILYGO T-Display P4 – płytka rozwojowa wykorzystująca układ ESP32-P4 firmy Espressif Systems, wyposażona w ekran dotykowy o przekątnej około 4,1 cala, moduł LoRa, Wi-Fi i Bluetooth. Urządzenie demonstrowano z oprogramowaniem MeshCore i interfejsem przypominającym telefon, nie jest ono jednak wyposażone w modem sieci komórkowej.
Ekosystem MeshCore obejmuje oprogramowanie układowe instalowane w obsługiwanych urządzeniach radiowych oraz aplikacje klienckie służące do konfiguracji urządzeń i wymiany wiadomości.
Cechy
Praca bez scentralizowanej infrastruktury – wiadomości tekstowe mogą być przesyłane bez dostępu do Internetu lub sieci komórkowej.
Trasowanie wieloskokowe (ang. multi-hop routing) – pakiety mogą być przekazywane przez węzły pośrednie, co umożliwia komunikację poza bezpośrednim zasięgiem pojedynczego łącza radiowego.
Łączenie zalewania sieci i trasowania po wyznaczonej ścieżce (ang. flood routing i direct routing) – zalewanie sieci może być wykorzystywane do odnalezienia trasy dla wiadomości bezpośrednich, po czym kolejne pakiety mogą korzystać z wyznaczonej ścieżki przez węzły przekaźnikowe; kanały grupowe nadal wykorzystują zalewanie sieci.
Podział urządzeń na role – standardowe oprogramowanie przewiduje role węzła klienckiego (companion), węzła przekaźnikowego (repeater) oraz serwera wiadomości grupowych (room server).
Niski pobór energii – projekt jest przeznaczony do urządzeń LoRa zasilanych m.in. z baterii lub instalacji fotowoltaicznych.
Mechanizmy kryptograficzne – dokumentacja protokołu określa wykorzystanie Ed25519 do identyfikacji, podpisywania i weryfikowania danych, X25519 do uzgadniania kluczy (ang. key agreement), AES-128 do szyfrowania oraz HMAC-SHA-256 do wyznaczania kodu uwierzytelniania wiadomości (ang. message authentication code, MAC). Poziom prywatności zależy od rodzaju kanału: domyślny kanał publiczny korzysta z publicznie znanego klucza, klucze kanałów oznaczonych hasztagiem mogą zostać wyprowadzone z nazwy kanału, natomiast kanały prywatne wykorzystują losowo generowane klucze tajne.
Ograniczenia
Mała szybkość transmisji danych (ang. low data rate) – LoRa jest technologią przeznaczoną do energooszczędnej komunikacji na duże odległości i przesyłania stosunkowo niewielkich ilości danych. Instytut Łączności opisuje LoRa jako technikę umożliwiającą przesyłanie niewielkich pakietów danych na duże odległości przy małym zużyciu energii. Badania i symulacje sieci LoRa wskazują na zależność między przepustowością, zasięgiem i skalowalnością sieci.
Wpływ warunków propagacyjnych – zasięg i jakość połączenia LoRa zależą od środowiska propagacji. Polskie badania eksperymentalne sieci LoRaWAN w środowisku miejskim analizowały skuteczność transmisji w zależności od odległości między węzłem końcowym a bramą oraz charakteru zabudowy na drodze propagacji. Badania terenowe wskazują ponadto na wpływ m.in. ukształtowania terenu, roślinności, przeszkód terenowych oraz wysokości umieszczenia anten.
Zależność od infrastruktury przekaźnikowej – w standardowej publicznej sieci MeshCore węzły klienckie nie retransmitują pakietów, dlatego wieloskokowy zasięg sieci zależy od rozmieszczenia węzłów przekaźnikowych lub serwerów room server z włączoną retransmisją. Opcjonalny tryb off-grid client repeat pozwala również węzłom klienckim pełnić funkcję węzłów przekaźnikowych.
Ograniczenia wykorzystania widma i czasu nadawania – działanie urządzeń podlega przepisom dotyczącym wykorzystywanego w danym regionie pasma radiowego, dlatego MeshCore udostępnia różne ustawienia regionalne. Limity aktywności nadajnika (ang. duty cycle) zależą od konkretnego podzakresu częstotliwości. Przykładowo w europejskim paśmie urządzeń bliskiego zasięgu dla 868–868,6 MHz stosowany jest limit do 1% lub odpowiednie mechanizmy dostępu do widma, natomiast dla 869,4–869,65 MHz przewidziano do 10% albo odpowiednie techniki dostępu do widma i ograniczania zakłóceń. Badania dotyczące sieci kratowych LoRa wskazują, że ograniczenia czasu nadawania mogą wpływać na skalowalność i zasięg sieci; w badaniu opublikowanym w 2025 roku analizowano m.in. wpływ ograniczenia czasu nadawania do 1% obowiązującego w części europejskich pasm nielicencjonowanych.
Przypisy
1234SławomirS.PlutaSławomirS., Badania przepustowości kampusowej bezprzewodowej sieci kratowej Politechniki Opolskiej, [w:] Materiały XIV Konferencji Automatyzacja i Eksploatacja Systemów Sterowania i Łączności (ASMOR 2013), Jastrzębia Góra 2013. typ?
123ScottS.PowellScottS., Help Us Save MeshCore [online], MeshCore Blog, 4 lipca 2026 [dostęp 2026-09-20].
↑RadosławR.MyślińskiRadosławR., RadosławR.SchoeneichRadosławR., Kierowanie i przenoszenie wiadomości przez statki powietrzne w niespójnych sieciach DTN opierając się na informacjach o trasie lotu, „Studia Informatica” (36), 2015, s. 166–175, DOI:10.18276/si.2015.36-12.
↑LoRa pod lupą [online], Instytut Łączności – Państwowy Instytut Badawczy, 14 października 2025 [dostęp 2026-09-20].
↑Asif M.A.M.YousufAsif M.A.M., Edward M.E.M.RochesterEdward M.E.M., BehnamB.OusatBehnamB., MajidM.GhaderiMajidM., Throughput, Coverage and Scalability of LoRa LPWAN for Internet of Things, [w:] 2018 IEEE/ACM 26th International Symposium on Quality of Service (IWQoS), IEEE, 2018, s. 1–10, DOI:10.1109/IWQoS.2018.8624157. typ?
↑AndrzejA.ZankiewiczAndrzejA., Eksperymentalna analiza efektywności transmisji danych w sieci LoRaWAN w eksploatacji na terenie miejskim, „Przegląd Elektrotechniczny” (5), 2023, DOI:10.15199/48.2023.05.08.
↑BilguunmaaB.MyagmardulamBilguunmaaB. i inni, Performance Evaluation of LoRa 920 MHz Frequency Band in a Hilly Forested Area, „Electronics”, 10 (4), 2021, s. 502, DOI:10.3390/electronics10040502.
↑YuY.ChenYuY., GuoG.ShiGuoG., YusufY.SamboYusufY., OluwakayodeO.OniretiOluwakayodeO., MuhammadM.ImranMuhammadM., On the scalability and coverage of LoRa mesh for monitoring linear infrastructure, „IEEE Transactions on Vehicular Technology”, 74 (9), 2025, s. 14606–14619, DOI:10.1109/TVT.2025.3563236.