Simplicity Studio v5 kullanarak Silicon Labs EFR32 panoları ve OpenThread ile bir Thread ağı oluşturun

1. Giriş

26b7f4f6b3ea0700.png

Google'ın OpenThread (OT) Konu bir açık kaynak uygulamasıdır. Google, bağlantılı ev ve ticari binalara yönelik ürünlerin geliştirilmesini hızlandırmak amacıyla Google Nest ürünlerinde kullanılan ağ teknolojisini geliştiricilere daha geniş bir şekilde sunmak için OpenThread'i yayınladı. Dar bir platform soyutlama katmanı ve küçük bir bellek ayak izi ile OpenThread son derece taşınabilirdir. Hem çip üzerinde sistem (SoC) hem de ağ yardımcı işlemcisi (NCP) tasarımlarını destekler.

Konu şartname ev ve ticari bina uygulamaları için bir IPv6 tabanlı güvenilir, güvenli ve düşük güç kablosuz cihazdan cihaza iletişim protokolünü tanımlar.

Silikon Labs Silikon Labs donanımıyla çalışmalarına OpenThread geliştirmiştir. Bu kaynak kodu GitHub'da ve ayrıca Simplicity Studio 5 (SSv5) ile birlikte yüklenen bir yazılım geliştirme kiti (SDK) olarak mevcuttur. SDK, GitHub kaynak kodunun tamamen test edilmiş bir anlık görüntüsünü içerir. GitHub sürümünden daha geniş bir donanım yelpazesini destekler ve GitHub'da bulunmayan belgeleri ve örnek uygulamaları içerir.

Bu kılavuz, Silicon Labs OpenThread SDK ve Simplicity Studio 5'i kullanarak OpenThread uygulamaları geliştirmeye nasıl başlayacağınızı açıklamaktadır. Aşağıdaki resim, kartlar (BRD'ler) ve bir OT Border Router (OTBR) ile donanım kurulumunu ve sistemde kullanılan iki Thread cihazını göstermektedir. kod laboratuvarı.

EFR32MG Donanım kurulumu

ne öğreneceksin

  • Silicon Labs Simplicity Studio IDE kullanarak bir OpenThread projesi nasıl oluşturulur.
  • OpenThread CLI ikili dosyaları nasıl oluşturulur ve Silicon Labs radyo panolarına flashlanır.
  • Docker kullanarak bir Raspberry Pi 3B+ veya üstü OpenThread Border Router (OTBR) olarak nasıl kurulur.
  • OTBR'de bir Thread ağı nasıl oluşturulur.
  • Cihazların bir Thread ağında bant dışı devreye alınması.
  • Ping komutunu kullanarak düğümler arasındaki iş parçacığı iletişimi nasıl doğrulanır.

2. Önkoşullar

Donanım:

  1. 3 EFR32MGxx radyo kartı - bu cihazların herhangi bir kombinasyonu kullanılabilir. Bu codelab, RCP olarak bir BRD4166A ve Tam İş Parçacığı Aygıtları olarak iki BRD4168A kullanır.
    • EFR32MG12 (BRD 4161A, BRD 4166A, BRD 4170A, BRD 4304 A)
    • EFR32MG13 (BRD 4168A)
    • EFR32MG21 (BRD 4180A, 4180B BRD)
    Eğer taze başlangıç yapıyorsanız, birini alabilirsiniz EFR32 Konu marş kiti yukarıda listelenen panoları vardır.
  2. BRD4001A: Radyo kartlarını barındırmak için kablosuz başlangıç ​​ana kartları (WSTK). BRD4166A hariç, tüm radyo kartlarının her birinin bir başlangıç ​​ana kartına ihtiyacı vardır. BRD4166A için ana kartları veya mikro USB kablosunu bağlamak ve güç sağlamak için mini USB kabloları.

