בניית רשת בפרוטוקול Thread עם לוחות EFR32 ו-Silicon Labs של Silicon Labs ו-OpenThread באמצעות גרסה 5 של Simplicity Studio

1. מבוא

26b7f4f6b3ea0700.png

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 הזה.

הגדרת חומרה של EFR32MG

מה תלמדו

  • איך ליצור פרויקט OpenThread באמצעות סביבת הפיתוח המשולבת (IDE) של Silicon Labs Simplicity Studio.
  • איך יוצרים קובצי הפעלה של OpenThread CLI ואיך מעבירים אותם ללוחות רדיו של Silicon Labs.
  • איך מגדירים Raspberry Pi 3B+‎ או גרסה מתקדמת יותר כנתב גבול OpenThread ‏ (OTBR) באמצעות Docker.
  • איך יוצרים רשת Thread ב-OTBR.
  • הקצאת הרשאות למכשירים ברשת בפרוטוקול Thread מחוץ לפס.
  • איך מאמתים את התקשורת ב-Thread בין הצמתים באמצעות הפקודה ping.

2. דרישות מוקדמות

חומרה:

  1. ‫3 לוחות רדיו EFR32MGxx – אפשר להשתמש בכל שילוב של המכשירים האלה. ב-Codelab הזה נעשה שימוש ב-BRD4166A כ-RCP ובשני מכשירי BRD4168A כמכשירי פרוטוקול Thread מלאים.
    • EFR32MG12 (BRD4161A, BRD4166A, BRD4170A, BRD4304A)
    • EFR32MG13 (BRD4168A)
    • EFR32MG21 (BRD4180A, BRD4180B)
    אם אתם מתחילים מאפס, אתם יכולים לרכוש את ערכת המתחילים EFR32 Thread שכוללת את הלוחות שצוינו למעלה.
  2. ‫BRD4001A: לוחות ראשיים אלחוטיים למתחילים (WSTK) לאירוח לוחות הרדיו. למעט BRD4166A, כל לוחות הרדיו צריכים לוח ראשי להתנעה. כבלים מסוג מיני USB לחיבור ולהפעלה של הלוחות הראשיים או כבל מיקרו USB ל-BRD4166A.

WSTK AEM

  1. ‫Raspberry Pi 3B+‎ או גרסה מתקדמת יותר עם תמונת מערכת הפעלה Raspbian Stretch Lite או Raspbian Stretch עם Desktop שמחובר לאינטרנט באמצעות אתרנט. אנחנו מגדירים את הנתב הזה כנתב גבול של OT.
  2. מערכת מארחת Windows/Linux/Mac עם 2 יציאות USB לפחות וחיבור לאינטרנט. בודקים את דרישות החומרה ומערכת ההפעלה בכתובת SSv5.
  3. לפחות כבל אתרנט אחד לחיבור Raspberry Pi לאינטרנט. ערכות ה-WSTK תומכות גם בניפוי באגים ובצריבת קושחה דרך IP, כך שאפשר להשתמש בכבלי Ethernet נוספים כדי לחבר את ה-WSTK למערכת המארחת דרך מתג Ethernet.

תוכנה:

  • ‫Simplicity Studio v5 מותקן ומעודכן במערכת המארחת Windows/Linux/Mac עם
    • GNU ARM toolchain
    • ‫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 v7.2.1

BRD4168A

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

חיבורים

4. הגדרת קושחה

יש שתי דרכים להתחיל. שתי האפשרויות מאפשרות לכם להפעיל את הקושחות שנדרשות ל-codelab הזה.

  1. פרויקטים: (מומלץ) יצירה, פיתוח פתרונות וצריבת ROM‏ (flash) של אפליקציה לדוגמה. האפשרות הזו מאפשרת לכם להתאים אישית את האפליקציה בפרויקט.לחלופין,
  2. הדגמות: (אופציונלי) אפשר לצרוב את ההדגמות המוכנות מראש ישירות בלוח הרדיו של כל אחת מהאפליקציות לדוגמה. מומלץ למשתמשים לנסות את הגדרת הקושחה של הדגמות כתרגיל אופציונלי. פרטים נוספים זמינים בקטע 'הגדרה אופציונלית של קושחה – הדגמות' בסוף ה-codelab הזה.

ב-codelab הזה נשתמש בשיטה שמבוססת על פרויקט.

יצירת פרויקטים באמצעות דוגמאות

