Tworzenie sieci Thread z użyciem płyt Silicon Labs EFR32 i OpenThread w wersji Simplicity Studio v5

1. Wprowadzenie

26b7f4f6b3ea0700.png

Opracowana przez Google implementacja OpenThread (OT) to implementacja Thread typu open source. Udostępniliśmy rozwiązanie OpenThread, aby szerzej udostępnić deweloperom technologię sieciową wykorzystywaną w produktach Google Nest i przyspieszyć opracowywanie produktów do domów inteligentnych oraz budynków komercyjnych. Dzięki wąskiej abstrakcyjnej warstwie abstrakcji platformy i niewielkiej ilości pamięci OpenThread jest wysoce przenośny. Obsługuje zarówno projekty układów SOC, jak i współprocesorów sieciowych (NCP).

Specyfikacja Thread Specification definiuje oparty na protokole IPv6 niezawodny, bezpieczny i oszczędny protokół komunikacyjny między urządzeniami mobilnymi, przeznaczony do zastosowań domowych i komercyjnych.

Usługa Silicon Labs ulepszyła środowisko OpenThread, aby obsługiwało je na sprzęcie Silicon Labs. Ten kod źródłowy jest dostępny na GitHubie oraz jako pakiet SDK zainstalowany z użyciem Simplicity Studio 5 (SSv5). Pakiet SDK zawiera w pełni przetestowany zrzut kodu źródłowego GitHub. Obsługuje ona szerszą gamę sprzętu niż wersja GitHub. Zawiera też dokumentację i przykładowe aplikacje niedostępne na GitHubie.

Z tego przewodnika dowiesz się, jak zacząć tworzyć aplikacje OpenThread przy użyciu pakietu SDK Silicon Labs OpenThread SDK i Simplicity Studio 5. Na ilustracji poniżej widać płytki i sprzęt skonfigurowany do pracy z routerem OTBR (OTB) oraz 2 urządzenia Thread, które zostały użyte w ćwiczeniach z programowania.

EFR32MG – konfiguracja sprzętu

Czego się nauczysz

  • Jak utworzyć projekt OpenThread przy użyciu środowiska IDE Silicon Labs Simplicity Studio.
  • Dowiedz się, jak tworzyć i flashować pliki binarne interfejsu wiersza poleceń OpenThread w przypadku tablic radiowych Silicon Labs.
  • Jak skonfigurować Raspberry Pi 3B lub nowszy jako router granic OpenThread (OTBR) przy użyciu Dockera.
  • Jak utworzyć sieć Thread w OTBR.
  • Poza zakresem uruchomienia urządzeń w sieci Thread.
  • Jak sprawdzić komunikację Thread między węzłami przy użyciu polecenia ping.

2. Wymagania wstępne

Sprzęt:

  1. 3 tablice radiowe EFR32MGxx – można używać dowolnej kombinacji tych urządzeń. W tym ćwiczeniu w Codelabs używane jest BRD4166A jako RCP, a 2 BRD4168A jako urządzenia pełnowątkowe.
    • EFR32MG12 (BRD4161A, BRD4166A, BRD4170A, BRD4304A)
    • EFR32MG13 (BRD4168A)
    • EFR32MG21 (BRD4180A, BRD4180B)
    . Jeśli dopiero zaczynasz, możesz kupić zestaw startowy do wątków EFR32, który zawiera wymienione powyżej płytki.
  2. BRD4001A: bezprzewodowe płyty inicjujące startowe (WSTK) do hostowania tablic radiowych. Z wyjątkiem BRD4166A, wszystkie stacje radiowe muszą mieć płytę główną początkową. Kabel mini USB do podłączenia i zasilania płyt głównych lub kabla micro USB do urządzenia BRD4166A.

WSTK AEM

  1. Komputer Raspberry Pi 3B lub nowszy z obrazem systemu operacyjnego Raspbian Stretch Lite lub Raspbian Stretch z komputerem podłączony do internetu przez Ethernet. Skonfigurowaliśmy go jako OTBorder Router.
  2. System hosta Windows/Linux/Mac z co najmniej 2 portami USB i połączeniem internetowym. Sprawdź wymagania dotyczące sprzętu i systemu operacyjnego w SSv5.
  3. Co najmniej jeden kabel Ethernet do podłączenia Raspberry Pi do internetu. Platformy WSTK obsługują również debugowanie i flashowanie przez IP, więc opcjonalnie możesz użyć dodatkowych kabli Ethernet do połączenia WSTK z systemem hosta za pomocą przełącznika Ethernet.

