با استفاده از Simplicity Studio v5 یک شبکه Thread با بردهای Silicon Labs EFR32 و OpenThread بسازید.

1. معرفی

26b7f4f6b3ea0700.png

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 را شرح می‌دهد. نرم افزار کد.

راه اندازی سخت افزار EFR32MG

چیزی که یاد خواهید گرفت

  • نحوه ایجاد یک پروژه OpenThread با استفاده از Silicon Labs Simplicity Studio IDE.
  • نحوه ساخت و فلش باینری OpenThread CLI به بردهای رادیویی Silicon Labs.
  • نحوه راه اندازی Raspberry Pi 3B+ یا بالاتر به عنوان روتر مرزی OpenThread (OTBR) با استفاده از Docker.
  • نحوه ایجاد شبکه Thread در OTBR.
  • راه اندازی خارج از باند دستگاه ها روی شبکه Thread.
  • نحوه بررسی ارتباط Thread بین گره ها با استفاده از دستور ping.

2. پیش نیازها

سخت افزار:

  1. 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 )
    اگر تازه شروع می کنید، می توانید یکی از کیت شروع EFR32 Thread را که دارای بردهای ذکر شده در بالا است، تهیه کنید.
  2. BRD4001A: بردهای اصلی استارت بی سیم (WSTK) برای میزبانی بردهای رادیویی. به جز BRD4166A، همه بردهای رادیویی هر کدام به یک برد اصلی شروع کننده نیاز دارند. کابل‌های Mini USB برای اتصال و تغذیه بردهای اصلی یا کابل micro USB برای BRD4166A.

WSTK AEM

  1. Raspberry Pi 3B+ یا بالاتر با تصویر Raspbian Stretch Lite OS یا Raspbian Stretch با دسکتاپ که از طریق اترنت به اینترنت متصل است. ما این را به عنوان یک روتر مرزی OT پیکربندی می کنیم.
  2. یک سیستم میزبان ویندوز / لینوکس / مک با حداقل 2 پورت USB و اتصال به اینترنت. سخت افزار و الزامات سیستم عامل را در SSv5 بررسی کنید.
  3. حداقل یک کابل اترنت برای اتصال Raspberry Pi به اینترنت. WSTK ها همچنین از اشکال زدایی و چشمک زدن روی IP پشتیبانی می کنند، بنابراین، به صورت اختیاری، می توان از کابل های اترنت اضافی برای اتصال WSTK به سیستم میزبان خود از طریق یک سوئیچ اترنت استفاده کرد.

نرم افزار:

  • Simplicity Studio v5 بر روی سیستم هاست ویندوز/لینوکس/مک با نصب و به روز رسانی شد
    • زنجیره ابزار GNU ARM
    • Gecko SDK Suite 3.2.0 یا جدیدتر و Silicon Labs OpenThread SDK.

3. راه اندازی سخت افزار

این Codelab با استفاده از

  1. EFR32MG12 BRD4166A Thunderboard Sense 2 همانطور که در سمت چپ نشان داده شده است.
  2. دو EFR32MG13 BRD4168A همانطور که در سمت راست نشان داده شده است.
  3. Simplicity Studio v5 بر روی macOS Catalina 10.15.7 با
    1. Gecko SDK 3.2.0
    2. GNU ARM نسخه 7.2.1

BRD4168A

همانطور که در تصویر زیر نشان داده شده است، هر برد اصلی Wireless Starter Kit را با USB به کامپیوتر میزبان متصل کنید. این اتصالات امکان برنامه نویسی و تجزیه و تحلیل شبکه RCP و دستگاه های پایانی را فراهم می کند. ابتدا از کامپیوتر میزبان برای برنامه ریزی BRD4166A با سیستم عامل ot-rcp و در نهایت آن را به Raspberry Pi وصل می کنیم. در صورت تمایل، ممکن است دستگاه های پایانی از طریق یک سوئیچ اترنت مشترک به رایانه میزبان متصل شوند. کیت های شروع کننده همچنین از برنامه نویسی و تجزیه و تحلیل شبکه از طریق IPv4 پشتیبانی می کنند.

اتصالات

4. راه اندازی سیستم عامل

دو راه برای شروع وجود دارد. هر دو گزینه به شما این امکان را می‌دهند که سفت‌افزارهای مورد نیاز این کد لبه را فلش کنید.

  1. پروژه ها: (توصیه می شود) یک نمونه برنامه را ایجاد، بسازید و فلش کنید. این گزینه به شما اجازه می دهد تا برنامه را در project.OR شخصی سازی کنید
  2. دموها: (اختیاری) دموهای از پیش ساخته شده را مستقیماً روی برد رادیویی برای هر یک از برنامه های نمونه فلش کنید. کاربران تشویق می‌شوند که سفت‌افزار Demos را که به‌عنوان یک تمرین اختیاری تنظیم شده است، امتحان کنند. لطفاً برای جزئیات به بخش "تنظیم سیستم عامل اختیاری - دموها" در انتهای این کد لبه مراجعه کنید.