ניצור שני פרויקטים. פרויקט ot-rcp עבור BRD4166A ופרויקט ot-cli-ftd עבור שני BRD4168A. צריך לפעול לפי השלבים הבאים ולבחור את האפליקציה לדוגמה המתאימה ללוח.

  1. פותחים את התפריט 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: The toolchain that will be used for compiling the OT project. אנחנו משתמשים ב-GNU ARM.

אשף הפרויקטים החדש

  1. תיבת הדו-שיח Example Project Selection (בחירת פרויקט לדוגמה) נפתחת. תראו רשימה של פרויקטים לדוגמה. כדי לחפש דוגמה ספציפית, משתמשים במסננים Thread Technology Type ומילות מפתח. חשוב לשים לב למספר הגרסה של Gecko SDK Suite. תצטרכו את תג הגרסה הזה כשמגדירים את Raspberry Pi כנתב גבולות. בוחרים באפשרות ot-cli-ftd ולוחצים על הבא.

שלב 2 באשף הפרויקטים החדש

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

אשף הפרויקטים החדש, שלב 3

  1. התצוגה 'Simplicity IDE' נפתחת עם הכרטיסייה סקירה כללית של הכלי להגדרת פרויקטים.

סקירה כללית של הפרויקט

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

רכיבי תוכנה

בדמו הזה נשתמש בהגדרת ברירת המחדל של האפליקציות לדוגמה. חוזרים על השלבים שלמעלה כדי ליצור את הפרויקט ot-rcp עבור הלוח השני.

יצירה והעלאה של הפרויקטים

יוצרים ומפעילים את שני הפרויקטים ot-rcp ו-ot-cli-ftd.

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

כפתור ליצירת פרויקט

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

חלון פלט של בניית פרויקט

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

Flash

5. סיכום הגדרת הקושחה

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

אחרי שתשלימו את השלב הזה, הגדרת החומרה של רשת Thread תיראה כך.

הגדרה של EFR32MG

6. הגדרת מסוף סדרתי למכשירי ot-cli-ftd

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

תצוגת המסוף של FTD Studio

שימו לב שעדיין אין לנו מסוף ל-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.

גרסת GSDK

הגדרה של Raspberry Pi

  1. בכרטיס ה-SD, מוודאים שצרוב עליו קובץ ה-OS של Raspbian Stretch Lite או Raspbian Stretch עם Desktop.
  2. אפשר להתחבר ל-Raspberry Pi באמצעות SSH או לבחור לעבוד ישירות עם Raspbian Desktop. פותחים טרמינל.
  3. חשוב לעדכן את המאגרים המקומיים ואת כלי לניהול חבילות (apt-get update ו-apt-get upgrade) לפני שמתקינים את Docker.

התקנת קובץ אימג' של Docker

  1. מריצים את הפקודה הבאה כדי להתקין את Docker ב-RPi.
    curl -sSL https://get.docker.com | sh
    
  2. אחרי שמסיימים, אפשר לשנות את הגדרות המשתמש ב-Docker כך שלא תידרש הרשאת sudo לפני כל פקודה. נדרשת הפעלה מחדש.
    sudo usermod -aG docker $USER
    
  3. מריצים את הפקודות הבאות כדי להתקין את הקונטיינרים. הערה: אפשר להפעיל רק קונטיינר אחד של נתב גבול בכל פעם עם ה-RCP. בנוסף, חשוב לוודא שגרסת ה-GSDK של Simplicity Studio תואמת לקובץ האימג' של Docker. לדוגמה, gsdk-4.0.1:
    docker pull siliconlabsinc/openthread-border-router:gsdk-4.0.1
    

הגדרה והרצה של Docker

  1. צריך להגדיר את יציאת ה-TTY שרוצים להשתמש בה כדי שמכשיר ה-OTBR יתחבר ל-RCP בהפעלה. חפשו את יציאת ה-TTY של מכשיר ה-RCP. הדרך הקלה ביותר לעשות זאת היא לחפש את האפשרות /tty/dev... אחרי שה-RCP מחובר. בדרך כלל הערך צריך להיות /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 מציינת את היציאה של שרת האינטרנט שמארח את דף הניהול של נתב הגבול.
    • ?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 נטען בצורה תקינה.

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

אופציונלי: כדי לצאת מהמעטפת, משתמשים ב-CNTL + C.

בשלב הזה אמורות להיות לכם 3 קונסולות.

  1. שתי קונסולות ot-cli-ftd ב-Simplicity Studio שמוגדרות כמכשירי Thread מלאים.
  2. מעטפת אינטראקטיבית אחת ב-Raspberry Pi שמוגדר כנתב גבול OT.ot-ctl

