Wszystko sprawdzone: Wszystkie punkty opisane w tym temacie zostały sprawdzone dwa razy od początku do końca. Więc z dużym prawdopodobieństwem jeżeli tylko będziesz skrupulatnie wykonywał/a opisane tu czynności to czeka Cię sukces.
Dlaczego napisano ten poradnik: Jak zapewne wiesz, nowo wydawane wersje oprogramowania meshtastic (mianowicie wersja v1.3... ) nie do końca są ze sobą spójne. Co uniemożliwia nam korzystanie z udostępnianych przez projekt narzędzi. Nie mamy obecnie dostępu do graficznej wersji "meshtastic-flasher" z której można było łatwo zaprogramować swoje urządzenie i dowolnie zmieniać jego konfiguracje. Przed programistycznymi problemami programowanie i zmiana konfiguracji na systemie windows poprzez "meshtastic-flasher" powinno wyglądać jak pod tym filmem: https://www.youtube.com/watch?v=FC1osjAxC5o . Ten poradnik przeprowadzi Cię jednak przez kroki, które umożliwią Ci uzyskanie tych samych rezultatów, lecz innymi metodami (od kuchni).
Dlaczego taka sytuacja wynikła: Opiekunowie projektu z każdą nowa wersją oprogramowania publikują szereg programistycznych tworów (w ramach projektu meshtastic), które to muszą być ze sobą spójne. Do tego projekt jest udostępniany na różne platformy (linux/mac/windows), co niesie za sobą kolejne komplikacje. Dodatkowo fakt, że projekt meshtastic ma charakter niekomercyjny daje obraz tego z jak wielkimi wyzwaniami mierzą się opiekunowie projektu. Wobec powyższego bądźmy wyrozumiali i cierpliwi. Tymczasem możemy korzystać z przeszłych wersji oprogramowań, które działały prawidłowo.
Nie ma tego złego: Dzięki zaistniałym okolicznościom być może zainteresujesz się systemem operacyjnym z rodziny linux i będzie Ci on służy nie tylko do programowania urządzeń "LoRa", lecz będzie on nowym elementem Twojej niezależności od świata komercyjnego. Jednocześnie zdrowo jest potrafić poradzić sobie w momencie, gdy oficjalne narzędzia zawiodą (jak tutaj w przypadku braku spójności nowych wersji oprogramowania). Wejście w poniższe tajniki daje możliwość pełnej kontroli nad projektem.
Dlaczego ten poradnik taki duży: Ten poradnik został napisany w szczegółowy sposób, lecz nie zniechęcaj się! To nie jest takie trudne, na jakie wygląda. Same czynności zajmują mało czasu i są proste. Wszystkie kroki opisałem możliwie dokładnie zakładając, że wcześniej nie miałeś/aś styczności z systemami innymi niż windows.
Co będzie nam potrzebne: Pendrive minimum 8GB. We wrześniu 2022 kupowałem nowy pendrive marki kingston 32GB za 19zł. Była to internetowa oferta sieci sklepów media-expert. Jeżeli dysponujesz komputerem stacjonarnym to sugeruję domontowanie do niego nowego dysku, który zostanie w całości przeznaczony na system linux. Z dużym prawdopodobieństwem dzięki takiemu zabiegowi unikniesz w przyszłości przykrych niespodzianek wynikających z dzielenia dysku na kilka systemów operacyjnych. Internet będzie potrzebny tylko do czasu instalacji.
1. Pobranie systemu linux opensuse
W dochodzeniu do najprostszej drogi umożliwiającej zrealizowanie powyżej obranego celu system opensuse okazał się być najbardziej przyjaznym narzędziem. Dlatego właśnie poradnik ten publikuję z użyciem tego właśnie systemu. Przechodząc pod adres https://get.opensuse.org wybrałem wersję systemu openSUSE Tumbleweed.

Przeszedłem do "download" i wybrałem "Intel or AMD 64-bit desktops, laptops, and servers (x86_64)" > "Offline Image (4.3 GiB)". Wersja, którą pobrałem nosi symbol od daty RRRR/MM/DD "20220930", ale aktualizacje pojawiają się bardzo często. Już dwa dni później pojawiła się wersja "20221001".

