1. מבוא

OpenThread (OT) של Google הוא הטמעה של Thread בקוד פתוח. Google פרסמה את OpenThread כדי להפוך את טכנולוגיית הרשת שמשמשת במוצרי Google Nest לזמינה יותר למפתחים, במטרה להאיץ את פיתוח המוצרים לבית החכם ולבניינים מסחריים. OpenThread הוא נייד מאוד, כי יש לו שכבת הפשטה צרה של הפלטפורמה והזיכרון שבשימוש קטן. היא תומכת גם במערכת על שבב (SoC) וגם בתכנונים של מעבד משותף ברשת (NCP).
מפרט Thread מגדיר פרוטוקול תקשורת אלחוטי אמין ומאובטח בין מכשירים, שמבוסס על IPv6 וצורכת מעט חשמל, לשימוש בבית ובבניינים מסחריים.
Silicon Labs שיפרה את OpenThread כדי שתפעל עם חומרה של Silicon Labs. קוד המקור הזה זמין ב-GitHub וגם כערכת פיתוח תוכנה (SDK) שמותקנת עם Simplicity Studio 5 (SSv5). ה-SDK כולל תמונת מצב שנבדקה באופן מלא של קוד המקור ב-GitHub. היא תומכת במגוון רחב יותר של חומרה בהשוואה לגרסה של GitHub, והיא כוללת תיעוד ודוגמאות לאפליקציות שלא זמינים ב-GitHub.
במדריך הזה מוסבר איך להתחיל לפתח אפליקציות OpenThread באמצעות Silicon Labs OpenThread SDK ו-Simplicity Studio 5. בתמונה שלמטה אפשר לראות את הלוחות (BRD) ואת הגדרת החומרה עם נתב גבול OT (OTBR) ושני מכשירי Thread שמשמשים בשיעור ה-Codelab.

מה תלמדו
- איך ליצור פרויקט OpenThread באמצעות סביבת הפיתוח המשולבת (IDE) של Silicon Labs Simplicity Studio.
- איך יוצרים קובצי הפעלה של OpenThread CLI ואיך מעבירים אותם ללוחות רדיו של Silicon Labs.
- איך מגדירים Raspberry Pi 3B+ או גרסה מתקדמת יותר כנתב גבול OpenThread (OTBR) באמצעות Docker.
- איך יוצרים רשת Thread ב-OTBR.
- הקצאת הרשאות למכשירים ברשת בפרוטוקול Thread מחוץ לפס.
- איך מאמתים את התקשורת ב-Thread בין הצמתים באמצעות הפקודה ping.
2. דרישות מוקדמות
חומרה:
- 3 לוחות רדיו EFR32MGxx – אפשר להשתמש בכל שילוב של המכשירים האלה. בשיעור Codelab הזה נעשה שימוש ב-BRD4166A כ-RCP ובשני מכשירי BRD4168A כמכשירי Thread מלאים.
- EFR32MG12 (BRD4161A, BRD4166A, BRD4170A, BRD4304A)
- EFR32MG13 (BRD4168A)
- EFR32MG21 (BRD4180A, BRD4180B)
- BRD4001A: לוחות ראשיים אלחוטיים למתחילים (WSTK) לאירוח לוחות הרדיו. חוץ מ-BRD4166A, כל לוחות הרדיו צריכים לוח ראשי להתנעה. כבלים מסוג מיני USB לחיבור ולהפעלה של הלוחות הראשיים, או כבל מיקרו USB ל-BRD4166A.

- Raspberry Pi 3B+ או גרסה מתקדמת יותר עם תמונת מערכת הפעלה Raspbian Stretch Lite או Raspbian Stretch עם Desktop שמחובר לאינטרנט באמצעות אתרנט. אנחנו מגדירים את הנתב הזה כנתב גבול של OT.
- מערכת מארחת Windows/Linux/Mac עם לפחות 2 יציאות USB וחיבור לאינטרנט. בודקים את דרישות החומרה ומערכת ההפעלה ב-SSv5.
- לפחות כבל אתרנט אחד לחיבור Raspberry Pi לאינטרנט. ערכות ה-WSTK תומכות גם בניפוי באגים ובצריבת נתונים דרך IP, כך שאפשר להשתמש בכבלי אתרנט נוספים כדי לחבר את ה-WSTK למערכת המארחת דרך מתג אתרנט.
תוכנה:
- Simplicity Studio v5 מותקן ומעודכן במערכת המארחת Windows/Linux/Mac עם
- GNU ARM toolchain
- 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 v7.2.1