WSTK AEM

  1. Bir Ahududu Pi 3B + veya daha büyük Raspbian Stretch Lite OS görüntüsü veya Masaüstü ile Raspbian Stretch Ethernet üzerinden internete bağlanır. Bunu bir OT Border Router olarak yapılandırıyoruz.
  2. En az 2 USB bağlantı noktasına ve bir internet bağlantısına sahip bir Windows/Linux/Mac Host sistemi. En donanım ve işletim sistemi gereksinimlerini kontrol SSv5 .
  3. Raspberry Pi'yi İnternet'e bağlamak için en az bir Ethernet kablosu. WSTK'ler ayrıca IP üzerinden hata ayıklamayı ve yanıp sönmeyi de destekler, bu nedenle isteğe bağlı olarak, WSTK'yi bir Ethernet Anahtarı aracılığıyla ana sisteminize bağlamak için ek Ethernet kabloları kullanılabilir.

Yazılım:

  • Simplicity Studio v5, Windows/Linux/Mac Host sistemine yüklendi ve güncellendi:
    • GNU ARM v7.2.1 araç zinciri
    • Gecko SDK Suite 3.2.0 veya üstü ve Silicon Labs OpenThread SDK.

Simplicity Studio 5'i İndirin

3. Donanım kurulumu

Bu Codelab kullanılarak oluşturuldu

  1. EFR32MG12 BRD4166A Thunderboard Anlam 2 solda gösterildiği gibi.
  2. İki EFR32MG13 BRD4168A olarak sağda gösterilen.
  3. MacOS Catalina 10.15.7'de yüklü Simplicity Studio v5
    1. Gecko SDK'sı 3.2.0
    2. GNU ARM v7.2.1

BRD4168A

Her bir Kablosuz Başlangıç ​​Kiti ana kartını aşağıdaki resimde gösterildiği gibi USB ile ana bilgisayara bağlayın. Bu bağlantılar, RCP ve uç cihazların programlanmasına ve ağ analizine izin verecektir. BRD4166A'yı ot-rcp bellenimi ile programlamak için önce ana bilgisayarı kullanacağız ve sonunda onu Raspberry Pi'ye bağlayacağız. İsteğe bağlı olarak, uç cihazlar ortak bir Ethernet anahtarı aracılığıyla ana bilgisayara bağlanabilir. Başlangıç ​​kitleri ayrıca IPv4 üzerinden programlama ve ağ analizini de destekler.

Bağlantılar

4. Bellenim kurulumu

Başlamanın iki yolu vardır. Her iki seçenek de bu kod laboratuvarı için gerekli olan yazılımları flaş etmenize izin verir.

  1. Projeler: (Önerilen) Örnek bir uygulama oluşturun, oluşturun ve flaşlayın. Bu seçenek, projedeki uygulamayı özelleştirmenizi sağlar.VEYA
  2. Demolar: (İsteğe bağlı) Herhangi bir örnek uygulama için önceden oluşturulmuş demoları doğrudan radyo kartına yükleyin. Kullanıcıların, isteğe bağlı bir alıştırma olarak kurulan Demos ürün yazılımını denemeleri önerilir. Ayrıntılar için lütfen bu kod laboratuvarının sonundaki "İsteğe bağlı donanım yazılımı kurulumu - Demolar" bölümüne bakın.

Bu codelab için proje tabanlı yöntemi kullanacağız.

Örnekleri kullanarak projeler oluşturun

İki proje oluşturacağız. ot-rcp BRD4166A için proje ve ot-cli-ftd iki BRD4168A projesi. Lütfen bu adımları takip edin ve panonuz için uygun örnek uygulamayı seçin.

  1. Açık Studio'nun Dosya menüsü ve Yeni> Silikon Labs Projesi Sihirbazı seçin. Hedef, SDK ve Araç Zinciri Seçimi iletişim kutusu açılır. OpenThread tarafından desteklenen varsayılan Simplicity IDE / GNU araç zincirini değiştirmeyin. İleri 'yi tıklayın.
    • Hedef panoları: Ana kart (BRD4001A) ile birlikte seçilen radyo panosunu (BRD4168A) gösterir
    • Hedef Cihaz: Bu alan, yerleşik mikrodenetleyici çipini (MCU) gösterir. BRD4168A, yerleşik bir EFR32MG13 MCU'ya sahiptir.
    • SDK: Burada, birlikte çalıştığınız OT'nin SDK sürümünü seçebilirsiniz. Bu kod laboratuvarı için OpenThread 1.2.0.0 kullanıyoruz.
    • IDE/ Toolchain: OT projesini derlemek için kullanılacak olan araç zinciri. GNU ARM 7.2.1 kullanıyoruz.