2. Przygotowanie pendrive'a
Przed wrzuceniem obrazu systemu operacyjnego linux opensuse na pendrive dobrze jest dokonać jego wcześniejszego sformatowania. Po sformatowaniu wrzucimy pobrany obraz .iso na pendrive. Do tych czynności posłużę się dwoma małymi programami na system operacyjny windows. Pierwszy to "SD Card Formatter", a drugi to "Win32DiskImager".
SD Card Formatter
Program pobierzesz stąd (strona domowa): https://www.sdcard.org/downloads/format ... -download/. Program ten wykorzystamy do dokładnego sformatowania naszego pendrive'a. Wkładamy pendrive, wybieramy z listy odpowiednią literkę dysku, zaznaczamy "quick format" i formatujemy.

Takiego formatowania dokonujemy, gdyż np. wczesniej na tym pendrivie'ie miałem wgrany obraz innego systemu operacyjnego i dysk pednrive'a został podzielony na kilka partycji jak na grafice poniżej. Zwykłe metody formatowania mogłyby sobie nie poradzić.

Za to ta mała aplikacja bierze pod uwagę wszystkie te partycje.

Gotowe, przechodzimy dalej.
Win32DiskImager
Program pobierzesz stąd (strona domowa): https://win32diskimager.org/. Program ten posłuży nam do wrzucenia obrazu .img na pendrive. Tutaj uwaga! Zanim wybierzemy pobrany wcześniej obraz .iso to musimy zmienić jego rozszerzenie z .iso na .img


Udało się wrzucić obraz systemu na pednrive'a.
Zmiana rozszerzenia
Zmiana rozszerzenia polega na zmianie nazwy pliku z .iso na .img . Możesz się jednak spotkać z sytuacją, gdzie czynność ta będzie niemożliwa do zrealizowania bez zaznaczenia pewnej pozycji w opcjach folderów. Przejdźmy zatem do jakiegokolwiek katalogu, a następnie widok > opcje > opcje folderów > zakładka "widok" i tutaj musimy odznaczyć "Ukryj rozszerzenia znanych typów plików".

3. Uruchomienie instalacji
Doszliśmy do momentu, gdzie pendrive z zainstalowanym systemem linux mamy gotowy. Wspominałem wcześniej, że warto wyposażyć swój komputer w dodatkowy dysk, który w całości przeznaczymy na instalację linux'a. W tym momencie odłączmy dyski na których mamy inne systemy operacyjne. Niech zostanie podłączony wyłącznie nasz nowy dysk, na którym zainstalujemy linux'a.
Wkładamy pendrive do portu USB i uruchamiamy komputer. Podczas rozruchu powinien pojawić się komunikat w stylu "boot menu" oraz przycisk, który uruchomi owe menu. Zazwyczaj jest to ESC, F11, F12. Gdy uda nam się już to ustalić, używamy tego przycisku i przechodzimy do menu. W menu tym wybieramy nasz pendrive. Poniżej informacja podczas uruchamiania komputera nt. przycisku, który otwiera Boot Menu.

Poniżej otwarte Boot Menu skąd wybieramy naszego pendrive'a.

Poniżej otwarta zawartość pendrive'a gdzie możemy zadecydować, co chcemy dalej zrobić. Wybieramy oczywiście instalację systemu.

4. Instalacja linux'a
Jeśli udało nam się dojść do etapu instalacji samego linuxa, to tego procesu nie będę opisywał, gdyż instalacja jest polskojęzyczna oraz intuicyjna. A więc nie powinieneś / powinnaś mieć z tym problemów. Wystarczy przeklikać się dalej. Łączymy się z interentem przewodowo lub poprzez WIFI, aby pobrać ewentualne aktualizacje. Gdy pojawi się taki monit dotyczący środowiska graficznego, ja osobiście wybrałem Pulpit ze środowiskiem graficznym KDE Plasma, lecz może Twoje ulubione środowisko graficzne jest inne?!

5. Przechodzimy do konkretów
System linux openSUSE Tumbleweed mamy już zainstalowany. Tak samo jak na windows'ie w dolnym lewym rogu znajdziemy ikonkę, pod którą znajdziemy menu. Po otwarciu menu szukamy "terminal".