מחברים כל לוח ראשי של ערכת Wireless Starter Kit למחשב המארח באמצעות USB, כמו שמוצג בתמונה שלמטה. החיבורים האלה יאפשרו תכנות וניתוח רשת של ה-RCP ומכשירי הקצה. קודם נשתמש במחשב המארח כדי לתכנת את ה-BRD4166A עם קושחת ה-ot-rcp, ובסופו של דבר נחבר אותו ל-Raspberry Pi. אפשרות נוספת היא לחבר את מכשירי הקצה למחשב המארח באמצעות מתג אתרנט משותף. ערכות המתחילים תומכות גם בתכנות ובניתוח רשת באמצעות IPv4.

4. הגדרת קושחה
יש שתי דרכים להתחיל. שתי האפשרויות מאפשרות לכם להפעיל את הקושחה שנדרשת ל-codelab הזה.
- פרויקטים: (מומלץ) יצירה, פיתוח והעלאה של אפליקציה לדוגמה. האפשרות הזו מאפשרת לכם להתאים אישית את האפליקציה בפרויקט.או
- הדגמות: (אופציונלי) אפשר להציג את ההדגמות המוכנות מראש ישירות בלוח הרדיו עבור כל אחת מהאפליקציות לדוגמה. מומלץ למשתמשים לנסות את הגדרת הקושחה של הדמו כתרגיל אופציונלי. פרטים נוספים מופיעים בקטע 'הגדרה אופציונלית של קושחה – הדגמות' בסוף ה-codelab הזה.
ב-codelab הזה נשתמש בשיטה שמבוססת על פרויקט.
יצירת פרויקטים באמצעות דוגמאות
ניצור שני פרויקטים. פרויקט ot-rcp עבור BRD4166A ופרויקט ot-cli-ftd עבור שני BRD4168A. צריך לפעול לפי השלבים הבאים ולבחור את האפליקציה לדוגמה המתאימה ללוח.
- פותחים את התפריט File (קובץ) ב-Studio ובוחרים באפשרות New > Silicon Labs Project Wizard (חדש > אשף הפרויקטים של Silicon Labs). תיבת הדו-שיח Target, SDK, and Toolchain Selection (בחירת יעד, SDK ושרשרת כלים) נפתחת. אל תשנו את ברירת המחדל של Simplicity IDE / GNU toolchain שנתמכת על ידי OpenThread. לוחצים על 'הבא'.
- לוחות יעד: הצגת לוח הרדיו שנבחר (BRD4168A) יחד עם הלוח הראשי (BRD4001A)
- מכשיר היעד: בשדה הזה מוצג שבב המיקרו-בקר (MCU) שמוטמע במכשיר. ל-BRD4168A יש MCU מסוג EFR32MG13 מובנה.
- SDK: כאן אפשר לבחור את גרסת ה-SDK של OT שאתם עובדים איתה. פרטי החבילה כוללים את תג ה-SDK ואת ה-build של 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 ולוחצים על הבא.

- תיבת הדו-שיח Project Configuration (הגדרת הפרויקט) נפתחת. כאן אפשר לשנות את השם של הפרויקט, לשנות את מיקום ברירת המחדל של קובץ הפרויקט ולקבוע אם לקשר לקובצי הפרויקט או להעתיק אותם. קבצים של פרויקטים מקושרים מפנים ל-SDK, וכל שינוי שתבצעו יתבצע ב-SDK וישמש לפרויקטים עתידיים. העתקת מקורות הפרויקט מאפשרת לכם לערוך עותק מקומי של הפרויקט, כך שקבצי ה-SDK יישארו ללא שינוי. האפשרות 'קישור ה-SDK והעתקת מקורות הפרויקט' היא ברירת המחדל והבחירה המומלצת. לוחצים על סיום.

- התצוגה של Simplicity IDE נפתחת עם הכלי Project Configurator כשהכרטיסייה OVERVIEW פתוחה.