ما از روش مبتنی بر پروژه برای این کد لبه استفاده خواهیم کرد.

پروژه ها را با استفاده از مثال ایجاد کنید

ما دو پروژه ایجاد خواهیم کرد. پروژه ot-rcp برای BRD4166A و پروژه ot-cli-ftd برای دو BRD4168A. لطفاً این مراحل را دنبال کنید و نمونه برنامه مناسب را برای برد خود انتخاب کنید.

  1. منوی 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 استفاده می کنیم.

جادوگر پروژه جدید

  1. گفتگوی Example Project Selection باز می شود. لیستی از پروژه های نمونه را مشاهده خواهید کرد. از فیلترهای Thread Technology Type و کلمات کلیدی برای جستجوی یک مثال خاص استفاده کنید. حتماً شماره نسخه Gecko SDK Suite را یادداشت کنید. هنگامی که Raspberry Pi را به عنوان یک مسیریاب مرزی تنظیم می کنید، به این تگ نسخه نیاز خواهید داشت. ot-cli-ftd را انتخاب کنید، سپس روی NEXT کلیک کنید.

ویزارد پروژه جدید مرحله 2

  1. کادر گفتگوی پیکربندی پروژه باز می شود. در اینجا می‌توانید نام پروژه خود را تغییر دهید، مکان پیش‌فرض فایل پروژه را تغییر دهید، و تعیین کنید که آیا به فایل‌های پروژه پیوند می‌دهید یا کپی می‌کنید. فایل‌های پروژه پیوند شده به SDK اشاره می‌کنند و هر تغییری که انجام می‌دهید در نهایت در SDK ایجاد می‌شود و برای پروژه‌های آینده استفاده می‌شود. کپی کردن منابع پروژه، به شما امکان می دهد یک کپی محلی پروژه را ویرایش کنید تا فایل های SDK دست نخورده باقی بمانند. " پیوند sdk و کپی منابع پروژه " پیش فرض و انتخاب توصیه شده است. روی FINISH کلیک کنید.

ویزارد پروژه جدید مرحله 3

  1. Simplicity IDE Perspective با باز شدن Project Configurator در برگه OVERVIEW باز می شود.

نمای کلی پروژه

این پروژه از تب Software Components با نصب و حذف کامپوننت ها و پیکربندی اجزای نصب شده پیکربندی می شود. اجزای نصب شده بررسی می شوند. روی Installed Components کلیک کنید تا یک لیست فیلتر شده از اجزای نصب شده توسط برنامه مثال را ببینید. هر تغییری که ایجاد می کنید به صورت خودکار ذخیره می شود و فایل های پروژه به طور خودکار تولید می شوند. پیشرفت در گوشه سمت راست پایین چشم انداز Simplicity IDE نشان داده شده است.

اجزای نرم افزار

برای این نسخه ی نمایشی می خواهیم از تنظیمات پیش فرض برنامه های نمونه استفاده کنیم. مراحل بالا را برای ایجاد پروژه ot-rcp برای برد دیگر خود تکرار کنید.

پروژه ها را بسازید و فلش کنید

هر دو پروژه ot-rcp و ot-cli-ftd را بسازید و فلش کنید.

  1. پس از پیکربندی پروژه، روی Build control (نماد چکش) در نوار ابزار بالا کلیک کنید. یا می توانید روی پروژه کلیک راست کرده و ساخت پروژه را کلیک کنید.

دکمه ساخت پروژه

  1. پیشرفت در کنسول و نوار پیشرفت در پایین سمت راست نمایش داده می شود. هر گونه خطا یا هشدار مربوط به پروژه شما نیز در این پنجره خروجی ظاهر می شود.

پنجره خروجی ساخت پروژه

  1. تصاویر باینری پس از ساخت پروژه موفق تولید می شوند. می توانید تصویر باینری را از نمای Project Explorer فلش کنید. فایل .bin، .hex یا .s37 را در زیر شاخه کامپایلر پیدا کنید. روی فایل کلیک راست کرده و Flash to Device را انتخاب کنید. اگر بیش از یک دستگاه متصل دارید ، یک دستگاه را برای برنامه‌ریزی انتخاب کنید، روی OK کلیک کنید. برنامه نویس فلش با مسیر فایل پر شده باز می شود. روی PROGRAM کلیک کنید.