Zanim przejdziemy dalej teraz dwie wskazówki, które mogą okazać się przydatne. Mianowicie jeśli w terminalu rozpoczniemy pisanie nazwy jakiegoś pliku, to wciskając przycisk tab (na klawiaturze) nazwa zostanie uzupełniona automatycznie.
Druga wskazówka to informacja jak odbywa się kopiowanie zaznaczonego w terminalu tekstu. Przytrzymujemy Ctrl+Shift+C (kopiowanie) lub Ctrl+Shift+V (wklejanie).
Poniżej będziemy zaznaczać polecenia i wklejać je (Ctrl+Shift+V) w terminalu. Po każdej czynności wciskamy ENTER.
Otwieramy terminal i wklejamy tam następujące polecenia:
Kod: Zaznacz cały
pip3 install --upgrade pytap2Kod: Zaznacz cały
pip3 install --upgrade meshtasticKod: Zaznacz cały
sudo usermod -a -G dialout userTeraz możemy terminal zamknąć. Przyciskamy Alt+F2. Pojawi się pasek, w który wpisujemy "YaST Software" > ENTER
Znów zostaniemy poproszeni o podanie hasła > ENTER
Otworzy się poniższe okienko, gdzie przechodzimy do zakładki "wyszukiwanie", tam wpisujemy "ESPTool" > "Szukaj". Zaznaczamy wyszukane pozycje po czym klikamy "akceptuj". Otworzy się okno zmian, gdzie klikamy "Zastosuj".

Po tych czynnościach podłączamy nasze urządzenie z modułem LoRa do komputera (poprzez interfejs USB). Zanim jednak to zrobisz upewnij się, że Twój przewód USB zapewnia transmisję danych. To że kabel zapewnia ładowanie nie oznacza, że będzie odbywała się po nim transmisja. Podłącz jakiś telefon/smartfon do komputera i sprawdź, czy jest wykrywany. Jeśli przewód działa to uruchamiamy system ponownie już z podłączonym urządzeniem (LoRa).
6. Pobranie firmware
Firmware należy pobrać z witryny https://meshtastic.org/downloads . Dajmy na to, że chcemy pobrać starszą wersję 1.2.60

Pobrane archiwum o rozszerzeniu .zip należy rozpakować. Najlepiej do osobno utworzonego katalogu, żeby nie tworzyć sobie bałaganu. Ustalmy dla potrzeby kolejnych skryptów, że katalog ten będzie nazywał się "katalog". Nie będę szczególnie skupiał się nad tą częścią, gdyż wszystko robimy tak samo jak na windows'ie poprzez interfejs graficzny.
Czyli jeszcze raz... musimy przejść do katalogu "Pobrane" i tam utworzyć nowy folder o nazwie "katalog", w którym rozpakujemy nowo pobrane archiwum .zip .

Zrobiliśmy co należało. Widzimy tu mnóstwo plików o rozszerzeniu .bin. Każdy plik .bin jest to wersja oprogramowania firmware dla innego rodzaju urządzenia. A więc teraz musimy dowiedzieć się jakie posiadamy urządzenie. Mam nadzieję, że poniższa grafika będzie tu pomocna:

7. Programowanie urządzenia (LoRa)
W powyżej pobranych plikach firmware .bin mamy również pliki, które umożliwią nam jego zaprogramowanie, mianowicie plik device-install.sh . Powyższe pliki pobraliśmy do ~/Pobrane. Tam utworzyliśmy nowy folder o nazwie "katalog". Musimy tam teraz przejść z pozycji terminala. Po otwarciu terminala kopiujemy (Ctrl+C) i wklejamy w terminal (Ctrl+Shift+V) poniższe polecenia:
Kod: Zaznacz cały
cd ~/Pobrane/katalog/Kod: Zaznacz cały
chmod a+x *Kod: Zaznacz cały
./device-install.sh -f ./firmware-tlora-v2-1-1.6-1.2.60.ab959de.bin
Po kilku minutach programowania powyższego urządzenia powinniśmy mieć pierwszy poważny sukces za sobą.