הפרויקט מוגדר בכרטיסייה Software Components (רכיבי תוכנה) על ידי התקנה והסרה של רכיבים, והגדרה של רכיבים מותקנים. הרכיבים המותקנים נבדקים. לוחצים על Installed Components (רכיבים מותקנים) כדי לראות רשימה מסוננת של רכיבים שהותקנו על ידי האפליקציה לדוגמה. כל שינוי שתבצעו יישמר אוטומטית, וקבצי הפרויקט ייווצרו אוטומטית. ההתקדמות מוצגת בפינה השמאלית התחתונה של תצוגת Simplicity IDE.

בדמו הזה נשתמש בהגדרות ברירת המחדל של האפליקציות לדוגמה. חוזרים על השלבים שלמעלה כדי ליצור את הפרויקט ot-rcp ללוח השני.
יצירה והעלאה של הפרויקטים
יוצרים ומפעילים את שני הפרויקטים ot-rcp ו-ot-cli-ftd.
- אחרי שמגדירים את הפרויקט, לוחצים על הסמל של פטיש (בקרת בנייה) בסרגל הכלים העליון. אפשר גם ללחוץ לחיצה ימנית על הפרויקט ואז ללחוץ על 'בניית הפרויקט'.

- ההתקדמות מוצגת במסוף ובסרגל התקדמות בפינה השמאלית התחתונה. חלון הפלט הזה יציג גם שגיאות או אזהרות שקשורות לפרויקט.

- תמונות הבינאריות נוצרות אחרי ש-build הפרויקט מסתיים בהצלחה. אפשר להציג את תמונת ה-binary מהתצוגה Project Explorer. מאתרים את הקובץ .bin, .hex או .s37 בספריית המשנה של הקומפיילר. לוחצים לחיצה ימנית על הקובץ ובוחרים באפשרות Flash to Device (העברה לזיכרון הפלאש של המכשיר). אם יש לכם יותר ממכשיר אחד שמחובר, בוחרים מכשיר לתכנות ולוחצים על אישור. הכלי Flash Programmer ייפתח עם נתיב הקובץ. לוחצים על תוכנית.

5. סיכום הגדרות הקושחה
בשלב הזה, אמור להיות לכם קובץ קושחה מתאים שיצרתם, הידרתם והעליתם ללוחות הרדיו. אחרי שמעבירים את ot-rcp ל-BRD4166A, מנתקים אותו מהמערכת המארחת ומחברים את הלוח הזה ל-Raspberry Pi.
אחרי שתשלימו את השלב הזה, הגדרת החומרה של רשת Thread תיראה כך.

6. הגדרת מסוף סדרתי למכשירי ot-cli-ftd
כדי להפעיל את ממשק ה-Console, בתצוגה של Simplicity IDE לוחצים לחיצה ימנית על מכשיר J-Link בחלון Devices View / Debug Adapters. בוחרים באפשרות הפעלת המסוף. כדי לקבל הנחיה במסוף, בוחרים בכרטיסייה Serial 1 ומקישים על Enter. בודקים את המצב של צומת FTD.