فلاش

5. خلاصه تنظیم سیستم عامل

در این مرحله باید فریمور مناسب را روی بردهای رادیویی ایجاد، کامپایل و فلش کرده باشید. هنگامی که ot-rcp روی BRD4166A فلش شد، آن را از سیستم میزبان جدا کرده و این برد را به Raspberry Pi وصل کنید.

پس از تکمیل این بخش، راه اندازی سخت افزار شبکه Thread شما به این شکل خواهد بود.

راه اندازی EFR32MG

6. کنسول سریال را برای دستگاه های ot-cli-ftd راه اندازی کنید

برای راه اندازی رابط کنسول، در چشم انداز Simplicity IDE روی دستگاه J-Link خود در پنجره Devices View / Debug Adapters کلیک راست کنید . Launch Console را انتخاب کنید. برای دریافت یک درخواست در کنسول، سربرگ 1 را انتخاب کنید و Enter را فشار دهید . وضعیت گره FTD را بررسی کنید.

نمای کنسول FTD Studio

متوجه خواهید شد که ما هنوز کنسولی برای 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 استفاده کنید.

نسخه GSDK

Raspberry Pi راه اندازی شد

  1. در کارت SD خود، مطمئن شوید که تصویر Raspbian Stretch Lite OS یا Raspbian Stretch را با دسکتاپ فلش کرده اید.
  2. می توانید SSH را روی Raspberry Pi انجام دهید یا اینکه مستقیماً با Raspbian Desktop کار کنید. یک ترمینال باز کنید
  3. مطمئن شوید که مخازن محلی و مدیر بسته خود را به روز کنید ( به روز رسانی apt-get و ارتقاء apt-get قبل از نصب Docker).

تصویر Docker را نصب کنید

  1. Docker را با دستور زیر روی RPi خود نصب کنید.
    curl -sSL https://get.docker.com | sh
    
  2. پس از اتمام، می توانید تنظیمات کاربر Docker را طوری تغییر دهید که قبل از هر دستور نیازی به sudo نباشد. راه اندازی مجدد مورد نیاز است.
    sudo usermod -aG docker $USER
    
  3. برای نصب کانتینرها دستورات زیر را صادر کنید. توجه داشته باشید که می توانید تنها یک کانتینر Border Router را در یک زمان با RCP خود در حال اجرا داشته باشید. همچنین، مطمئن شوید که نسخه Simplicity Studio GSDK خود را با تصویر Docker صحیح مطابقت دهید. به عنوان مثال، gsdk-4.0.1 :
    docker pull siliconlabsinc/openthread-border-router:gsdk-4.0.1
    

docker را پیکربندی و اجرا کنید

  1. شما باید پورت TTY را که می‌خواهید برای OTBR برای اتصال RCP خود در هنگام راه‌اندازی استفاده کنید، پیکربندی کنید. به دنبال پورت TTY دستگاه RCP خود باشید. ساده ترین راه برای انجام این کار این است که پس از اتصال RCP به دنبال یک ورودی /tty/dev ... بگردید. معمولاً باید /dev/ttyUSB0 یا /dev/ttyACM0 باشد.
  2. نصب 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 تا زمانی که محفظه docker به درستی بسته شود (یا برداشته شود) چسبنده است.
    • پورت 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 کنسول داشته باشید.

  1. دو کنسول ot-cli-ftd در Simplicity Studio که به عنوان دستگاه های Full Thread راه اندازی شده اند.
  2. یک پوسته تعاملی ot-ctl در Raspberry Pi که به عنوان یک روتر مرزی OT راه اندازی شده است.

اکنون ما آماده تشکیل یک شبکه Thread هستیم.

8. یک شبکه Thread ایجاد کنید

RCP را راه اندازی کنید

برای ایجاد شبکه، با پوسته ot-ctl در OTBR شروع می کنیم که برای ارتباط با گره RCP استفاده می شود. دستورات زیر را به ترتیب زیر وارد کنید:

فهرست مطالب

فرمان

توضیحات فرمان

پاسخ مورد انتظار

1

dataset init new

یک پیکربندی شبکه جدید ایجاد کنید.

انجام شده

2

dataset commit active

مجموعه داده جدید را به مجموعه داده عملیاتی فعال متعهد کنید.

انجام شده

3

ifconfig up

رابط Thread را فعال کنید.

انجام شده

4

thread start

عملیات پروتکل Thread را فعال و پیوست کنید.

انجام شده

10 ثانیه صبر کنید تا رابط موضوع روشن شود.