עכשיו אפשר ליצור רשת Thread.

8. יצירת רשת Thread

הגדרת RCP

כדי ליצור את הרשת, מתחילים עם ot-ctl shell ב-OTBR שמשמש לתקשורת עם צומת ה-RCP. מזינים את הפקודות הבאות בסדר שמופיע בהמשך:

אינדקס

פקודה

תיאור הפקודה

תשובה צפויה

1

dataset init new

יצירת הגדרת רשת חדשה.

סיום

2

dataset commit active

ביצוע Commit של מערך נתונים חדש למערך הנתונים הפעיל.

סיום

3

ifconfig up

מפעילים את הממשק של Thread.

סיום

4

thread start

הפעלה וצירוף של פעולת פרוטוקול Thread.

סיום

מחכים 10 שניות עד שממשק השרשור מופיע.

5

state

בודקים את מצב המכשיר. היא צריכה להיות המובילה.
מצבים אפשריים אחרים: לא מקוונת, מושבתת, מנותקת,
צאצא, נתב או מובילה

מנהיג/ה
סיום

6

dataset

צופים בהגדרות הרשת.
הערכים שלכם יהיו שונים מאלה שמופיעים ב-codelab הזה.
רושמים את הערוץ, מפתח הרשת,
שם הרשת ומזהה ה-PAN.

חותמת זמן פעילה: 1
ערוץ: 20
מסכת ערוץ: 0x07fff800
מזהה רשת אישית מורחב: 39ba71f7fc367160
קידומת מקומית של רשת Mesh: fd5c:c6b:3a17:40b9::/64
מפתח רשת: 81ae2c2c17368d585dee71eaa8cf1e90
שם רשת: OpenThread-008c
מזהה רשת אישית: 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

ביצוע Commit של מערך נתונים חדש למערך הנתונים הפעיל.

סיום

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

התשובה מציינת שהמטען הייעודי (payload) התקבל ושהתקשורת בוצעה בהצלחה. חוזרים על התהליך כדי לשלוח פינג ל-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, כולל:

10. הגדרה אופציונלית של קושחה – הדגמות

הדגמות הן תמונות קושחה מוכנות מראש שאפשר להוריד למכשיר תואם. הדרך הכי מהירה לגלות אם יש הדגמה לחלק שלכם ב-Simplicity Studio היא ללחוץ על החלק שלכם בתצוגה Debug Adapters (מתאמי ניפוי באגים) ואז לעבור לכרטיסייה EXAMPLE PROJECTS & DEMOS (פרויקטים לדוגמה והדגמות) ב-Launcher Perspective (תצוגת ההפעלה). משביתים את המסנן Example Projects (פרויקטים לדוגמה) ומסמנים את תיבת הסימון Thread (שרשור) בקטע Technology Type (סוג הטכנולוגיה).

הדגמות של Studio

תמונות של אפליקציות הדגמה שעברו קומפילציה מראש ומסופקות עם OpenThread SDK תואמות ללוחות הבאים:

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

יכול להיות שבעתיד נעדכן את הרשימה הזו בגרסאות חדשות של ערכות SDK כדי לכלול עוד לוחות רדיו. רשימה מלאה של החלקים הנתמכים מופיעה בהערות לגבי הגרסה של Silicon Labs OpenThread SDK בקטע Documentation.

צרוב את ההדגמות הבאות בלוחות המתאימים. כדי להפעיל את ההבהוב, בוחרים את הלוח בקטע Debug Adapters (מתאמי ניפוי באגים) בצד ימין ולוחצים על RUN (הפעלה) עבור האפליקציות לדוגמה המתאימות. יופיע חלון קופץ עם התקדמות ההפעלה של Flash.

  1. ‫BRD4166A: ‏ ot-rcp – המכשיר הזה יפעל כמעבד משותף של רדיו לנתב הגבולות של OT. נשתמש במכשיר הזה כדי ליצור רשת של פרוטוקול Thread ולצרף לרשת הזו את שני המכשירים האחרים. המכשיר הזה הוא נתב גבולות, ולכן הוא משמש גם כשער למכשירים ברשת עם פרוטוקול Thread כדי לתקשר באינטרנט.
  2. ‫2 מכשירי BRD4168A: ‏ ot-cli-ftd – שני המכשירים האלה ישמשו כמכשירי Thread מלאים. הם יצטרפו לרשת Thread שנוצרה על ידי ה-OTBR.