שימו לב שעדיין אין לנו מסוף ל-ot-rcp. בשלב הבא נגדיר את Raspberry Pi כנתב גבול של OT ונגדיר את המסוף עבור ot-rcp.
7. הגדרת Raspberry Pi כנתב גבול
חברת Silicon Labs ממליצה לפרוס את מאגר ה-Docker של החברה באמצעות OTBR. הפעלת OTBR בקונטיינר מאפשרת ליצור ארטיפקטים שקל לפרוס, ולבצע במהירות בדיקות ואב טיפוסים של פיתוח.
תמונות OTBR של Silicon Labs מתארחות ב-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 או את Raspbian Stretch עם שולחן עבודה.
- אפשר להתחבר ל-Raspberry Pi באמצעות SSH או לבחור לעבוד ישירות עם Raspbian Desktop. פותחים טרמינל.
- לפני שמתקינים את Docker, חשוב לעדכן את המאגרים המקומיים ואת מנהל החבילות (apt-get update ו-apt-get upgrade).
התקנת קובץ אימג' של Docker
- מריצים את הפקודה הבאה כדי להתקין את Docker ב-RPi.
curl -sSL https://get.docker.com | sh
- אחרי שמסיימים, אפשר לשנות את הגדרות המשתמש ב-Docker כך שלא תידרש הרשאת sudo לפני כל פקודה. נדרשת הפעלה מחדש.
sudo usermod -aG docker $USER
- מריצים את הפקודות הבאות כדי להתקין את הקונטיינרים. הערה: אפשר להפעיל רק קונטיינר אחד של נתב גבול בכל פעם באמצעות ה-RCP. בנוסף, חשוב לוודא שגרסת ה-GSDK של Simplicity Studio תואמת לקובץ האימג' של Docker. לדוגמה,
gsdk-4.0.1:docker pull siliconlabsinc/openthread-border-router:gsdk-4.0.1
הגדרה והרצה של Docker
- צריך להגדיר את יציאת ה-TTY שרוצים להשתמש בה כדי שמכשיר ה-OTBR יתחבר ל-RCP בהפעלה. מחפשים את יציאת ה-TTY של מכשיר ה-RCP. הדרך הקלה ביותר לעשות זאת היא לחפש את האפשרות
/tty/dev... אחרי שה-RCP מחובר. בדרך כלל הערך צריך להיות/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נשארת קבועה עד שסוגרים (או מסירים) את קובץ ה-Docker. - יציאה 8080 מציינת את היציאה של שרת האינטרנט שמארח את דף הניהול של נתב הגבול.
?uart-baudrate=460800נדרש באפשרויות של כתובת ה-URL של הרדיו כדי לעקוף בעיות של פיצול או הרכבה מחדש ב-UART, עם פעולות יקרות כמו DTLS עם מנות IPv6 ארוכות.
-
אינטראקציה עם צומת RCP
אחרי ש-Docker פועל, אפשר לתקשר עם צומת ה-RCP באמצעות מעטפת אינטראקטיבית באמצעות הפקודה הזו. בודקים את המצב של צומת ה-RCP.
$ docker exec -ti otbr sh -c "sudo ot-ctl" > state disabled Done
אפשר לקבל רשימה של מזהי מאגרים פעילים
$ docker ps -aq
אפשר לבדוק את החלון שבו פועל קונטיינר OTBR Docker כדי לראות את פלט היומן של נתב הגבולות, או לעקוב אחרי יומן הקונטיינר באופן הבא:
$ docker logs [container-id] -f
אופציונלי: אם קובץ ה-Docker Container נטען כמו שצריך, אפשר לעצור, להסיר או להרוג את קובץ האימג'.
$ 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 shell ב-OTBR שמשמש לתקשורת עם צומת ה-RCP. מזינים את הפקודות הבאות בסדר שמופיע בהמשך:
אינדקס | פקודה | תיאור הפקודה | תשובה צפויה | ||
1 |
| יצירת הגדרת רשת חדשה. | סיום | ||
2 |
| ביצוע Commit של מערך נתונים חדש למערך הנתונים הפעיל. | סיום | ||
3 |
| מפעילים את הממשק של Thread. | סיום | ||
4 |
| הפעלה וצירוף של פעולת פרוטוקול Thread. | סיום | ||
מחכים 10 שניות עד שממשק השרשור מופיע. | |||||
5 |
| בודקים את מצב המכשיר. היא צריכה להיות המובילה. | המוביל/ה | ||
6 |
| צופים בהגדרות הרשת. | חותמת זמן פעילה: 1 | ||
אנחנו נשתמש במספר הערוץ ובמפתח הרשת ב-ot-cli-ftd כדי לצרף את שני ה-FTD לרשת השרשור הזו.
הגדרה והוספה של FTD לרשת Thread (שיטה מחוץ לפס)
בשיטה מחוץ לפס, אנחנו יודעים את כל פרטי האבטחה ומוסיפים את הצומת באופן ידני. במסופי Simplicity, מוסיפים את שני ה-FTD לרשת באמצעות הפקודות הבאות, לפי הסדר שמוצג למטה.
אינדקס | פקודה | תיאור הפקודה | תשובה צפויה | ||
1 |
| הגדרת הערוץ שבו נעשה שימוש ב-OTBR. | סיום | ||
2 |
| כדי שמכשיר יצורף לרשת עם פרוטוקול Thread, נדרש רק מפתח הרשת. | סיום | ||
3 |
| ביצוע Commit של מערך נתונים חדש למערך הנתונים הפעיל. | סיום | ||
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 באמצעות סביבת הפיתוח המשולבת (IDE) של Silicon Labs Simplicity Studio.
- איך יוצרים קובצי הפעלה של OpenThread CLI ואיך מעבירים אותם ללוחות רדיו של Silicon Labs.
- איך מגדירים Raspberry Pi 3B+ או גרסה מתקדמת יותר כנתב גבול OpenThread (OTBR) באמצעות Docker.
- איך יוצרים רשת Thread ב-OTBR.
- הקצאת הרשאות למכשירים ברשת בפרוטוקול Thread מחוץ לפס.
- איך מאמתים את התקשורת ב-Thread בין הצמתים באמצעות הפקודה ping.
קריאה נוספת
באתר openthread.io וב-GitHub אפשר למצוא מגוון משאבים של OpenThread, כולל:
- פלטפורמות נתמכות – רשימה של כל הפלטפורמות שתומכות ב-OpenThread
- Build OpenThread – פרטים נוספים על יצירה והגדרה של OpenThread
- Thread Primer – סקירה של כל המושגים שקשורים ל-Thread ומופיעים ב-Codelab הזה
- Silicon Labs OpenThread Training – מבוא ל-OpenThread, דיון בהפעלה ובנתבים בגבולות, וכן תרגיל מעשי ליצירת רשת OpenThread.
- QSG170: Silicon Labs OpenThread Quick-Start Guide – מדריך מפורט לתחילת העבודה עם פיתוח Silicon Labs Thread
- AN1256: שימוש ב-Silicon Labs RCP עם OpenThread Border Router – הוראות לבנייה ולהתקנה של Raspberry Pi Border Router Host
10. הגדרה אופציונלית של קושחה – הדגמות
הדגמות הן תמונות קושחה מוכנות מראש שאפשר להוריד למכשיר תואם. הדרך הכי מהירה לגלות אם יש הדגמה לחלק שלכם ב-Simplicity Studio היא ללחוץ על החלק שלכם בתצוגה Debug Adapters (מתאמי ניפוי באגים) ואז לעבור לכרטיסייה EXAMPLE PROJECTS & DEMOS (פרויקטים לדוגמה והדגמות) ב-Launcher Perspective (תצוגת הפעלה). משביתים את המסנן Example Projects (פרויקטים לדוגמה) ומסמנים את תיבת הסימון Thread (שרשור) בקטע Technology Type (סוג הטכנולוגיה).

