IoT w Mikrotik’u
W ostatnim czasie nastąpił bardzo szybki rozwój sieci opartych o protokół LoRaWAN wykorzystującym pasmo ISM. MikroTik chcąc uczestniczyć w tym procesie, przygotował nowe produkty wspierające ten otwarty standard. W ofercie pojawiły się:
dla częstotliwości 863-870 MHz:
oraz odpowiednio dla częstotliwości 902-928MHz
• R11e-LR9
• wAP LR9 kit
W Europie wykorzystywany jest zakres częstotliwości 863-870 MHz. Architektura sieci opartej o protokół LoRaWAN wymaga obecności serwera sieci. Poniżej znajduje się opis konfiguracji na urządzeniu, w nomenklaturze protokołu zwanej Gatewayem. W dalszej części znajduje się konfiguracja w popularnym rozwiązaniu OpenSource Chirpstack, będącym serwerem aplikacyjnym oraz serwerem sieci.
Opis ustawień i konfiguracji w Gatewayu
Aby dokonać konfiguracji modułu LoRa, należy zainstalować paczkę lora.npk.
Rozpoczynamy od ustawienia Network Serwera który będzie zarządzał siecią. Do wyboru mamy predefiniowane ogólnodostępne network serwery zrzeszone wokół społeczności TTN. Mamy również możliwość wprowadzenia adresu
własnego serwera. Ze względu na dostępne poradniki pokazujące konfigurację w sieci TTN, w tym artykule zaprezentuję konfigurację dla serwera sieci Chirpstack. Jest to bardzo popularne rozwiazanie opensource.
Z menu wybieramy „LoRa”, następnie przechodzimy na zakładkę serwer, następnie „+”. Otwiera się nowe okno w którym dodajemy parametry naszego network serwera tj. „Adress” – adres IP naszego serwera, „Up port” – port dla wiadomości typu uplink czyli przesyłanych w górę sieci oraz analogicznie „Down port” – dla wiadomości typu downlink czyli w dół sieci. Ze względu na to, że w paczce został zaimplementowany „Semtech UDP legacy packet forwarder”, podane porty są dla protokołu UDP. Dla Chirpstack są to porty 1700, tak w górę jak i w dół.
W kolejnym kroku przechodzimy na zakładkę Devices, w którym widzimy listę modułów radiowych z których możemy skorzystać. Domyślnie moduły radiowe są wyłączone.
Po dwukrotnym kliknięciu na daną kartę otwiera nam się widok szczegółowy:
W oknie „Lora Device” dokonujemy zmiany „Network Servers” wybierając „twoj-serwer”. Na zakładce Forward możemy ustawić które ramki LoRaWAN mają zostać przekazywane do network serwera, czy mają to być tylko ważne
pakiety, czy również z błędami CRC, lub suma CRC nie jest w ogóle sprawdzana.
Ciekawą grupą do konfiguracji jest SpoofGPS, szczególnie przydatną gdy mamy w sieci większą liczbę gateway, które nie posiadają wbudowanego GPS. Możemy wtedy przesłać do network serwera współrzędne geograficzne, które pomogą nam zobrazować pozycje gateway na mapie.
W przypadku podłączenia urządzenia poprzez VPN do network serwera konieczne może być ustawienie „Src. Address” tak by network serwer wiedział na jaki adres ma wysyłać ramki downlink.
Klikamy „Apply”, następnie „Enabled”. Nasz gateway odbiera już ramki i przesyła je na wskazany przez nas serwer.
Przechodząc na zakładkę „Channels”, możemy zaobserwować domyślne 10 kanałów, z czego 3 pierwsze dla protokołu LoRaWAN są wymagane. Otwierając informacje o danym kanale możemy zaobserwować jaka jest aktualna szerokość kanału, na histogramie poziomy sygnału, jak również typ oraz aktualną częstotliwość. Typ może przybierać wartości LoRa – czyli wykorzystanie modulacji LoRa o tylko jednym wybranym współczynniku rozproszenia „SF”. Typ MSF oznacza Multi Spreading Factor, czyli możliwe jest skorzystanie z różnych współczynników rozproszenia, a typ FSK informuje, że dany kanał korzysta z modulacji kluczowania częstotliwości.
Przechodząc na zakładkę „Traffic” możemy zaobserwować ruch pakietów.
Szczegółowe informacje o każdym pakiecie możemy obejrzeć po dwukrotnym kliknięciu na dany pakiet.
Możemy zaobserwować wszelkie parametry radiowe jak również „Payload” radiowy oraz informacje nt. Adresu urządzenia, Payloadu App jaki przenosi. Kodowanie payload jakie możemy zaobserwować to Base64. Informacje te
są zaszyfrowane przy użyciu kluczy AES-128.
Konfiguracja gateway w Chirpstack
Mając zainstalowane oprogramowanie Chirpstack musimy dla podłączenia gatewaya Mikrotika utworzyć dla niego „Gateway-profiles”. Wskażemy w nim obsługiwane częstotliwości oraz interwał czasowy z jakim będziemy odbierali
statystyki z gatewaya, jak również sprawdzając czy gateway jest dostępny.
Przechodzimy do naszego network serwera na zakładkę „Gateway-profiles”. Po czym klikamy na „Create” i tworzymy nowy profil o nazwie „mikrotik”. Wpisujemy obsługiwane kanały zgodnie z poniższymi screenami, które
zawierają parametry odczytane z zakładki „Channels”.
By dodać kanały które są dodatkowe poza wymaganymi, klikamy „Add Extra Channel”
Po wprowadzeniu wszystkich kanałów, klikamy „Create Gateway Profile” po czym przystajemy do dodania naszego gatewaya do Network serwera.
Przechodzimy na zakładkę „Gateways”.
Klikamy „+ Create”.
Uzupełniamy pola “Gateway name” – nadajemy przyjazną nazwę naszego gatewaya.
“Gateway Description” – możemy dodać kilka słów komentarza
“Gateway ID” – kopiujemy wartość Gateway ID, z LoRa Device:
Wybieramy Network serwer z którego będziemy korzystali, jak również profil usług jakie będą wymieniane.
Dokonujemy również wskazania utworzonego w poprzednim kroku Gateway Profil.
Zatwierdzamy utworzenie nowego gateway, będzie on już widoczny na naszej liście.
Przechodząc na zakładkę „Live LoRaWAN Frames”, możemy zaobserwować pełen ruch na gateway:
Piotr Pabian