Yeni proje sihirbazı

  1. Örnek Proje Seçimi iletişim kutusu açılır. Örnek projelerin bir listesini göreceksiniz. Bu durumda, belirli bir örnek aramak için 'Konu' Teknoloji Tipi ve anahtar kelime filtreleri kullanın ot-cli-ftd . Bunu seçin ve NEXT 'e tıklayın.

Yeni proje sihirbazı 2. adım

  1. Proje Yapılandırması iletişim kutusu açılır. Burada projenizi yeniden adlandırabilir, varsayılan proje dosyasının konumunu değiştirebilir ve proje dosyalarına bağlanıp bağlanmayacağınızı veya kopyalayıp kopyalamayacağınızı belirleyebilirsiniz. Bağlantılı proje dosyaları SDK'ya işaret eder ve yaptığınız tüm değişiklikler SDK'da yapılır ve gelecekteki projeler için kullanılır. Proje kaynaklarını kopyalamak, SDK dosyalarının bozulmadan kalması için proje yerel kopyasını düzenlemenize olanak tanır. 'Bağlantı sdk ve kopya proje kaynaklar' varsayılan ve önerilen seçimdir. FINISH'i tıklayın.

Yeni proje sihirbazı 3. adım

  1. Sadelik IDE Perspektif BAKIŞ sekmesine Proje Yapılandırıcı açıkken açılır.

Projeye Genel Bakış

Proje yükleme ve bileşenlerini kaldırma ve yüklü bileşenleri yapılandırarak Yazılım Bileşenleri sekmesinden yapılandırılır. Kurulu bileşenler kontrol edilir. Örnek uygulama tarafından yüklenen bileşenleri filtrelenmiş listesini görmek için Yüklü Bileşenleri tıklayın. Yaptığınız tüm değişiklikler otomatik olarak kaydedilir ve proje dosyaları otomatik olarak oluşturulur. İlerleme, Simplicity IDE perspektifinin sağ alt köşesinde gösterilir.

Yazılım Bileşenleri

Bu demo için örnek uygulamaların varsayılan konfigürasyonunu kullanacağız. Oluşturmak için yukarıdaki adımları tekrarlayın ot-rcp diğer yönetim kurulu için projeyi.

Projeleri oluşturun ve Flashlayın

Yapı ve hem yanıp ot-rcp ve ot-cli-ftd projeler.

  1. Projeniz yapılandırıldığı sonra üst araç çubuğundaki Yapı denetimi (çekiç simgesi) tıklayın. Alternatif olarak projeye sağ tıklayıp proje oluştur seçeneğine tıklayabilirsiniz.

Proje düğmesi oluştur

  1. İlerleme Konsol ve sağ alt bir ilerleme çubuğunda görüntülenir. Projenizle ilgili herhangi bir hata veya uyarı da bu çıktı penceresinde görünecektir.

Proje oluşturma çıktı penceresi

  1. İkili dosyalar görüntüleri, başarılı bir proje oluşturma işleminden sonra oluşturulur. Project Explorer görünümünden ikili görüntü yanıp sönebilir. Derleyici alt dizininde .bin, .hex veya .s37 dosyasını bulun. Dosyayı sağ tıklayın ve Aygıt Flash seçin. Sonra Tamam'ı tıklayın programa bir cihaz seçin bağlı birden fazla cihaz varsa. Flash Programmer, dosya yolu doldurularak açılır. PROGRAMINI tıklayın.

flaş

5. Firmware kurulum özeti

Bu noktada radyo kartlarında uygun ürün yazılımını oluşturmuş, derlemiş ve flashlamış olmalısınız. Bir kez ot-rcp BRD4166A için yanıp söner, ana bilgisayar sisteminden bağlantısını kesin ve Ahududu Pi Bu tabloyu bağlayın.

Bu bölümü tamamladıktan sonra Thread ağ donanım kurulumunuz aşağıdaki gibi görünecektir.