תמונות של אפליקציות הדגמה שעברו קומפילציה מראש ומסופקות עם OpenThread SDK תואמות ללוחות הבאים:
- BRD4161a
- BRD4166a
- BRD4168a
- BRD4180a
- BRD4304a
יכול להיות שבעתיד נעדכן את הרשימה הזו בגרסאות חדשות של ערכות SDK כדי לכלול לוחות רדיו נוספים. רשימה מלאה של החלקים הנתמכים מופיעה בהערות לגבי הגרסה של Silicon Labs OpenThread SDK בקטע Documentation.
צריבת ROM (flash) של ההדגמות הבאות בלוחות המתאימים. כדי להפעיל את ההבהוב, בוחרים את הלוח בקטע Debug Adapters (מתאמי ניפוי באגים) בצד ימין ולוחצים על RUN (הפעלה) עבור האפליקציות לדוגמה המתאימות. יופיע חלון קופץ עם התקדמות ההפעלה של Flash.
- BRD4166A: ot-rcp – המכשיר הזה יפעל כמעבד משותף של רדיו לנתב הגבולות של OT. נשתמש במכשיר הזה כדי ליצור רשת של פרוטוקול Thread ולצרף את שני המכשירים האחרים לרשת. המכשיר הזה הוא גם נתב גבולות, ולכן הוא משמש גם כשער למכשירים ברשת עם פרוטוקול Thread כדי לתקשר באינטרנט.
- 2 מכשירי BRD4168A: ot-cli-ftd – שני המכשירים האלה ישמשו כמכשירי Thread מלאים. הם יצטרפו לרשת Thread שנוצרה על ידי ה-OTBR.