Instalacja i konfiguracja oprogramowania dla roli companion
Info
Poradnik zakłada, że na serwerze masz już zainstalowany system Linux. W tym poradniku będzie wykorzystywany system Debian 13 na Raspberry Pi.
Instalacja i konfiguracja oprogramowania
-
Jeśli chcesz podłączyć płytkę z oprogramowaniem MeshCore do portu USB, to zrób to teraz.
-
Jeżeli chcesz podłączyć płytkę z oprogramowaniem MeshCore po Bluetooth, to wpisz polecenie:
Spowoduje to odblokowanie modułu Bluetooth. Jeśli tego nie zrobisz, to oprogramowanie podczas konfiguracji może zwrócić błąd, że nie można uruchomić skanowania w poszukiwaniu urządzeń Bluetooth.
-
Upewnij się, że masz zainstalowane oprogramowanie curl w systemie.
-
Wpis poniższe polecenie w terminalu, które pobierze i uruchomi skrypt instalacyjny oprogramowania nvm:
-
Aby nie musieć wylogowywać się z terminala w celu możliwości wpisania polecenia nvm wklej poniższy kod:
-
Teraz wpisz polecenie instalujące Node Version Manager.
-
Wpisz poniższe polecenie, aby zainstalować program MeshCore Decoder. To oprogramowanie zajmuje się dekodowaniem otrzymanych pakietów z sieci LoRa.
I czekaj, aż wymagane oprogramowanie zostanie zainstalowane.
-
Pobierz i uruchom skrypt do instalacji programu MeshCore Packet Capture, które służy jako most połączeniowy pomiędzy płytką LoRa a serwerem. Wklej poniższe polecenie i wciśnij Enter. Uruchomi się proces instalacji.
-
Pojawi się komunikat:
Informuje on, w jakiej lokalizacji zostanie zainstalowane oprogramowanie. Wciskając Enter pozostawisz domyślną ścieżkę. Możesz również ręcznie podać inną lokalizację. Po wciśnięciu przycisk Enter rozpocznie się instalacja wymaganych zależności. Po ich instalacji wybierz sekcję, która odpowiada twojej sytuacji.
Konfiguracja klienta po USB
-
Otrzymasz następujący komunikat:
ℹ How would you like to connect to your MeshCore device? 1) Bluetooth Low Energy (BLE) - Recommended for T1000 devices • Wireless connection • Works with MeshCore T1000e and compatible devices 2) Serial Connection - For devices with USB/serial interface • Direct USB or serial cable connection • More reliable for continuous operation 3) TCP Connection - For network-connected devices • Connect to your node over the network • Works with ser2net or other TCP-to-serial bridgesW tym omawianym przypadku płytka z oprogramowaniem MeshCore będzie podłączona do serwera po USB. Wpisz zatem 2 i wciśnij przycisk Enter.
-
Jeśli masz podłączoną płytkę do serwera, to zostanie ona wykryta.
ℹ Found 1 serial device: 1) /dev/serial/by-id/usb-Seeed_Studio_XIAO_nRF52840_37BEC92CA7479A89-if00 -> /dev/ttyACM0 2) Enter path manuallyWpisujemy zatem 1 i wciskamy Enter.
Konfiguracja urządzenia po Bluetooth
-
Otrzymasz następujący komunikat:
ℹ How would you like to connect to your MeshCore device? 1) Bluetooth Low Energy (BLE) - Recommended for T1000 devices • Wireless connection • Works with MeshCore T1000e and compatible devices 2) Serial Connection - For devices with USB/serial interface • Direct USB or serial cable connection • More reliable for continuous operation 3) TCP Connection - For network-connected devices • Connect to your node over the network • Works with ser2net or other TCP-to-serial bridgesW tym omawianym przypadku łączysz się z płytką po Bluetooth, zatem wybierz opcję 1 i wciśnij przycisk Enter.
-
Na pytanie:
Czy chcesz przeskanować sieć w poszukiwaniu urządzeń Bluetooth odpowiadasz twierdząco, wpisując Y.
-
Kiedy urządzenie zostanie znalezione, otrzymasz taki komunikat:
ℹ Scanning for BLE devices... This may take 10-15 seconds... ✓ Found 1 MeshCore BLE device(s): 1) MeshCore-44E48A0C () 2) Enter device manually 3) Scan again Select device [0-2] [1]:Płytka znajduje się pod pierwszą pozycją, więc wpisz 1 i wciśnij przycisk Enter.
-
Gdy pojawi się prośba o PIN, to dla płytek bez ekranu wpisz 123456, zaś dla płytek z ekranem PIN pojawi się na wyświetlaczu.
Dalsza konfiguracja...
-
Po konfiguracji sposobu podłączenia płytki należy skonfigurować region.
ℹ IATA code is a 3-letter airport code identifying your geographic region ℹ Example: SEA (Seattle), LAX (Los Angeles), NYC (New York), LON (London) Enter your IATA code (3 letters):Kod IATA to trzyliterowy kod alfanumeryczny służący do oznaczania portów lotniczych na całym świecie. Twórcy oprogramowania proszą, aby ustawić prawidłowy kod z następującego powodu:
You must set a valid IATA code for your region. Invalid IATA codes will be corrected, and using incorrect settings may result in loss of your ability to configure the IATA code for your observer. Please verify your IATA code with a quick Google search, as IATA codes are not ICAO codes or similar identifiers
Jednym słowem, kody IATA wprowadzono w tym systemie po to, aby był porządek i aby można było łatwo filtrować obserwatorów po regionach.
-
Wejdź na tę stronę i w wyszukiwarce Search Airport Codes wpisz nazwę większego miasta, obok którego mieszkasz. W moim przypadku będzie to Kraków.
Po kliknięciu na Search Now otrzymasz wynik wyszukiwania. Oznaczenie, które wykorzystasz znajduje się w kolumnie 3-letter location code, czyli dla Krakowa jest to KRK. Wpisz zatem w konsoli odpowiedni dla Ciebie kod IATA i wciśnij przycisk Enter. (zachowaj wielkość liter).
-
Kolejny krok to konfiguracja JWT Token.
Jest to krok całkowicie opcjonalny, ale wytłumacze, o co w nim chodzi. Owner Public Key umożliwia ustawienie innego klucza publicznego niż klucz publiczny wygenerowany na płytce. Ten klucz jest wyświetlany na stronie. Opcja Owner Email umożliwia podanie adresu e-mail, który nie jest wyświetlany na stronie, ale dzięki niemu system dopisze płytki do konta i będziesz mogli nimi w pewien sposób zarządzań. Aby to działało, konieczne jest utworzenie konta na stronie z tym samym adresem e-mail.You can optionally configure owner information for Let's Mesh Analyzer: 1. Owner Public Key: The public key of the owner of the MQTT observer (64 hex characters, same length as repeater public key) 1. Owner Email: Email address of the observer owner Would you like to configure an owner public key? [y/N]:Jest to ktok całkowicie opcjonalny i możesz go pominąć wpisując n, lub skonfigurować wybierając Y.
-
Kolejne pytanie dotyczy tego, czy chcemy przesyłać dane do serwerów MQTT w sposób redundantny.
Wpisz Y i wciśnij Enter.ℹ Enable the LetsMesh.net Packet Analyzer (US + EU servers) for redundancy? • Real-time packet analysis and visualization • Network health monitoring • Redundant servers: mqtt-us-v1.letsmesh.net + mqtt-eu-v1.letsmesh.net • Requires meshcore-decoder for authentication Enable LetsMesh Packet Analyzer with redundancy? [Y/n]: -
Kolejny krok to wybór sposobu prezentowania zebranych danych.
ℹ MQTT topics define where different types of data are published. ℹ You can use template variables: {IATA}, {IATA_lower}, {PUBLIC_KEY} Choose topic configuration: 1) Default pattern (meshcore/{IATA}/{PUBLIC_KEY}/status, meshcore/{IATA}/{PUBLIC_KEY}/packets) 2) Classic pattern (meshcore/status, meshcore/packets, meshcore/raw) 3) Custom topics (enter your own)Aby zabrane dane wyświetlały się na stronie MeshCore Packet Analyzer musisz wybrać opcje 1. W przeciwnym wypadku system będzie odrzucał wysyłane przez Ciebie dane. Ta informacja pochodzi prosto od dewelopera tego narzędzia.
-
Kolejne pytanie dotyczy dodatkowych brokerów MQTT.
Odpowiedz negatywnie wpisując n.
-
Teraz musisz wybrać w jaki sposób chcesz zainstalować konfigurowane oprogramowanie.
Choose your preferred installation method: 1) System Service (recommended for production) • Runs automatically on boot • Managed by systemd (Linux) or launchd (macOS) • Automatic restart on failure 2) Docker Container (recommended for development/testing) • Isolated environment • Easy to update and manage • Works on Linux, macOS, and Windows 3) Manual installation only • No automatic startup • Run manually when neededTwórcy zalecają wybranie opcji 1 dla serwera produkcyjnego. W takim przypadku oprogramowanie zostanie zainstalowane bezpośrednie w systemie i będzie działać jako usługa systemowa.
-
Czy chcesz, aby usługa startowała wraz ze starem systemu?
Jeśli tak, wpisz Y, jeśli nie, wpisz n. -
Czy chcesz teraz uruchomić usługę?
W przypadku odpowiedzi twierdzącej wpisz Y, w przypadku negatywnej wpisz n.
-
Po uruchomieniu usługi otrzymasz podsumowanie wraz z komendami do obsługi programu:
Service management: Start: sudo systemctl start meshcore-capture Stop: sudo systemctl stop meshcore-capture Status: sudo systemctl status meshcore-capture Logs: sudo journalctl -u meshcore-capture -f Resource monitoring: CPU usage: sudo systemctl show meshcore-capture --property=CPUUsageNSec Memory: sudo systemctl show meshcore-capture --property=MemoryCurrent Tasks: sudo systemctl show meshcore-capture --property=TasksCurrentZapisz sobie te polecenia, ponieważ w przyszłości mogą okazać się przydatne.