EFR32MG kurulumu

6. ot-cli-ftd cihazları için Seri konsolu kurun

Cihazlar Görünüm / ayıklama Adaptörleri Pencere daki J-Link cihazda Sadelik IDE perspektif sağ tıklama, Konsol arayüzünü başlatmak için. Fırlatma Konsolu seçin. Konsol'da bir istem almak için, Seri 1 sekme ve Enter tuşuna basın seçin. FTD düğümünün durumunu kontrol edin.

FTD Studio Konsol Görünümü

Henüz ilgili bir konsol yok olduğunu göreceksiniz ot-rcp . Bir sonraki adımda biz OT sınır yönlendiricisi olarak Ahududu Pi yapılandırma ve için konsolu kuracak ot-rcp .

7. Raspberry Pi'yi Border Router olarak kurun

Silicon Labs, şirketin Docker kapsayıcısının OTBR ile dağıtılmasını önerir. OTBR'yi bir kapsayıcıda çalıştırmak, kolayca konuşlandırılabilir yapıtların oluşturulmasına ve hızlı geliştirme prototipleme ve testine olanak tanır.

Silicon Labs, DockerHub'da barındırılan aşağıdaki önceden oluşturulmuş Docker kapsayıcılarını (etiketlerle birlikte) sağlar:

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

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

Raspberry Pi kurulumu

  1. SD kart üzerinde, flaş emin olmak Raspbian Stretch Lite OS imajı veya Desktop ile Raspbian Stretch .
  2. Raspberry Pi'ye SSH yapabilir veya doğrudan Raspbian Masaüstü ile çalışmayı seçebilirsiniz. Bir terminal açın.
  3. Emin yerel depoları ve paket yöneticisini (apt-get güncelleme ve apt-get Docker yüklemeden önce yükseltme) güncellemek için emin olun.

liman işçisi görüntüsünü yükleyin

  1. Docker'ı aşağıdaki komutla RPi'nize yükleyin.
    curl -sSL https://get.docker.com | sh
    
  2. Bitirdikten sonra, Docker kullanıcı ayarlarını her komuttan önce sudo gerektirmeyecek şekilde değiştirebilirsiniz. Yeniden başlatma gerekli.
    sudo usermod -aG docker $USER
    
  3. Kapsayıcıları yüklemek için aşağıdaki komutları verin. RCP'nizle aynı anda çalışan yalnızca bir Border Router kapsayıcınız olabileceğini unutmayın. Ayrıca, bu kapsayıcıya karşı çalıştırılması gereken RCP sürümünü (İş parçacığı sürümü 1.2) doğruladığınızdan emin olun.
    docker pull siliconlabsinc/openthread-border-router:gsdk-3.2.0
    

Docker'ı yapılandırın ve çalıştırın

  1. OTBR'nin başlangıçta RCP'nizi bağlaması için kullanmak istediğiniz TTY bağlantı noktasını yapılandırmanız gerekir. RCP cihazınızın TTY bağlantı noktasını arayın. Bunu yapmanın en kolay yolu, bir bakmaktır /tty/dev BİP bağlandığında ... girişi. Genellikle ya olmalı /dev/ttyUSB0 veya /dev/ttyACM0 .
  2. Docker kurulumunuzu aşağıdaki gibi çalıştırın. Örnek, Thread 1.1 Border Router kapsayıcısını kullanır.
    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-3.2.0 \
     --radio-url spinel+hdlc+uart:///dev/ttyACM0?uart-baudrate=460800 \
     --backbone-interface eth0
    
    • -d müstakil modda konteyner ishal olmasını sağlar.
    • Sen kullanarak kapsayıcı için hiçbir zaman çalışan günlükleri görebilirsiniz docker logs komutu.
    • --name docker kap düzgün bir şekilde kapatılır (veya kaldırılmış) kadar yapışkandır.
    • Port 8080, Border Router yönetim web sayfasını barındıran web sunucusunun portunu gösterir.
    • ?uart-baudrate=460800 böyle uzun IPv6 paketleri ile DTLS olarak masraflı operasyonları ile parçalanması / UART üzerinde tekrar birleştirme sorunları aşmanın radyo url seçeneklerinde gereklidir.