Oprogramowanie:

  • Aplikacja Simplicity Studio v5 została zainstalowana i zaktualizowana w systemie Windows/Linux/macOS za pomocą programu
    • Łańcuch narzędzi GNU ARM
    • Gecko SDK Suite w wersji 3.2.0 lub nowszej i pakiet SDK OpenThread Silicon Labs.

3. Konfiguracja sprzętu

Te ćwiczenia z programowania zostały utworzone przy użyciu

  1. EFR32MG12 BRD4166A Thunderboard Sense 2, jak pokazano po lewej stronie.
  2. Dwa telefony EFR32MG13 BRD4168A, jak pokazano z prawej strony.
  3. Aplikacja Simplicity Studio w wersji 5 została zainstalowana na urządzeniu z systemem macOS Catalina 10.15.7 z zainstalowanym oprogramowaniem
    1. Gecko SDK 3.2.0
    2. GNU ARM 7.2.1

BRD4168A

Podłącz każdą płytkę główną pakietu startowego bezprzewodowego do komputera przez USB, jak pokazano na ilustracji poniżej. Te połączenia pozwolą na zaprogramowanie i analizę sieci RCP i urządzeń końcowych. Najpierw użyjemy komputera hosta, aby zaprogramować urządzenie BRD4166A w oprogramowaniu układowym ot-rcp, a następnie połączyć je z Raspberry Pi. Opcjonalnie urządzenia końcowe można podłączyć do komputera hosta za pomocą wspólnego przełącznika Ethernet. Zestawy startowe obsługują też programowanie i analizę sieci przy użyciu protokołu IPv4.

Połączenia

4. Konfiguracja oprogramowania układowego

Możesz to zrobić na 2 sposoby. Obie opcje umożliwiają flashowanie oprogramowania układowego wymaganego w tym ćwiczeniu z programowania.

  1. Projekty: (zalecane) tworzenie, kompilowanie i flashowanie przykładowej aplikacji. Ta opcja umożliwia dostosowanie aplikacji w projekcie.OR
  2. Wersje demonstracyjne: (opcjonalnie) prześlij gotowe wersje demonstracyjne dowolnej z przykładowych aplikacji bezpośrednio na tablicy. Użytkownicy są zachęcani do wypróbowania oprogramowania w wersji demonstracyjnej jako opcjonalne ćwiczenie. Zapoznaj się z sekcją „Opcjonalna konfiguracja oprogramowania układowego – wersje demonstracyjne”. na końcu tego ćwiczenia z programowania.

W tym ćwiczeniach z programowania użyjemy metody opartej na projekcie.

Tworzenie projektów na podstawie przykładów

Utworzymy 2 projekty. Projekt ot-rcp dla BRD4166A i projekt ot-cli-ftd dla dwóch typów BRD4168A. Wykonaj poniższe czynności i wybierz odpowiednią aplikację próbną dla swojej tablicy.

  1. Otwórz menu Plik w Studio i wybierz Nowy > Kreator projektu Silicon Labs. Otworzy się okno elementu docelowego, pakietu SDK i pęku narzędzi. Nie zmieniaj domyślnego łańcucha narzędzi Simplicity IDE / GNU obsługiwanego przez OpenThread. Kliknij Dalej.
    • Tablice docelowe: pokazuje wybraną tablicę radiową (BRD4168A) wraz z płytką główną (BRD4001A).
    • Urządzenie docelowe: to pole pokazuje wbudowany mikrokontroler (MCU). BRD4168A ma wbudowany MCU EFR32MG13.
    • SDK: tutaj możesz wybrać wersję OT, której używasz. Informacje z pakietu obejmują tag SDK i kompilację z OpenThread z Silicon Labs, np. Platform 4.0.1.0 i OpenThread 2.0.1.0 (GitHub-55af6ce2c).
    • IDE/ łańcuch narzędzi: łańcuch narzędzi, który zostanie użyty do kompilacji projektu OT. Używamy GNU ARM.