8. Aplikacja na smartfonie
Po zaprogramowaniu urządzenia (z modułem LoRa) przejdźmy do instalacji aplikacji na smartfonie. Aplikacje znajdziemy w sklepie google. Znajdziemy ją również w APKPure, lecz tam znajdziemy tylko najnowsze wersje, a my w tym poradniku chcemy pokazać, jak uruchomić starszą wersję całego oprogramowania. Pod linkiem https://github.com/meshtastic/Meshtasti ... d/releases znajdziemy wszystkie wydawane wersje aplikacji. Klikamy Assets celem rozwinięcia menu i możemy pobrać swoją wersje. Na Twoim smartfonie (android) może stać się coś takiego, że nie powiedzie się wysuwanie menu ASSETS.

W takim przypadku należy użyć innej przeglądarki:

Dla pewności, że oprogramowanie firmware będzie współpracowało z aplikacją na smartfona, wybieramy identyczną wersję 1.2.60 .
Pobieramy plik o rozszerzeniu .apk ale zanim przejdziemy do menedżera plików celem jego instalacji, będziemy musieli przejść do ustawień i wyszukać "instalacja nieznanych plików" oraz je zaakceptować dla danego źródła. Czyli jeżeli plik .apk będziemy pobierać poprzez przeglądarkę "firefox" to musimy zezwolić tej przeglądarce na instalacje aplikacji z nieznanego źródła.


Kilka kroków później widzimy już powyższy komunikat.
pierwsze uruchomienie aplikacji
Przy pierwszym uruchomieniu prawdopodobnie będziemy musieli trochę pokombinować, żeby zminimalizować to kombinowanie podaje kolejność kroków.
1. W pierwszej kolejności musimy przejść do ustawień bluetooth i sparować nowe urządzenie (w naszym przypadku urządzenie LoRa).

Na wyświetlaczu urządzenia pojawi się kod PIN, który będziemy musieli wpisać na ekranie smartfona.

Po poprawnym wpisaniu kodu musimy ponownie uruchomić (zresetować) urządzenie LoRa.
2. Uruchamiamy aplikację meshtastic. Jeśli nie mieliśmy włączonego bluetooth'a to aplikacja poprosi nas o jego uruchomienie. Pamiętaj, że musisz mieć również włączoną nawigację. W ostatniej zakładce klikamy na zielone kółko (plusik) na dole po prawej.

Jeśli nic nie znajduje, to upewnij się, że masz włączony moduł BlueTooth oraz nawigację. Możesz spróbować uruchomić również dostęp do internetu. Rozchodzi się o pobranie dokładnego czasu zegara.

Jeżeli nadal nic to zresetuj urządzenie z modułem LoRa. Powtarzaj powyższe czynności. W ustawieniach bluetooth swojego smartfona przejdź do sparowanych urządzeń i odparuj wcześniej sparowane, aby znów spróbować je sparować.
4. Jeśli wykrywa urządzenie i widzisz poniższą planszę, to kliknij w znalezioną pozycję.

5. Udało się?!
Widzimy, że coś się ładuje.

a po chwili już jesteśmy połączeni

6. Teraz możemy przejść do ustawień zaawansowanych i modyfikować parametry urządzenia LoRa poprzez niniejszą aplikację na Twojego androida.

ustaw REGION
Pierwsze połączenie powinno wyglądać jak na poniższej grafice. Jeśli jesteśmy połączeni z urządzeniem to ikonka chmurki zaznaczona czerwoną strzałką powinna mieć haczyk na środku. Jeśli nie mamy połączenia z urządzeniem (LoRa) to chmurka będzie przekreślona.

To co możemy zrobić w powyższej zakładce, to w miejscu "Twoje imię" możemy wpisać swoją nazwę. Ale co ważniejsze, to w miejscu "Region" możemy (a właściwie musimy) ustalić parametr zgodny z naszym urządzeniem. Jeśli tego nie zrobimy, urządzenie do tego momentu nie będzie w stanie komunikować się wykorzystując swój moduł LoRa. Dla naszego regionu przyjęło się, że wykorzystujemy urządzenia zgodne z częstotliwością 868 MHz, więc zakładam, że takie właśnie urządzenie zakupiłeś/aś. Jeśli moduł LoRa w zakupionym urządzeniu jest na częstotliwość 433 MHz to nie można wybrać sobie dowolnie innej.