RCP düğümü ile etkileşim

Docker çalıştığında, bu komutu kullanarak etkileşimli bir kabuk aracılığıyla RCP düğümü ile iletişim kurabilirsiniz. RCP düğümünün durumunu kontrol edin.

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

Çalışan kapsayıcı kimliklerinin bir listesini alabilirsiniz

$ docker ps -aq

Border Router'ın günlük çıktısını çalıştırmak için OTBR Docker konteynerini çalıştıran pencereyi kontrol edebilir veya konteyner günlüğünü aşağıdaki gibi takip edebilirsiniz:

$ docker logs [container-id] -f

İsteğe bağlı olarak, docker kapsayıcı düzgün yüklenmişse görüntünüzü durdurabilir, kaldırabilir veya sonlandırabilirsiniz.

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

İsteğe bağlı: Kabuktan çıkmak için CNTL + C kullanın.

Bu noktada 3 konsolunuz olmalı.

  1. İki ot-cli-ftd Sadelik Studio konsolları Tam Konu cihazları olarak ayarlanmış olan.
  2. Bir ot-ctl bir OT sınır yönlendiricisi olarak ayarlandı Ahududu Pi üzerinde interaktif kabuk.

Artık bir Thread ağı oluşturmaya hazırız.

8. Bir Konu ağı oluşturun

RCP'yi kurun

Ağ oluşturmak için, ile başlayan ot-ctl RCP düğümle iletişim için kullanılan OTBR üzerinde kabuk. Aşağıdaki komutları aşağıda gösterildiği gibi sırayla girin:

dizin

Emretmek

Komut açıklaması

Beklenen Yanıt

1

dataset init new

Yeni bir ağ yapılandırması oluşturun.

Tamamlandı

2

dataset commit active

Yeni veri kümesini Aktif Operasyonel Veri Kümesine bağlayın.

Tamamlandı

3

ifconfig up

Thread arayüzünü etkinleştirin.

Tamamlandı

4

thread start

Thread protokolü işlemini etkinleştirin ve ekleyin.

Tamamlandı

İplik arayüzünün açılması için 10 saniye bekleyin.

5

state

Cihaz durumunu kontrol edin. Lider olmalı.
Diğer olası durumlar: çevrimdışı, devre dışı, ayrılmış,
çocuk, yönlendirici veya lider

Önder
Tamamlandı

6

dataset

Ağ yapılandırmasını görüntüleyin.
Değerleriniz bu codelab'den farklı olacaktır.
Kanalı, ağ anahtarını,
ağ adı ve PAN kimliği.

Etkin Zaman Damgası: 1
Kanal: 20
Kanal Maskesi: 0x07fff800
Dahili PAN Kimliği: 39ba71f7fc367160
Mesh Yerel Öneki: fd5c:c6b:3a17:40b9::/64
Ağ Anahtarı: 81ae2c2c17368d585dee71eaa8cf1e90
Ağ Adı: OpenThread-008c
PAN Kimliği: 0x008c
PSKc: c98f0193d4236025d22dd0ee614e641f
Güvenlik Politikası: 0, onrcb
Tamamlandı

Biz kanal numarasını ve ağ anahtarı kullanacak ot-cli-ftd Konuyu ağa iki FTDs katılmak.

FTD'yi Thread ağımıza kurun ve ekleyin (bant dışı yöntem)

Bant dışı yöntem ile tüm güvenlik bilgilerini biliyoruz ve düğümü manuel olarak ekliyoruz. Basitlik konsollarında, aşağıda gösterilen sırayla aşağıdaki komutları kullanarak her iki FTD'yi ağımıza ekleyin.

dizin

Emretmek

Komut açıklaması

Beklenen Yanıt

1

dataset channel 20

OTBR tarafından kullanılan kanalı ayarlayın.

Tamamlandı

2

dataset networkkey 81ae2c2c17368d585dee71eaa8cf1e90

Bir aygıtın Thread ağına bağlanması için yalnızca Ağ Anahtarı gerekir.

Tamamlandı

3