Kreator nowego projektu

  1. Otworzy się okno wyboru przykładowego projektu. Zobaczysz listę przykładowych projektów. Użyj opcji Typ technologii Wątek i filtrów słów kluczowych, aby wyszukać konkretny przykład. Pamiętaj, by zapisać numer wersji Gecko SDK Suite. Ten tag wersji będzie potrzebny podczas konfigurowania Raspberry Pi jako routera Border Router. Wybierz ot-cli-ftd i kliknij DALEJ.

Kreator nowego projektu – krok 2

  1. Otworzy się okno Konfiguracja projektu. Możesz tu zmienić nazwę projektu, domyślną lokalizację pliku projektu i określić, czy chcesz utworzyć połączenie z plikami projektu czy je skopiować. Połączone pliki projektu wskazują pakiet SDK, a wszelkie wprowadzane przez Ciebie modyfikacje są wprowadzane w pakiecie SDK i wykorzystywane w przyszłych projektach. Kopiowanie źródeł projektu pozwala edytować kopię lokalną projektu, dzięki czemu pliki SDK pozostają niezmienione. „Połącz pakiet SDK i skopiuj źródła projektu” to domyślna i zalecana opcja. Kliknij ZAKOŃCZ.

Kreator nowego projektu – krok 3

  1. Otworzy się Perspective IDE Perspective z otwartym konfiguratorem projektów na karcie PRZEGLĄD.

Opis projektu

Aby skonfigurować projekt, otwórz kartę Komponenty oprogramowania. W tym celu musisz zainstalować i odinstalować komponenty oraz skonfigurować zainstalowane komponenty. Zainstalowane komponenty są sprawdzane. Kliknij Zainstalowane komponenty, aby zobaczyć przefiltrowaną listę komponentów zainstalowanych przez przykładową aplikację. Wszystkie wprowadzone zmiany są zapisywane automatycznie, a pliki projektu są generowane automatycznie. Postęp jest widoczny w prawym dolnym rogu perspektywy Simplicity IDE.

Komponenty oprogramowania

W tej wersji demonstracyjnej użyjemy domyślnej konfiguracji przykładowych aplikacji. Powtórz powyższe kroki, aby utworzyć projekt ot-rcp na drugiej tablicy.

Tworzenie i flashowanie projektów

Twórz i flashuj zarówno projekty ot-rcp, jak i ot-cli-ftd.

  1. Po skonfigurowaniu projektu kliknij Kontroler kompilacji (ikona młotka) na górnym pasku narzędzi. Możesz też kliknąć projekt prawym przyciskiem myszy i wybrać Utwórz projekt.

Przycisk kompilacji projektu

  1. Postęp jest widoczny w konsoli, a w prawym dolnym rogu widać pasek postępu. W tym oknie wyjściowym pojawią się również wszystkie błędy i ostrzeżenia związane z projektem.

Okno wyjściowe kompilacji projektu

  1. Obrazy binarne są generowane po pomyślnej kompilacji projektu. Obraz binarny możesz zainstalować w widoku Eksploratora projektów. W podkatalogu kompilatora znajdź plik .bin, .hex lub .s37. Kliknij plik prawym przyciskiem myszy i wybierz Flash do urządzenia. Jeśli masz podłączonych więcej niż jedno urządzenie, wybierz to, które chcesz zaprogramować, a potem kliknij OK. Otworzy się program Flash Programmer z wpisaną ścieżką pliku. Kliknij PROGRAM.

Flash

5. Podsumowanie konfiguracji oprogramowania

Na tym etapie należało utworzyć, skompilować i zainstalować odpowiednie oprogramowanie układowe na płytce radiowej. Po zaktualizowaniu urządzenia ot-rcp do BRD4166A odłącz go od systemu hosta i podłącz tę płytkę do Raspberry Pi.

Po ukończeniu tej sekcji konfiguracja sprzętu sieciowego Thread będzie wyglądać tak.

Konfiguracja EFR32MG

6. Skonfiguruj konsolę szeregową dla urządzenia OT-Cli-ftd

Aby uruchomić interfejs konsoli, w perspektywie Simplicity IDE kliknij prawym przyciskiem myszy swoje urządzenie J-Link w oknie Device View / Debug Adapters (Wyświetlanie urządzeń/adaptery debugowania). Wybierz Uruchom konsolę. Aby wyświetlić monit w konsoli, wybierz kartę Serial 1 i naciśnij Enter. Sprawdź stan węzła FTD.

