1. مقدمه
OpenThread گوگل (OT) یک پیاده سازی منبع باز Thread است. Google OpenThread را منتشر کرده است تا فناوری شبکه مورد استفاده در محصولات Google Nest را به طور گسترده در دسترس توسعه دهندگان قرار دهد تا توسعه محصولات برای خانه های متصل و ساختمان های تجاری را سرعت بخشد. OpenThread با یک لایه انتزاعی پلت فرم باریک و ردپای حافظه کوچک بسیار قابل حمل است. این برنامه از هر دو طرح سیستم روی تراشه (SoC) و شبکه کمک پردازنده (NCP) پشتیبانی می کند.
Thread Specification یک پروتکل ارتباطی دستگاه به دستگاه بی سیم قابل اعتماد، ایمن و کم مصرف مبتنی بر IPv6 را برای کاربردهای خانگی و ساختمان های تجاری تعریف می کند.
Silicon Labs OpenThread را برای کار با سخت افزار Silicon Labs تقویت کرده است. این کد منبع در GitHub و همچنین به عنوان یک کیت توسعه نرم افزار (SDK) نصب شده با Simplicity Studio 5 (SSv5) موجود است. SDK شامل یک عکس فوری کاملاً آزمایش شده از کد منبع GitHub است. نسبت به نسخه GitHub از طیف وسیع تری از سخت افزار پشتیبانی می کند و شامل مستندات و برنامه های مثالی می شود که در GitHub در دسترس نیستند.
این راهنما نحوه شروع توسعه برنامههای OpenThread را با استفاده از Silicon Labs OpenThread SDK و Simplicity Studio 5 توضیح میدهد. نرم افزار کد.
چیزی که یاد خواهید گرفت
- نحوه ایجاد یک پروژه OpenThread با استفاده از Silicon Labs Simplicity Studio IDE.
- نحوه ساخت و فلش باینری OpenThread CLI به بردهای رادیویی Silicon Labs.
- نحوه راه اندازی Raspberry Pi 3B+ یا بالاتر به عنوان روتر مرزی OpenThread (OTBR) با استفاده از Docker.
- چگونه یک شبکه Thread در OTBR ایجاد کنیم.
- راه اندازی خارج از باند دستگاه ها روی شبکه Thread.
- نحوه بررسی ارتباط Thread بین گره ها با استفاده از دستور ping.
2. پیش نیازها
سخت افزار:
- 3 برد رادیویی EFR32MGxx - هر ترکیبی از این دستگاه ها قابل استفاده است. این کد آزمایشگاه از یک BRD4166A به عنوان RCP و دو BRD4168A به عنوان دستگاه Full Thread استفاده می کند.
- EFR32MG12 (BRD 4161A , BRD 4166A , BRD 4170A , BRD 4304 A)
- EFR32MG13 (BRD 4168A )
- EFR32MG21 (BRD 4180A , BRD 4180B )
- BRD4001A: بردهای اصلی استارت بی سیم (WSTK) برای میزبانی بردهای رادیویی. به جز BRD4166A، همه بردهای رادیویی هر کدام به یک برد اصلی شروع کننده نیاز دارند. کابلهای Mini USB برای اتصال و تغذیه بردهای اصلی یا کابل micro USB برای BRD4166A.
- Raspberry Pi 3B+ یا بالاتر با تصویر Raspbian Stretch Lite OS یا Raspbian Stretch با Desktop که از طریق اترنت به اینترنت متصل است. ما این را به عنوان یک روتر مرزی OT پیکربندی می کنیم.
- یک سیستم میزبان ویندوز/لینوکس/مک با حداقل 2 پورت USB و اتصال به اینترنت. سخت افزار و الزامات سیستم عامل را در SSv5 بررسی کنید.
- حداقل یک کابل اترنت برای اتصال رزبری پای به اینترنت. WSTK ها همچنین از اشکال زدایی و چشمک زدن روی IP پشتیبانی می کنند، بنابراین، به صورت اختیاری، می توان از کابل های اترنت اضافی برای اتصال WSTK به سیستم میزبان خود از طریق یک سوئیچ اترنت استفاده کرد.
نرم افزار:
- Simplicity Studio v5 بر روی سیستم هاست ویندوز/لینوکس/مک با نصب و به روز رسانی شد
- زنجیره ابزار GNU ARM
- Gecko SDK Suite 3.2.0 یا جدیدتر و Silicon Labs OpenThread SDK.
3. راه اندازی سخت افزار
این Codelab با استفاده از
- EFR32MG12 BRD4166A Thunderboard Sense 2 همانطور که در سمت چپ نشان داده شده است.
- دو EFR32MG13 BRD4168A همانطور که در سمت راست نشان داده شده است.
- Simplicity Studio v5 بر روی macOS Catalina 10.15.7 با
- Gecko SDK 3.2.0
- GNU ARM نسخه 7.2.1
همانطور که در تصویر زیر نشان داده شده است، هر برد اصلی Wireless Starter Kit را با USB به کامپیوتر میزبان متصل کنید. این اتصالات امکان برنامه نویسی و تجزیه و تحلیل شبکه RCP و دستگاه های پایانی را فراهم می کند. ابتدا از کامپیوتر میزبان برای برنامه ریزی BRD4166A با سیستم عامل ot-rcp و در نهایت آن را به Raspberry Pi وصل می کنیم. در صورت تمایل، ممکن است دستگاههای پایانی از طریق یک سوئیچ اترنت مشترک به رایانه میزبان متصل شوند. کیت های شروع کننده همچنین از برنامه نویسی و تجزیه و تحلیل شبکه از طریق IPv4 پشتیبانی می کنند.
4. راه اندازی سیستم عامل
دو راه برای شروع وجود دارد. هر دو گزینه به شما این امکان را می دهند که سفت افزارهای مورد نیاز این کد لبه را فلش کنید.
- پروژه ها: (توصیه می شود) یک نمونه برنامه را ایجاد، بسازید و فلش کنید. این گزینه به شما اجازه می دهد تا برنامه را در project.OR شخصی سازی کنید
- دموها: (اختیاری) دموهای از پیش ساخته شده را مستقیماً روی برد رادیویی برای هر یک از برنامه های نمونه فلش کنید. کاربران تشویق میشوند که سفتافزار Demos را که بهعنوان یک تمرین اختیاری تنظیم شده است، امتحان کنند. لطفاً برای جزئیات به بخش "تنظیم سیستم عامل اختیاری - دموها" در انتهای این کد لبه مراجعه کنید.
ما از روش مبتنی بر پروژه برای این کد لبه استفاده خواهیم کرد.
پروژه ها را با استفاده از مثال ایجاد کنید
ما دو پروژه ایجاد خواهیم کرد. پروژه ot-rcp
برای BRD4166A و پروژه ot-cli-ftd
برای دو BRD4168A. لطفاً این مراحل را دنبال کنید و نمونه برنامه مناسب را برای برد خود انتخاب کنید.
- منوی File استودیو را باز کنید و New > Silicon Labs Project Wizard را انتخاب کنید. گفتگوی Target، SDK و Toolchain Selection باز می شود. زنجیره ابزار Simplicity IDE/GNU پیش فرض پشتیبانی شده توسط OpenThread را تغییر ندهید. روی Next کلیک کنید .
- بردهای هدف: برد رادیویی انتخاب شده (BRD4168A) را به همراه برد اصلی (BRD4001A) نشان می دهد.
- Target Device: این فیلد تراشه میکروکنترلر (MCU) را نشان می دهد. BRD4168A دارای یک MCU EFR32MG13 است.
- SDK: در اینجا می توانید نسخه SDK OT را که با آن کار می کنید انتخاب کنید. اطلاعات مجموعه شامل تگ SDK و ساخت Silicon Labs OpenThread است، برای مثال
Platform 4.0.1.0
وOpenThread 2.0.1.0 (GitHub-55af6ce2c)
. - IDE/Toolchain: زنجیره ابزاری که برای کامپایل پروژه OT استفاده می شود. ما از GNU ARM استفاده می کنیم.
- گفتگوی Example Project Selection باز می شود. لیستی از پروژه های نمونه را مشاهده خواهید کرد. از فیلترهای Thread Technology Type و کلمات کلیدی برای جستجوی یک مثال خاص استفاده کنید. حتماً شماره نسخه Gecko SDK Suite را یادداشت کنید. هنگامی که Raspberry Pi را به عنوان یک مسیریاب مرزی تنظیم می کنید، به این تگ نسخه نیاز خواهید داشت. ot-cli-ftd را انتخاب کنید، سپس روی NEXT کلیک کنید.
- کادر گفتگوی پیکربندی پروژه باز می شود. در اینجا می توانید نام پروژه خود را تغییر دهید، محل فایل پیش فرض پروژه را تغییر دهید و تعیین کنید که آیا به فایل های پروژه پیوند می دهید یا کپی می کنید. فایلهای پروژه پیوند شده به SDK اشاره میکنند و هر تغییری که انجام میدهید در نهایت در SDK ایجاد میشود و برای پروژههای آینده استفاده میشود. کپی کردن منابع پروژه، به شما امکان می دهد یک کپی محلی پروژه را ویرایش کنید تا فایل های SDK دست نخورده باقی بمانند. " پیوند sdk و کپی منابع پروژه " پیش فرض و انتخاب توصیه شده است. روی FINISH کلیک کنید.
- Simplicity IDE Perspective با باز شدن Project Configurator در تب OVERVIEW باز می شود.
این پروژه از تب Software Components با نصب و حذف کامپوننت ها و پیکربندی اجزای نصب شده پیکربندی می شود. اجزای نصب شده بررسی می شوند. روی Installed Components کلیک کنید تا یک لیست فیلتر شده از اجزای نصب شده توسط برنامه مثال را ببینید. هر تغییری که ایجاد می کنید به صورت خودکار ذخیره می شود و فایل های پروژه به طور خودکار تولید می شوند. پیشرفت در گوشه سمت راست پایین چشم انداز Simplicity IDE نشان داده شده است.
برای این نسخه ی نمایشی می خواهیم از پیکربندی پیش فرض برنامه های نمونه استفاده کنیم. مراحل بالا را برای ایجاد پروژه ot-rcp
برای برد دیگر خود تکرار کنید.
پروژه ها را بسازید و فلش کنید
هر دو پروژه ot-rcp
و ot-cli-ftd
را بسازید و فلش کنید.
- پس از پیکربندی پروژه، روی Build control (نماد چکش) در نوار ابزار بالا کلیک کنید. یا می توانید روی پروژه کلیک راست کرده و روی ساخت پروژه کلیک کنید.
- پیشرفت در کنسول و نوار پیشرفت در پایین سمت راست نمایش داده می شود. هر گونه خطا یا هشدار مربوط به پروژه شما نیز در این پنجره خروجی ظاهر می شود.
- تصاویر باینری پس از ساخت پروژه موفق تولید می شوند. می توانید تصویر باینری را از نمای Project Explorer فلش کنید. فایل .bin، .hex یا .s37 را در زیر شاخه کامپایلر پیدا کنید. روی فایل کلیک راست کرده و Flash to Device را انتخاب کنید. اگر بیش از یک دستگاه متصل دارید، یک دستگاه را برای برنامهریزی انتخاب کنید ، روی OK کلیک کنید. برنامه نویس Flash با مسیر فایل پر شده باز می شود. روی PROGRAM کلیک کنید.
5. خلاصه تنظیم سیستم عامل
در این مرحله باید فریمور مناسب را روی بردهای رادیویی ایجاد، کامپایل و فلش کرده باشید. هنگامی که ot-rcp
روی BRD4166A فلش شد، آن را از سیستم میزبان جدا کرده و این برد را به Raspberry Pi وصل کنید.
پس از تکمیل این بخش، راه اندازی سخت افزار شبکه Thread شما به این شکل خواهد بود.
6. کنسول سریال را برای دستگاه های ot-cli-ftd راه اندازی کنید
برای راه اندازی رابط کنسول، در چشم انداز Simplicity IDE روی دستگاه J-Link خود در پنجره Devices View / Debug Adapters راست کلیک کنید . Launch Console را انتخاب کنید. برای دریافت اعلان در کنسول، زبانه سریال 1 را انتخاب کرده و Enter را فشار دهید . وضعیت گره FTD را بررسی کنید.
متوجه خواهید شد که ما هنوز کنسولی برای ot-rcp
نداریم. در مرحله بعدی ما Raspberry Pi را به عنوان یک روتر مرزی OT پیکربندی می کنیم و کنسول را برای ot-rcp
تنظیم می کنیم.
7. Raspberry Pi را به عنوان Border Router راه اندازی کنید
Silicon Labs استفاده از کانتینر Docker این شرکت را با OTBR توصیه می کند. اجرای OTBR در یک کانتینر امکان ایجاد مصنوعات به راحتی قابل استقرار و نمونه سازی و آزمایش سریع توسعه را فراهم می کند.
تصاویر OTBR آزمایشگاه های سیلیکون با برچسب ها در siliconlabsinc DockerHub میزبانی می شوند. هر تگ مربوط به یک نسخه GSDK است:
https://hub.docker.com/r/siliconlabsinc/openthread-border-router/tags
کانتینرهای Docker باید با RCPهای ساخته شده با استفاده از Simplicity Studio 5 برای یک نسخه خاص استفاده شوند. مطمئن شوید که نسخه برچسب ظرف را با نسخه GSDK که با آن آزمایش می کنید مطابقت دهید. برای مثال، اگر نسخه GDSK شما Gecko SDK Suite v4.0.1 (140)
بود که ot-rcp
از پنجره Example Project Selection انتخاب کردید، از تصویر siliconlabsinc/openthread-border-router:gsdk-4.0.1
استفاده کنید.
Raspberry Pi راه اندازی شد
- در کارت SD خود، مطمئن شوید که تصویر Raspbian Stretch Lite OS یا Raspbian Stretch را با دسکتاپ فلش کرده اید.
- می توانید SSH را روی Raspberry Pi انجام دهید یا اینکه مستقیماً با Raspbian Desktop کار کنید. یک ترمینال باز کنید
- مطمئن شوید که مخازن محلی و مدیر بسته خود را به روز کنید ( به روز رسانی apt-get و ارتقاء apt-get قبل از نصب Docker).
تصویر Docker را نصب کنید
- Docker را با دستور زیر روی RPi خود نصب کنید.
curl -sSL https://get.docker.com | sh
- پس از اتمام، می توانید تنظیمات کاربر Docker را طوری تغییر دهید که قبل از هر دستور نیازی به sudo نباشد. راه اندازی مجدد مورد نیاز است.
sudo usermod -aG docker $USER
- برای نصب کانتینرها دستورات زیر را صادر کنید. توجه داشته باشید که می توانید تنها یک محفظه Border Router را در یک زمان با RCP خود در حال اجرا داشته باشید. همچنین، مطمئن شوید که نسخه Simplicity Studio GSDK خود را با تصویر Docker صحیح مطابقت دهید. به عنوان مثال
gsdk-4.0.1
:docker pull siliconlabsinc/openthread-border-router:gsdk-4.0.1
docker را پیکربندی و اجرا کنید
- شما باید پورت TTY را که میخواهید برای OTBR برای اتصال RCP خود در هنگام راهاندازی استفاده کنید، پیکربندی کنید. به دنبال پورت TTY دستگاه RCP خود بگردید. ساده ترین راه برای انجام این کار این است که پس از اتصال RCP به دنبال یک ورودی
/tty/dev
... بگردید. معمولاً باید/dev/ttyUSB0
یا/dev/ttyACM0
باشد. - نصب Docker خود را با دستور زیر اجرا کنید. مطمئن شوید که نام تصویر Docker خود را با نسخه GSDK منطبق جایگزین کنید. به عنوان مثال
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
تضمین می کند که ظرف در حالت جدا شده اجرا می شود. - با استفاده از دستور
docker logs
میتوانید گزارشهای در حال اجرا برای کانتینر را در هر زمان مشاهده کنید. -
--name
تا زمانی که ظرف داکر به درستی بسته شود (یا برداشته شود) چسبنده است. - پورت 8080 نشان دهنده پورت وب سرور میزبان صفحه وب مدیریت Border Router است.
-
?uart-baudrate=460800
در گزینههای URL رادیویی برای حل مشکلات تکه تکه شدن / مونتاژ مجدد از طریق UART، با عملیات پرهزینه مانند DTLS با بستههای IPv6 طولانی مورد نیاز است.
-
تعامل با گره RCP
هنگامی که داکر در حال اجرا است، می توانید با استفاده از این دستور از طریق یک پوسته تعاملی با گره RCP ارتباط برقرار کنید. وضعیت گره RCP را بررسی کنید.
$ docker exec -ti otbr sh -c "sudo ot-ctl" > state disabled Done
میتوانید فهرستی از شناسههای کانتینر در حال اجرا را دریافت کنید
$ docker ps -aq
میتوانید پنجرهای که OTBR Docker Container را اجرا میکند برای خروجی گزارش خروجی Border Router بررسی کنید یا گزارش کانتینر را به صورت زیر دنبال کنید:
$ docker logs [container-id] -f
اگر کانتینر داکر به درستی بارگیری شود، میتوانید به صورت اختیاری، تصویر خود را متوقف، حذف یا بکشید.
$ docker stop otbr
$ docker rm otbr
$ docker kill otbr
اختیاری: برای خروج از پوسته از CNTL + C استفاده کنید.
در این مرحله، شما باید 3 کنسول داشته باشید.
- دو کنسول
ot-cli-ftd
در Simplicity Studio که به عنوان دستگاه های Full Thread راه اندازی شده اند. - یک پوسته تعاملی
ot-ctl
در Raspberry Pi که به عنوان یک روتر مرزی OT راه اندازی شده است.
اکنون ما آماده تشکیل یک شبکه Thread هستیم.
8. یک شبکه Thread ایجاد کنید
RCP را راه اندازی کنید
برای ایجاد شبکه، با پوسته ot-ctl
در OTBR شروع می کنیم که برای ارتباط با گره RCP استفاده می شود. دستورات زیر را به ترتیب زیر وارد کنید:
شاخص | فرمان | توضیحات فرمان | پاسخ مورد انتظار | ||
1 | | یک پیکربندی شبکه جدید ایجاد کنید. | انجام شد | ||
2 | | مجموعه داده جدید را به مجموعه داده عملیاتی فعال متعهد کنید. | انجام شد | ||
3 | | رابط Thread را فعال کنید. | انجام شد | ||
4 | | عملیات پروتکل Thread را فعال و پیوست کنید. | انجام شد | ||
10 ثانیه صبر کنید تا رابط موضوع روشن شود. | |||||
5 | | وضعیت دستگاه را بررسی کنید. باید رهبر باشد. | رهبر | ||
6 | | مشاهده پیکربندی شبکه | مهر زمانی فعال: 1 |
از شماره کانال و کلید شبکه در ot-cli-ftd
برای اتصال دو FTD به این شبکه نخ استفاده می کنیم.
راه اندازی و اضافه کردن FTD به شبکه Thread ما (روش خارج از باند)
با روش خارج از باند، ما تمام اطلاعات امنیتی را می دانیم و گره را به صورت دستی اضافه می کنیم. در کنسول Simplicity هر دو FTD را با استفاده از دستورات زیر به ترتیب زیر به شبکه خود اضافه کنید.
شاخص | فرمان | توضیحات فرمان | پاسخ مورد انتظار | ||
1 | | کانال مورد استفاده توسط OTBR را تنظیم کنید. | انجام شد | ||
2 | | فقط کلید شبکه برای اتصال دستگاه به شبکه Thread لازم است. | انجام شد | ||
3 | | مجموعه داده جدید را به مجموعه داده عملیاتی فعال متعهد کنید. | انجام شد | ||
4 | | رابط Thread را فعال کنید. | انجام شد | ||
5 | | عملیات پروتکل Thread را فعال و پیوست کنید. | انجام شد | ||
20 ثانیه صبر کنید تا دستگاه بپیوندد و خود را پیکربندی کند. | |||||
6 | | مشاهده پیکربندی شبکه | کودک |
ارتباط بین دستگاه های Thread
ما از دستور ping
برای بررسی اینکه آیا دستگاه ها می توانند با یکدیگر ارتباط برقرار کنند استفاده می کنیم. برای استفاده از دستور ping به آدرس های IPv6 دستگاه ها نیاز داریم. اینها را می توان با استفاده از دستور 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)
از هر دو FTD، OTBR را با استفاده از آدرس 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
پاسخ نشان دهنده بار دریافتی و موفقیت آمیز بودن ارتباط است. این فرآیند را برای پینگ کردن FTD ها از OTBR تکرار کنید.
9. تبریک می گویم
شما یک شبکه Thread ایجاد کرده اید!
اکنون می دانید:
- نحوه ایجاد یک پروژه OpenThread با استفاده از Silicon Labs Simplicity Studio IDE.
- نحوه ساخت و فلش کردن باینری های OpenThread CLI روی بردهای رادیویی Silicon Labs.
- نحوه راه اندازی Raspberry Pi 3B+ یا بالاتر به عنوان روتر مرزی OpenThread (OTBR) با استفاده از Docker.
- چگونه یک شبکه Thread در OTBR ایجاد کنیم.
- راه اندازی خارج از باند دستگاه ها روی شبکه Thread.
- نحوه بررسی ارتباط Thread بین گره ها با استفاده از دستور ping.
در ادامه مطلب
برای انواع منابع OpenThread از جمله: openthread.io و GitHub را بررسی کنید:
- پلتفرم های پشتیبانی شده - تمام پلتفرم هایی که از OpenThread پشتیبانی می کنند را کشف کنید
- ساخت OpenThread - جزئیات بیشتر در مورد ساخت و پیکربندی OpenThread
- Thread Primer - تمام مفاهیم Thread که در این Codelab وجود دارد را پوشش می دهد
- Silicon Labs OpenThread Training - مقدمهای بر OpenThread، راهاندازی و مسیریابهای مرزی را مورد بحث قرار میدهد، و یک تمرین عملی ایجاد یک شبکه OpenThread.
- QSG170: راهنمای شروع سریع OpenThread Silicon Labs - روند شروع به کار توسعه رشته Silicon Labs را با جزئیات پوشش می دهد.
- AN1256: استفاده از Silicon Labs RCP با OpenThread Border Router — دستورالعمل های ساخت و نصب برای میزبان روتر مرزی Raspberry Pi
10. تنظیم سیستم عامل اختیاری - دموها
دموها تصاویر سفتافزار از پیش ساختهشدهای هستند که آماده دانلود در یک دستگاه سازگار هستند. سریعترین راه برای یافتن اینکه آیا نسخه نمایشی برای بخش شما در Simplicity Studio در دسترس است یا خیر، کلیک کردن روی قسمت خود در نمای Debug Adapters و سپس رفتن به برگه EXAMPLE PROJECTS & DEMOS در Launcher Perspective است. فیلتر Example Projects را غیرفعال کنید و کادر Thread radio را در قسمت Technology Type علامت بزنید.
تصاویر برنامه آزمایشی از پیش کامپایل شده ارائه شده با OpenThread SDK با بردهای زیر سازگار است:
- BRD4161a
- BRD4166a
- BRD4168a
- BRD4180a
- BRD4304a
این فهرست ممکن است در نسخههای آینده SDK بهروزرسانی شود تا بردهای رادیویی بیشتری را شامل شود. لطفاً برای لیست کامل قطعات پشتیبانی شده، به یادداشتهای انتشار OpenThread SDK Silicon Labs در بخش Documentation مراجعه کنید.
دموهای زیر را روی بردهای مربوطه فلش کنید. برای فلش کردن، برد خود را در قسمت Debug Adapters در سمت چپ انتخاب کنید و برای نمونه برنامه های مربوطه روی RUN کلیک کنید. یک پنجره پاپ آپ پیشرفت فلاش را نشان می دهد.
- BRD4166A: ot-rcp - این دستگاه به عنوان یک پردازشگر رادیویی برای روتر مرزی OT عمل می کند. ما از این دستگاه برای ایجاد یک شبکه Thread و سوار شدن بر دو دستگاه دیگر در شبکه Thread استفاده خواهیم کرد. به عنوان یک مسیریاب مرزی، این دستگاه همچنین به عنوان دروازه ای برای دستگاه های موجود در شبکه Thread برای ارتباط از طریق اینترنت عمل می کند.
- دو BRD4168A: ot-cli-ftd - این دو دستگاه به عنوان دستگاه های Full Thread عمل می کنند. آنها به شبکه Thread ایجاد شده توسط OTBR می پیوندند.