בניית פרוטוקול OpenThread

הצגת המקור ב-GitHub

איך לבנות OpenThread

השלבים לבניית OpenThread משתנים בהתאם לערכת הכלים, למכונת המשתמש ולפלטפורמת היעד.

תהליך העבודה הנפוץ ביותר הוא:

  1. מגדירים את סביבת הבנייה ומתקינים את מחזיק הכלים הרצוי:
    1. כדי לבנות את התוכנה ישירות במחשב, יש לעיין בהדמיה של קוד Lab לקבלת הוראות מפורטות
    2. כדי להשתמש בקונטיינר של אביזר עגינה עם סביבה שהוגדרה מראש,צריך להוריד ולהפעיל את התמונה של OpenThread environment:
      docker pull openthread/environment:latest
      docker run -it --rm openthread/environment bash
      
  2. בתוך הסביבה שנבחרה, משכפלים את מאגר Openthread של הפלטפורמה הספציפית. לדוגמה, CC2538:
    git clone https://github.com/openthread/ot-cc2538.git --recursive
    
  3. ממאגר הבסיס המשוכפל:
    1. מתקינים את מחזיק הכלים:
      ./script/bootstrap
      
    2. יוצרים את ההגדרה:
      ./script/build platform-specific-args cmake-options
      
  4. מגדירים את הבינארי הרצוי של פלטפורמת היעד. כל הקבצים הבינאריים שנוצרו ממוקמים ב-./build/bin.

הגדרה

אתם יכולים להגדיר את Openthread לפונקציונליות ולהתנהגות שונים בתהליך הבנייה. אפשרויות התצורה הזמינות מפורטות במיקומים הבאים:

סוג מיקום
קבועים של תקופת הידור רשום בכל קובצי הכותרות ב-/src/core/config
אפשרויות ליצירת יצרן רשום ביחידה הארגונית openthread/examples/README.md

יצירת דוגמאות

יש להשתמש באפשרויות ליצירת שבבים כדי להפעיל פונקציונליות של פלטפורמה. לדוגמה, כדי ליצור קובץ בינארי של פלטפורמת CC2538 שמופעלת בה תמיכה של Commissioner ו-Memberer:

./script/build -DOT_COMMISSIONER=ON -DOT_JOINER=ON

לחלופין, כדי ליצור את פלטפורמת ה-nRF52840 יש להפעיל את התכונה 'זיהוי ג'אם' בגרסה שלה:

./script/build nrf52840 UART_trans -DOT_JAM_DETECTION=ON

בינאריים

הקבצים הבינאריים הבאים נוצרים ב-./build/bin מתהליך ה-build. כדי לקבוע אילו קבצים בינאריים נוצרים, יש להשתמש בסימונים עם הפקודה ./script/build. לדוגמה, כדי ליצור OpenThread וליצור רק קובץ בינארי של FTD CLI:

./script/build -DOT_APP_CLI=ON -DOT_FTD=ON -DOT_MTD=OFF -DOT_APP_NCP=OFF -DOT_APP_RCP=OFF -DOT_RCP=OFF
בינארית תיאור אפשרויות
ot-cli-ftd מכשיר עם שרשור מלא לעיצובים של SoC -DOT_APP_CLI=ON
-DOT_FTD=ON
ot-cli-mtd מכשיר בעל חוט מינימלי לעיצובים של SoC -DOT_APP_CLI=ON
-DOT_MTD=ON
ot-ncp-ftd מכשיר עם פרוטוקול Thread מלא שתוכנן על ידי Network Co-מעבד (NCP) -DOT_APP_NCP=ON
-DOT_FTD=ON
ot-ncp-mtd מכשיר עם שרשור מינימלי בעיצובים של NCP -DOT_APP_NCP=ON
-DOT_MTD=ON
ot-rcp עיצוב של רדיו-מעבד (RCP) -DOT_APP_RCP=ON
-DOT_RCP=ON

כברירת מחדל, כל התכונות הניסיוניות שלמעלה מופעלות. אם תשביתו במפורש את כל הסימונים, האפליקציות לא ייווצרו אבל קובצי הספרייה של OpenThread עדיין נוצרים ב-./build/lib לשימוש בפרויקט.

מעיינים בדוגמאות מידע נוסף על FTDs ו-MTD זמין ב-Thread Primer. מידע נוסף על עיצובים של SoC ו-NCP זמין בקטע Platforms.

התהליך לבינארי של קבצים בינאריים אלה משתנה בפלטפורמות שונות. לקבלת הוראות מפורטות, אפשר לעיין ב-README בכל פלטפורמה בתיקייה לדוגמה.

OpenDeemon דימון

OpenThread Daemon (OT Daemon) הוא מצב build של OpenThread POSIX שפועל בפתיחת OpenThread בתור שירות ומשתמשים בו עם עיצוב RCP. למידע נוסף על אופן השימוש במכשיר ועל השימוש בו, אפשר לעיין ב-OpenThread Daemon.

בניית חבילות תמיכה

ניתן למצוא חבילות תמיכה לבנייה (BSP) ב-/third_party. BSP הוא קוד צד שלישי נוסף המשמש את Openthread בכל פלטפורמה, ובדרך כלל נכלל בהעברת OpenThread לפלטפורמה חדשה של חומרה.