Kreator EasySkyMesh kompiluje firmware na serwerze, więc nie wymaga instalowania środowiska programistycznego na komputerze. W przeglądarce wskazujesz wersję kodu, model płytki i jej rolę. Nasz GAT562 30S pracował jako companion BLE, czyli radio połączone z aplikacją przez Bluetooth Low Energy. Na etapie budowania urządzenie może pozostać odłączone.
Dla innego obsługiwanego modelu wybierz jego własny cel kompilacji. Opisane dalej porty, pakiet ZIP i procedura wgrywania dotyczą sprawdzonego zestawu; na innej płytce format pliku lub sposób aktualizacji mogą być inne.
PowerSaving to nieoficjalna odmiana MeshCore rozwijana przez IoTThinks, a EasySkyMesh to jej kreator w przeglądarce. Wydanie 18 bazuje na MeshCore 1.18. Budowanie w kreatorze oznacza skompilowanie przygotowanego wariantu projektu. Nie obejmuje edycji kodu ani tworzenia własnych funkcji. Kompilację i wgranie wykonaliśmy 29 października 2026 r. dla gałęzi PowerSaving-v18, a próbę wiadomości uzupełniliśmy 30 października. Użyliśmy prywatnego, kupionego samodzielnie GAT562 30S Mesh Kit. Nie mierzyliśmy zużycia energii.
Przygotuj komputer z przeglądarką obsługującą Web Serial, np. aktualnym Chrome na Windows, przewód USB z transmisją danych oraz telefon z aplikacją obsługującą MeshCore przez BLE. Odsyłacze do aplikacji znajdziesz na stronie projektu. Do opisanej próby z regionem wybierz aplikację obsługującą ustawienie zakresu regionu (Set Region Scope). Nazwy przycisków i ścieżki menu poniżej są przykładem z interfejsu użytego w próbie; w innych aplikacjach lub wersjach ich nazwy i położenie mogą się różnić. W wybranych miejscach podajemy też angielskie etykiety.
1. Wybierz wersję kodu
Otwórz kreator i odszukaj wybór wydania. W naszej próbie wybrano PowerSaving-v18. Zapisz tę nazwę razem z datą budowania. Przed późniejszym wgrywaniem przeczytaj notę PowerSaving18, ponieważ opisuje konkretną odmianę firmware’u.
Sprawdź też sekcję Notes nad wyborem płytki. Zawiera bieżące ostrzeżenia dla konkretnych modeli. Przykładowo 29 października IoTThinks dopisało, że aktualizacja Station G3 w roli companion BLE ze starszego MeshCore lub PowerSaving do PowerSaving18 wymaga eksportu konfiguracji, czystej instalacji pliku merged.bin i ponownego importu ustawień. To odmienna procedura od opisanej tutaj aktualizacji zestawu; nie przenoś między nimi poleceń kasowania pamięci.
Nazwa gałęzi wskazuje źródło, z którego budowany jest program. Gałąź może być aktualizowana, dlatego sama końcówka „v18” nie gwarantuje, że dwie kompilacje wykonane w różnych dniach dadzą identyczne pliki. Zachowaj także odsyłacz do zadania kompilacji.
2. Odszukaj właściwą płytkę i rolę
W wyszukiwaniu celów wpisz model swojej płytki. Dla naszego przykładu jest to gat562_30s. W próbie pojawiło się pięć wariantów: repeater, room server, companion USB, companion BLE oraz KISS modem. Każdy oznacza inne zastosowanie tego samego sprzętu. Do połączenia aplikacji przez Bluetooth wybraliśmy dokładnie:
GAT562_30S_Mesh_Kit_companion_radio_ble
Sprawdź całą nazwę, a nie tylko numer GAT562. Wariant USB nie zastępuje wariantu BLE w tej instrukcji. Podobnie nazwane płytki innych modeli wymagają własnego celu kompilacji.
3. Uruchom kompilację i poczekaj na wynik
Kliknij Build przy wariancie companion BLE. Pozostaw kartę otwartą i nie odświeżaj jej w trakcie zadania. Czas zależy od kolejki i działania usługi. Zamiast kierować się samym upływem czasu, zaczekaj na komunikat Build finished. oraz odsyłacze do plików.
W naszej próbie kompilacja zakończyła się powodzeniem. Przycisk View run prowadził do zadania GitHub Actions. To miejsce, do którego warto zajrzeć, gdy budowanie zgłosi błąd. Zachowaj adres zadania przed zamknięciem karty.
4. Pobierz plik odpowiedni do sposobu aktualizacji
Dla wybranego celu kreator udostępnił dwa pliki. Są w kreatorze przez 90 dni, więc pobierz je od razu. Zachowaj ich oryginalne nazwy, ponieważ zawierają model, rolę oraz gałąź kodu.
| Format | Przeznaczenie w tym wyniku |
|---|---|
| UF2 | Aktualizacja przez USB w trybie bootloadera, czyli programu uruchamiającego urządzenie |
| ZIP | Pakiet DFU, w kreatorze oznaczony jako OTA; w tej próbie wgrany przez USB we flasherze |
Pobrany UF2 miał 955 904 bajty, a ZIP 478 655 bajtów. Są to rozmiary naszej konkretnej kompilacji, a nie wymagane wartości dla każdego kolejnego wydania. Format wybieraj według procedury aktualizacji konkretnego urządzenia i jego bootloadera. W dalszych krokach używamy ZIP-a i połączenia USB.
5. Sprawdź archiwum przed aktualizacją
Otwórz ZIP jak zwykły folder. W naszym pakiecie w głównym katalogu znajdowały się manifest.json, firmware.bin i firmware.dat. Manifest opisuje zawartość pakietu, plik BIN zawiera program, a DAT dane potrzebne mechanizmowi aktualizacji DFU.
Archiwum Source code.zip pobrane z GitHuba zawiera kod źródłowy. Nie jest gotowym pakietem DFU. Komunikat aktualizatora o braku manifest.json jest powodem do ponownego sprawdzenia wybranego pliku, a nie do przypadkowego zmieniania jego rozszerzenia.
6. Wgraj ZIP przez MeshCore Flasher
Przed aktualizacją działającego radia otwórz w aplikacji ustawienia pod ikoną koła zębatego, wybierz eksport ustawień (Export Settings), zaznacz potrzebne elementy i zapisz kopię poza radiem. Zachowaj też poprzedni plik firmware’u. Eksport obejmuje wybrane dane, więc sprawdź zaznaczone pozycje przed zatwierdzeniem. Nie kasowaliśmy pamięci ani nie wymienialiśmy bootloadera w opisanej próbie.
UWAGA: opcja Erase Flash usuwa dane urządzenia. Nie używaj jej w tej procedurze aktualizacji zestawu. Zapewnij stabilne zasilanie, zamknij programy korzystające z portu USB i nie odłączaj kabla podczas zapisu. Antena odpowiednia do pasma powinna być podłączona przed uruchomieniem radia.
- Otwórz MeshCore Flasher i wybierz
Custom Firmware. - Wskaż pobrany pakiet
GAT562_30S_Mesh_Kit_companion_radio_ble-PowerSaving-v18.zip. - Podłącz zestaw przewodem USB obsługującym dane.
- Kliknij
Enter DFU modei w oknie przeglądarki wybierz port radia. DFU to tryb umożliwiający zapis programu. - Zaczekaj na
DFU mode active. W naszej próbie radio przeszło z COM36 na COM38. Numery są przykładem z tego komputera; port bootloadera może mieć inny numer niż port działającego firmware’u. - Kliknij
Flash!. Jeśli przeglądarka ponownie pyta o urządzenie, wybierz port radia w trybie DFU. - Poczekaj na
Flashing complete!i 100%. Dopiero ten komunikat oznacza zakończenie zapisu.
Po wgraniu nasz zestaw wrócił na COM36. Sam napis USB DFU na ekranie urządzenia potwierdza wejście w tryb aktualizacji, a nie jej powodzenie.
7. Połącz aplikację i sprawdź wiadomości
Połączenie z telefonem
- Włącz Bluetooth w telefonie i otwórz aplikację obsługującą MeshCore. Zezwól na dostęp do pobliskich urządzeń, jeśli system o niego poprosi.
- Naciśnij Połącz, wybierz BLE i wskaż własne radio na liście. Porównaj jego nazwę z ekranem zestawu.
- Jeśli pojawi się żądanie parowania, wpisz PIN pokazany przez radio. Nie zakładaj, że wcześniej zmieniony kod ma wartość domyślną.
- Otwórz ustawienia pod ikoną koła zębatego i przewiń do informacji o urządzeniu. Sprawdź model, wersję oraz datę firmware’u.
Nasz zestaw zgłosił GAT562 30S Mesh Kit, PowerSaving-v18 i 29-Oct-2026. Osobny odczyt diagnostyczny przez BLE zakończył się poprawnie, a flagi błędów urządzenia miały wartość zero. Wersja firmware’u w tym miejscu nie jest numerem wersji aplikacji na telefonie.
Parametry radiowe
Przed pierwszą wiadomością sprawdź ustawienia używane przez swoją lokalną sieć. W aplikacji otwórz Ustawienia → Ustawienia radiowe → Wybierz preset (Choose Preset). Wybierz profil uzgodniony z lokalną społecznością, porównaj jego wartości i zapisz zmiany ptaszkiem w prawym górnym rogu. Gdy sieć stosuje własne parametry, wpisz je w tej samej sekcji zamiast wybierać przypadkowy profil kraju.
W naszej próbie odczytaliśmy poniższe wartości. To zapis konfiguracji badanego zestawu, nie zalecenie dla wszystkich sieci:
| Parametr | Wartość w próbie | Znaczenie |
|---|---|---|
| Częstotliwość | 869,618 MHz | Częstotliwość środkowa kanału radiowego |
| BW | 62,5 kHz | Szerokość pasma sygnału |
| SF | 8 | Współczynnik rozpraszania modulacji LoRa |
| CR | 8 | Ustawienie kodowania korekcyjnego, odpowiadające 4/8 |
| Moc TX | 22 dBm | Nastawa mocy nadajnika, około 158 mW; nie pomiar mocy promieniowanej |
W podpaśmie 869,4–869,65 MHz europejskie warunki dla urządzeń bliskiego zasięgu ogólnego stosowania przewidują 500 mW e.r.p. i, jako wariant dostępu do pasma, aktywność nadajnika do 10%, czyli 360 s w ciągu godziny. W tym poradniku przyjmujemy właśnie wariant ograniczania czasu nadawania. E.r.p. to moc promieniowana z uwzględnieniem zysku anteny i strat przewodu; sama nastawa 22 dBm nie potwierdza zgodności całego zestawu. Nie zwiększaj mocy ani nie wyłączaj ograniczeń czasu nadawania w celu uzyskania odpowiedzi. Warunki pasma określa decyzja UE 2025/105, pozycja 54 tabeli.
Kanał, region i pierwszy tekst
Kanał rozmowy, np. #bot, porządkuje wiadomości w aplikacji. Region, np. waw, określa zakres ich przekazywania przez skonfigurowane repeatery. Żadne z tych ustawień nie zmienia częstotliwości radia. Nazwy z poniższego przykładu dotyczą naszej próby w województwie mazowieckim, w Mazowieckiej Sieci MeshCore. W innych regionach nazwy kanałów, zakresy i boty są inne. Przed wykonaniem kroków uzgodnij je z lokalną społecznością i zastąp nimi wartości z przykładu; także w obrębie województwa właściwy zakres zależy od konfiguracji danej sieci.
- Otwórz zakładkę Kanały, następnie menu trzech kropek w prawym górnym rogu i Dodaj kanał.
- Wybierz dołączenie do kanału hashtagowego (
Join a Hashtag Channel). Podaj#bot-mazowsze, dołącz i przejdź do rozmowy. Jeśli pole formularza ma już stały prefiks#, wpisz samą nazwę; na liście ma pojawić się dokładnie#bot-mazowsze. - W rozmowie otwórz menu trzech kropek i Ustaw zakres regionu (
Set Region Scope). - Jeśli
wawnie ma na liście, naciśnij +, wpiszwawmałymi literami, bez#, i zapisz ptaszkiem. Następnie wybierz ten region z listy. Samo dodanie nazwy nie zastępuje jej wybrania. - Wróć do rozmowy. Pod nazwą kanału sprawdź napis Region: waw.
- Wpisz
Kpi naciśnij ikonę wysyłania. W naszej próbie bot najpierw poprosił o ustawienie regionu; po jego wybraniu i ponowieniuKpodpowiedział raportem połączenia.
Jeśli chcesz odtworzyć drugi przykład, dodaj w ten sam sposób kanał #bot, wybierz dla niego waw i wyślij T. Nazwa i obsługiwane komendy bota mogą się zmieniać, więc przed własną próbą sprawdź instrukcję operatora. Publiczny kanał hashtagowy nie służy do przesyłania poufnych danych.
Gdy w twojej sieci nie ma bota, umów się z osobą mającą drugie radio: obie strony wybierają te same parametry radiowe, wspólny kanał i właściwy zakres regionu. Wyślij np. „Test po aktualizacji, proszę o odpowiedź”, a druga osoba niech odpisze krótkim tekstem. W ten sposób sprawdzisz oba kierunki bez polegania na dostępności automatu.
Wykrywanie węzłów pokazało trzy repeatery. Status „Odebrano: 3 repeatery” oznaczał, że zestaw usłyszał retransmisje swojej wiadomości; nie informuje, ilu ludzi przeczytało tekst. Dopiero odpowiedź bota potwierdziła wymianę wiadomości w obie strony.
Na T w kanale #bot bot podał najpierw trzy skoki, 3,3 s i 26,3 km. To jego raport o trasie wiadomości przez sieć, nie pomiar bezpośredniego zasięgu zestawu. Liczba skoków pod odpowiedzią w aplikacji opisuje jej drogę odbioru i może różnić się od trasy wymienionej w raporcie.
8. Powtórz próbę po restarcie
- W ustawieniach aplikacji wybierz Uruchom ponownie.
- Po ponownym uruchomieniu radia połącz aplikację przez BLE.
- Sprawdź model i firmware, listę kanałów oraz region wyświetlany w rozmowie.
- Wyślij wcześniej sprawdzone polecenie do bota albo poproś umówionego odbiorcę o kolejny tekst.
Zrzuty z naszej sekwencji próby pokazują rozłączenie, wybór radia, ponowne połączenie, zachowane trzy kanały i region waw oraz kolejną odpowiedź na T. Bot zgłosił tym razem sześć skoków, 10,7 s i 21,2 km.
Próba obejmuje kompilację, wgranie ZIP-a, połączenie BLE, odbiór ruchu i wymianę tekstów, także po ponownym połączeniu w ramach testu restartu. Nie obejmuje pomiaru oszczędności energii, maksymalnego zasięgu ani długotrwałej stabilności.
9. Gdy coś nie działa
| Objaw | Co sprawdzić najpierw |
|---|---|
| Kreator nie kończy budowania | Otwórz View run i sprawdź wynik zadania. Nie uznawaj samego upływu dwóch minut za sukces. |
| Brak radia w oknie wyboru portu | Sprawdź kabel danych, połączenie USB i obsługę Web Serial w przeglądarce. Zamknij inny program korzystający z portu. |
No port selected |
Otwórz ponownie wybór portu i wskaż radio. Ten komunikat oznacza brak wyboru urządzenia, nie uszkodzenie ZIP-a. |
| Po wejściu w DFU zniknął dotychczasowy COM | Poszukaj nowego portu bootloadera i wybierz go przy Flash!. |
Pakiet nie zawiera manifest.json |
Wróć do plików swojej kompilacji i wybierz ZIP DFU, nie archiwum kodu źródłowego. |
| Radio nie pojawia się przez BLE | Sprawdź, czy wgrano companion BLE, włącz Bluetooth i wymagane uprawnienia; zakończ aktywne połączenie z innym telefonem lub komputerem. |
| BLE działa, ale brak odpowiedzi tekstowej | Porównaj ustawienia radia z lokalną siecią, nazwę kanału i region. Sprawdź, czy bot lub umówiony odbiorca działa i jest osiągalny. |
| Bot prosi o region mimo dodania nazwy | Wybierz region na liście i sprawdź jego nazwę pod tytułem rozmowy, potem ponów jedno polecenie. |
Po naprawie przyczyny wykonaj jedną krótką próbę i sprawdź odpowiedź. Erase Flash nie jest uniwersalnym sposobem naprawy problemów z portem, Bluetooth lub zasięgiem.
Poradnik oparto na próbie RadioMesh z GAT562 30S Mesh Kit, instrukcji EasySkyMesh projektu IoTThinks, dokumentacji MeshCore i opisach konfiguracji polskich społeczności. Wyniki dotyczą wskazanego sprzętu i kompilacji z 29 października 2026 r.