dataset commit active

Yeni veri kümesini Aktif Operasyonel Veri Kümesine bağlayın.

Tamamlandı

4

ifconfig up

Thread arayüzünü etkinleştirin.

Tamamlandı

5

thread start

Thread protokolü işlemini etkinleştirin ve ekleyin.

Tamamlandı

Cihaz birleşip kendini yapılandırırken 20 saniye bekleyin.

6

state

Ağ yapılandırmasını görüntüleyin.

çocuk
Tamamlandı

Thread cihazları arasındaki iletişim

Biz kullanacağız ping cihazlar birbirleriyle iletişim kurabilir olmadığını kontrol etmek komutu. Ping komutunu kullanmak için cihazların IPv6 adreslerine ihtiyacımız var. Bunlar kullanılarak elde edilebilir ipaddr komutu.

> 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)

Her iki FTD'den OTBR'ye OTBR'nin RLOC adresini kullanarak ping atın.

> 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

Yanıt, alınan yükü ve iletişimin başarılı olduğunu gösterir. OTBR'den FTD'lere ping atmak için işlemi tekrarlayın.

9. Tebrikler

Bir Thread ağı oluşturdunuz!

Artık biliyorsunuz:

  • Silicon Labs Simplicity Studio IDE kullanarak bir OpenThread projesi nasıl oluşturulur.
  • OpenThread CLI ikili dosyaları nasıl oluşturulur ve Silicon Labs radyo panolarına flashlanır.
  • Docker kullanarak bir Raspberry Pi 3B+ veya üstü OpenThread Border Router (OTBR) olarak nasıl kurulur.
  • OTBR'de bir Thread ağı nasıl oluşturulur.
  • Cihazların bir Thread ağında bant dışı devreye alınması.
  • Ping komutunu kullanarak düğümler arasındaki iş parçacığı iletişimi nasıl doğrulanır.

daha fazla okuma

Check out openthread.io ve GitHub OpenThread dahil kaynakları çeşitli:

10. İsteğe bağlı donanım yazılımı kurulumu - Demolar

Demolar, uyumlu bir cihaza indirilmeye hazır, önceden oluşturulmuş ürün yazılımı görüntüleridir. Simplicity Studio'daki parçanız için bir demo olup olmadığını bulmanın en hızlı yolu, Hata Ayıklama Adaptörleri görünümü altındaki parçanıza tıklayıp Başlatıcı Perspektifinde ÖRNEK PROJELER VE DEMOS sekmesine gitmektir. Örnek Projeler filtresini devre dışı bırakın ve Teknoloji Türü altındaki Thread radyo onay kutusunu işaretleyin.

Stüdyo demoları

OpenThread SDK ile sağlanan önceden derlenmiş demo uygulama görüntüleri aşağıdaki panolarla uyumludur:

  1. BRD4161a
  2. BRD4166a
  3. BRD4168a
  4. BRD4180a
  5. BRD4304a

Bu liste, daha fazla radyo kartı içerecek şekilde gelecekteki SDK sürümlerinde güncellenebilir. Desteklenen parçaların tam listesi için lütfen Belgeler altındaki Silicon Labs OpenThread SDK sürüm notlarına bakın.

İlgili panolarda aşağıdaki demoları flashlayın. Flash için, soldaki Hata Ayıklama Adaptörleri altında anakartınızı seçin ve ilgili örnek uygulamalar için ÇALIŞTIR'a tıklayın. Bir açılır pencere flaş ilerlemesini gösterecektir.

  1. BRD4166A: ot-rcp - Bu cihaz OT Sınır Router ile Radyo Eş İşlemci olarak işleyecektir. Bu cihazı bir Thread ağı oluşturmak ve Thread ağındaki diğer iki cihazı yerleştirmek için kullanacağız. Bir Border Router olan bu cihaz aynı zamanda Thread ağındaki cihazların internet üzerinden iletişim kurması için bir ağ geçidi görevi görür.
  2. İki BRD4168A: ot-cli-ftd - Bu iki cihaz Tam Konu Devices olarak hareket edecektir. OTBR tarafından oluşturulan Thread ağına katılacaklar.