Na powyższej grafice widzimy przedostatnią zakładkę, gdzie możemy wybrać kanał, z którego będziemy korzystać. Widzimy tu domyślnie wpisany kanał #LongSlow-V. Gdy naciśniemy ikonkę kłódki pomiędzy przyciskami, będziemy mogli edytować nazwę kanału. Wpisanie jakiejkolwiek innej nazwy kanału niż domyślna spowoduje, że tylko Ci, którzy będą posiadać kod QR będą mogli dołączyć do Twojego kanału. Czyli w tym momencie ktoś tak samo musi nacisnąć ikonkę kłódki, a następnie naciska SCAN po czym skanuje kod QR.
Dostęp do naszego kanału możemy przekazać na dwa sposoby. Pierwszy to taki, że wysyłamy grafikę widocznego w tej zakładce kodu QR. Drugi zaś sposób to wysyłka linku. Klikamy na symbol "udostępnij" obok przycisku SCAN, a tam wybieramy poprzez jakie medium chcemy przekazać komuś link. Samo wejście w linku spowoduje przejście do aplikacji meshtastic i uruchomienie na niej danego kanału.
9. Zmiana konfiguracji urządzenia (LoRa)
No więc podsumowując. Jak na razie mamy wybrany przez siebie firmware wrzucony do urządzenia z modułem LoRa. Odpowiednią wersję aplikacji "meshtastic" mamy zainstalowaną na smartfonie. Udało nam się połączyć! Teraz jednak chcielibyśmy zmienić działanie swojego urządzenia. Na linuxie robi się to podobnie jak podczas programowania, czyli otwieramy terminal i wpisujemy polecenie. Jeśli wszystko działa, połączenie powinno przebiec prawidłowo, a polecenie powinno zostać wysłane do urządzenia. W punkcie 5 tego poradnika wyposażyliśmy się w narzędzia, które powinny nam umożliwiać takie połączenie. Wypróbujmy to! Podłącz do komputera poprzez interfejs USB jedno urządzenie z modułem LoRa (np. marki lilygo). Otwórz terminal jak już robiliśmy to w punkcie 5. Przechodzimy do konkretów i spróbuj wpisać:
Kod: Zaznacz cały
meshtastic --nodes10. Użyjmy innej wersji
Jeżeli jednak powyższy punkt 9 nie powiódł się, spróbujmy podjąć kolejny krok. Przejdźmy więc pod adres https://meshtastic.org/docs/software/py ... standalone gdzie klikamy jak na grafice poniżej w Ubuntu a następnie w Releases:

Tam musimy poszukać wersji najbliższej naszej, aby mieć pewność, że wersja firmware'ru urządzenia oraz aplikacji na androida będą kompatybilne.
Napotkałem jednak problem, gdyż znalazłem wersję 1.2.73 a później już tylko wersję 1.2.58 . Szukanej wersji 1.2.60 nie znalazłem.

Wybrałem więc wersję nowszą 1.2.73 i wysuwając menu klikam na Assets. Z wyświetlonego menu wybieram meshtastic_ubuntu

Plik powinien pobrać nam się do katalogu "Pobrane" w naszym katalogu domowym pod tą samą nazwą (meshtastic_ubuntu). Przejdźmy więc do terminala i wpiszmy w nim:
Kod: Zaznacz cały
cd ~/PobraneKod: Zaznacz cały
chmod +x meshtastic_ubuntu && mv meshtastic_ubuntu meshtasticKod: Zaznacz cały
./meshtastic --nodes
Jeśli działa to jest to znak, że od teraz możemy wysyłać do urządzenia dowolne polecenia zmieniające parametry urządzenia z modułem LoRa.
11. Konfiguracja node'a jako ROUTER
Aby skonfigurować urządzenie (node), do którego nie będziemy posiadać bezpośredniego dostępu oraz które jest ładowane z panelu słonecznego to możemy wykonać kilka poleceń.
Kod: Zaznacz cały
meshtastic --set device.role ROUTERKod: Zaznacz cały
meshtastic --set bluetooth.mode FIXED_PIN
meshtastic --set bluetooth.fixed_pin 123456