FTD Studio – widok konsoli

Zauważysz, że nie mamy jeszcze konsoli dla usługi ot-rcp. W następnym kroku skonfigurujemy Raspberry Pi jako router graniczny OT oraz skonfigurujemy konsolę dla ot-rcp.

7. Konfigurowanie Raspberry Pi jako routera granicznego

Silicon Labs zaleca wdrożenie kontenera Dockera dla firmy przy użyciu OTBR. Uruchamianie OTBR w kontenerze umożliwia tworzenie łatwych do wdrożenia artefaktów oraz szybkie prototypowanie i testowanie.

Obrazy OTBR Silicon Labs są hostowane w siliconlabsinc DockerHub z tagami. Każdy tag odpowiada wersji pakietu GSDK:

https://hub.docker.com/r/siliconlabsinc/openthread-border-router/tags

Kontenerów Dockera należy używać z RCP utworzonymi za pomocą Simplicity Studio 5 w przypadku danej wersji. Pamiętaj, aby dopasować wersję tagu kontenera do wersji GSDK, której używasz do testowania. Jeśli na przykład wersja GDSK to Gecko SDK Suite v4.0.1 (140) w momencie wyboru ot-rcp w oknie Przykładowego wyboru projektu, użyj obrazu siliconlabsinc/openthread-border-router:gsdk-4.0.1.

Wersja pakietu GSDK

Konfiguracja Raspberry Pi

  1. Na karcie SD prześlij obraz systemu operacyjnego Raspbian Stretch Lite lub Raspbian Stretch with Desktop.
  2. Możesz połączyć się przez SSH z Raspberry Pi lub wybrać pracę bezpośrednio z Raspbian Desktop. Otwórz terminal.
  3. Pamiętaj, aby przed zainstalowaniem Dockera zaktualizować repozytoria lokalne i menedżer pakietów (apt-get update i apt-getupgrade).

Zainstaluj obraz Dockera

  1. Zainstaluj Dockera za pomocą następującego polecenia w RPi.
    curl -sSL https://get.docker.com | sh
    
  2. Po zakończeniu możesz zmienić ustawienia użytkownika Dockera tak, aby nie wymagało sudo przed każdym poleceniem. Wymagany restart.
    sudo usermod -aG docker $USER
    
  3. Aby zainstalować kontenery, uruchom następujące polecenia. Pamiętaj, że z RCP może być uruchomiony tylko jeden kontener routera granicznego jednocześnie. Pamiętaj też, aby dopasować wersję pakietu GSDK Simplicity Studio do właściwego obrazu Dockera. Przykład: gsdk-4.0.1:
    docker pull siliconlabsinc/openthread-border-router:gsdk-4.0.1
    

Skonfiguruj i uruchom Dockera

  1. Musisz skonfigurować port TTY, którego chcesz używać na potrzeby OTBR do łączenia RCP podczas uruchamiania. Poszukaj portu TTY urządzenia RCP. Najłatwiej to zrobić, szukając wpisu /tty/dev... po połączeniu RCP. Powinna to zwykle być wartość /dev/ttyUSB0 lub /dev/ttyACM0.
  2. Uruchom instalację Dockera za pomocą tego polecenia. Pamiętaj, aby zastąpić nazwę obrazu Dockera odpowiednią wersją pakietu GSDK. Przykład: gsdk-4.0.1:
    docker run -d --name "otbr" \
     --sysctl "net.ipv6.conf.all.disable_ipv6=0 net.ipv4.conf.all.forwarding=1 net.ipv6.conf.all.forwarding=1" \
     -p 8080:80 --dns=127.0.0.1 -it \
     --volume /dev/ttyACM0:/dev/ttyACM0 \
     --privileged siliconlabsinc/openthread-border-router:gsdk-4.0.1 \
     --radio-url spinel+hdlc+uart:///dev/ttyACM0?uart-baudrate=460800 \
     --backbone-interface eth0
    
    • -d dba o to, aby kontener działał w trybie odłączonym.
    • Uruchomione logi kontenera możesz wyświetlić w każdej chwili za pomocą polecenia docker logs.
    • Element --name pozostanie przyklejony, dopóki kontener Dockera nie zostanie prawidłowo zamknięty (lub usunięty).
    • Port 8080 wskazuje port serwera WWW hostującego stronę internetową zarządzania routerem Border Router.
    • Parametr ?uart-baudrate=460800 jest wymagany w opcjach adresów URL, aby ominąć problemy z fragmentacją / ponownym montażem w usłudze UART w przypadku kosztownych operacji, takich jak DTLS z długimi pakietami IPv6.