5

state

وضعیت دستگاه را بررسی کنید. باید رهبر باشد.
سایر حالت های ممکن: آفلاین، غیرفعال، جدا،
فرزند، روتر یا رهبر

رهبر
انجام شده

6

dataset

مشاهده پیکربندی شبکه
مقادیر شما با این نرم افزار کد متفاوت خواهد بود.
کانال، کلید شبکه را یادداشت کنید،
نام شبکه و شناسه PAN.

مهر زمانی فعال: 1
کانال: 20
ماسک کانال: 0x07fff800
اکست PAN ID: 39ba71f7fc367160
پیشوند محلی مش: fd5c:c6b:3a17:40b9::/64
کلید شبکه: 81ae2c2c17368d585dee71eaa8cf1e90
نام شبکه: OpenThread-008c
PAN ID: 0x008c
PSKc: c98f0193d4236025d22dd0ee614e641f
سیاست امنیتی: 0، onrcb
انجام شده

ما از شماره کانال و کلید شبکه در ot-cli-ftd برای اتصال دو FTD به این شبکه نخ استفاده می کنیم.

راه اندازی و اضافه کردن FTD به شبکه Thread ما (روش خارج از باند)

با روش خارج از باند، ما تمام اطلاعات امنیتی را می دانیم و گره را به صورت دستی اضافه می کنیم. در کنسول Simplicity هر دو FTD را با استفاده از دستورات زیر به ترتیب زیر به شبکه خود اضافه کنید.

فهرست مطالب

فرمان

توضیحات فرمان

پاسخ مورد انتظار

1

dataset channel 20

کانال مورد استفاده توسط OTBR را تنظیم کنید.

انجام شده

2

dataset networkkey 81ae2c2c17368d585dee71eaa8cf1e90

فقط کلید شبکه برای اتصال دستگاه به شبکه Thread لازم است.

انجام شده

3

dataset commit active

مجموعه داده جدید را به مجموعه داده عملیاتی فعال متعهد کنید.

انجام شده

4

ifconfig up

رابط Thread را فعال کنید.

انجام شده

5

thread start

عملیات پروتکل Thread را فعال و پیوست کنید.

انجام شده

20 ثانیه صبر کنید تا دستگاه بپیوندد و خود را پیکربندی کند.

6

state

مشاهده پیکربندی شبکه

کودک
انجام شده

ارتباط بین دستگاه های 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 را بررسی کنید:

10. راه اندازی سیستم عامل اختیاری - دموها

دموها تصاویر سفت‌افزار از پیش ساخته‌شده‌ای هستند که آماده دانلود در یک دستگاه سازگار هستند. سریع‌ترین راه برای یافتن اینکه آیا نسخه آزمایشی برای بخش شما در Simplicity Studio در دسترس است یا خیر، کلیک کردن روی قسمت خود در نمای Debug Adapters و سپس رفتن به برگه EXAMPLE PROJECTS & DEMOS در Launcher Perspective است. فیلتر Example Projects را غیرفعال کنید و کادر Thread radio را در قسمت Technology Type علامت بزنید.

دموهای استودیویی

تصاویر برنامه آزمایشی از پیش کامپایل شده ارائه شده با OpenThread SDK با بردهای زیر سازگار است:

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

این فهرست ممکن است در نسخه‌های آینده SDK به‌روزرسانی شود تا بردهای رادیویی بیشتری را شامل شود. لطفاً برای لیست کامل قطعات پشتیبانی شده، به یادداشت های انتشار OpenThread SDK Silicon Labs در بخش Documentation مراجعه کنید.

دموهای زیر را روی بردهای مربوطه فلش کنید. برای فلش کردن، برد خود را در قسمت Debug Adapters در سمت چپ انتخاب کنید و برای نمونه برنامه های مربوطه روی RUN کلیک کنید. یک پنجره بازشو پیشرفت فلاش را نشان می دهد.

  1. BRD4166A: ot-rcp - این دستگاه به عنوان یک پردازشگر رادیویی برای روتر مرزی OT عمل می کند. ما از این دستگاه برای ایجاد یک شبکه Thread و روی دو دستگاه دیگر در شبکه Thread استفاده خواهیم کرد. به عنوان یک مسیریاب مرزی، این دستگاه همچنین به عنوان دروازه ای برای دستگاه های موجود در شبکه Thread برای برقراری ارتباط از طریق اینترنت عمل می کند.
  2. دو BRD4168A: ot-cli-ftd - این دو دستگاه به عنوان دستگاه های Full Thread عمل می کنند. آنها به شبکه Thread ایجاد شده توسط OTBR می پیوندند.