Interakcja z węzłem RCP

Po uruchomieniu Dockera możesz komunikować się z węzłem RCP za pomocą interaktywnej powłoki przy użyciu tego polecenia. Sprawdź stan węzła RCP.

$ docker exec -ti otbr sh -c "sudo ot-ctl"
> state 
disabled
Done

Możesz wyświetlić listę uruchomionych identyfikatorów kontenerów

$ docker ps -aq

Możesz sprawdzić okno z kontenerem Dockera OTBR, w którym są uruchamiane dane wyjściowe logów routera Border Router, lub wykonać te czynności:

$ docker logs [container-id] -f

Opcjonalnie możesz zatrzymać, usunąć lub zamknąć obraz, jeśli kontener Dockera został wczytany prawidłowo.

$ docker stop otbr
$ docker rm otbr
$ docker kill otbr

Opcjonalnie: aby zamknąć powłokę, naciśnij CNTL + C.

W tym momencie powinny być już 3 konsole.

  1. Dwie konsole ot-cli-ftd w Simplicity Studio skonfigurowane jako urządzenia Full Thread.
  2. Jedna interaktywna powłoka ot-ctl na Raspberry Pi skonfigurowana jako router graniczny OT.

Teraz możemy utworzyć sieć Thread.

8. Tworzenie sieci Thread

Skonfiguruj RCP

Aby utworzyć sieć, zaczynamy od powłoki ot-ctl w OTBR, która służy do komunikacji z węzłem RCP. Wpisz te polecenia w poniższej kolejności:

Indeks

Polecenie

Opis polecenia

Oczekiwana odpowiedź

1

dataset init new

Utwórz nową konfigurację sieci.

Gotowe

2

dataset commit active

Zatwierdź nowy zbiór danych w aktywnym zbiorze danych operacyjnych.

Gotowe

3

ifconfig up

Włącz interfejs Thread.

Gotowe

4

thread start

Włącz i podłącz operację protokołu Thread.

Gotowe

Odczekaj 10 sekund, aż interfejs wątku się uruchomi.

5

state

Sprawdź stan urządzenia. Powinien to być lider.
Inne możliwe stany: offline, offline, Odłącz,
podrzędny, router lub lider

Leader
Done

6

dataset

Wyświetl konfigurację sieci.
Twoje wartości będą się różnić od tych w tym ćwiczeniu w Codelabs.
Zanotuj kanał, klucz sieci,
nazwę sieci i identyfikator PAN.

. 1
\n mogły Cię: 39ba71f733367160








Użyjemy numeru kanału i klucza sieci w ot-cli-ftd, aby złączyć 2 punkty końcowe z tą siecią wątków.

Konfiguracja i dodawanie FTD do naszej sieci Thread (metoda poza zakresem)

Jeśli chodzi o metodę poza zakresem, znamy wszystkie informacje dotyczące zabezpieczeń i ręcznie dodajemy węzeł. W konsolach Simplicity dodaj do naszej sieci oba adresy FTD, używając następujących poleceń w podanej niżej kolejności.

Indeks

Polecenie

Opis polecenia

Oczekiwana odpowiedź

1

dataset channel 20

Ustaw kanał używany przez OTBR.

Gotowe

2

dataset networkkey 81ae2c2c17368d585dee71eaa8cf1e90

Aby urządzenie mogło podłączyć się do sieci Thread, wymagany jest tylko klucz sieciowy.

Gotowe

3

dataset commit active

Zatwierdź nowy zbiór danych w aktywnym zbiorze danych operacyjnych.

Gotowe

4

ifconfig up

Włącz interfejs Thread.

Gotowe

5

thread start

Włącz i podłącz operację protokołu Thread.

Gotowe

Odczekaj 20 sekund, aż urządzenie dołączy do sieci i skonfiguruje się samoczynnie.

6

state

Wyświetl konfigurację sieci.

dziecko
Gotowe

Komunikacja między urządzeniami Thread

Użyjemy polecenia ping, aby sprawdzić, czy urządzenia mogą się ze sobą komunikować. Aby można było użyć polecenia ping, potrzebne są adresy IPv6 urządzeń. Możesz je uzyskać za pomocą polecenia ipaddr.

> ipaddr
fd5c:c6b:3a17:40b9:0:ff:fe00:fc00		# Leader Anycast Locator (ALOC)
fd5c:c6b:3a17:40b9:0:ff:fe00:1800		# Routing Locator (RLOC)
fd5c:c6b:3a17:40b9:84e2:bae8:bd5b:fa03		# Mesh-Local EID (ML-EID)
fe80:0:0:0:c449:ca4a:101f:5d16			# Link-Local Address (LLA)

Z obu FTD pinguje OTBR przy użyciu adresu RLOC OTBR.

> ping fd5c:c6b:3a17:40b9:0:ff:fe00:1800
Done
> 
> 16 bytes from fd5c:c6b:3a17:40b9:0:ff:fe00:1800: icmp_seq=3 hlim=64 time=30ms
16 bytes from fd5c:c6b:3a17:40b9:0:ff:fe00:1800: icmp_seq=3 hlim=64 time=52ms

Odpowiedź wskazuje, że ładunek został odebrany i że komunikacja się udała. Powtórz ten proces, aby wysłać pingi do FTD z OTBR.

9. Gratulacje

Udało Ci się utworzyć sieć Thread.

Wiesz już:

  • Jak utworzyć projekt OpenThread przy użyciu środowiska IDE Silicon Labs Simplicity Studio.
  • Dowiedz się, jak tworzyć i flashować pliki binarne interfejsu wiersza poleceń OpenThread w przypadku tablic radiowych Silicon Labs.
  • Jak skonfigurować Raspberry Pi 3B lub nowszy jako router granic OpenThread (OTBR) przy użyciu Dockera.
  • Jak utworzyć sieć Thread w OTBR.
  • Poza zakresem uruchomienia urządzeń w sieci Thread.
  • Jak sprawdzić komunikację Thread między węzłami przy użyciu polecenia ping.

Więcej informacji

Na stronach openthread.io i GitHub znajdziesz różne zasoby OpenThread, w tym:

10. Opcjonalna konfiguracja oprogramowania układowego – wersje demonstracyjne

Wersje demonstracyjne to gotowe obrazy oprogramowania układowego, które można pobrać na zgodne urządzenie. Najszybszym sposobem na sprawdzenie, czy wersja demonstracyjna jest dostępna dla Ciebie w Simplicity Studio, to kliknięcie swojej części w widoku Adaptery debugowania i przejście do PRZYKŁADOWYCH PROJEKTU Karta Wersje demonstracyjne w Menu z aplikacjami. Wyłącz filtr Przykładowe projekty i zaznacz pole wyboru Wątek w sekcji Typ technologii.

Wersje demonstracyjne Studio

Wstępnie skompilowane obrazy aplikacji demonstracyjnej z pakietu OpenThread SDK są zgodne z tymi płytami:

  1. BRD 4161A
  2. BRD4166a
  3. BRD4168a
  4. BRD4180a
  5. BRD4304a

Ta lista może zostać zaktualizowana w kolejnych wersjach pakietu SDK, aby uwzględnić więcej tablic radiowych. Pełną listę obsługiwanych części znajdziesz w informacjach o wersji pakietu OpenThread SDK Silicon Labs w dokumentacji.

Zaprezentuj poniższe wersje demonstracyjne na odpowiednich tablicach. Aby zamigać, wybierz swoją płytkę w sekcji Adaptery debugowania po lewej stronie i kliknij URUCHOM obok odpowiednich przykładowych aplikacji. Pojawi się wyskakujące okienko z postępem lampy błyskowej.

  1. BRD4166A: ot-rcp – to urządzenie będzie działać jako procesor radiowy routera granicznego OT. Użyjemy tego urządzenia do utworzenia sieci Thread i dodamy 2 pozostałe urządzenia do tej sieci. W roli routera granicznego to urządzenie działa też jako brama, przez którą urządzenia w sieci Thread komunikują się przez internet.
  2. Dwa BRD4168A: ot-cli-ftd – te 2 urządzenia będą działać jako urządzenia pełnowątkowe. Dołączą do sieci Thread utworzonej przez OTBR.