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

קל לארגן דפים בעזרת אוספים אפשר לשמור ולסווג תוכן על סמך ההעדפות שלך.

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

איך ליצור OpenThread

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

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

  1. מגדירים את סביבת ה-build ומתקינים את מחזיק הכלים הרצוי:
    1. כדי לבנות את התוכנה ישירות במחשב, יש לעיין בהוראות המפורטות בהדמיה של מעבדה לקבלת הוראות מפורטות.
    2. כדי להשתמש בקונטיינר של Docker עם סביבה מוגדרת מראש, יש להוריד ולהפעיל את תמונת OpenThread environment:
      docker pull openthread/environment:latest
      docker run -it --rm openthread/environment bash
      
  2. יש לשכפל את מאגר הנתונים של OpenThread Git הספציפי לפלטפורמה. דוגמה ל-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
אפשרויות build של Cmake רשום בopenthread/examples/README.md

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

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

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

או, כדי ליצור את פלטפורמת nRF52840 עם התכונה 'זיהוי Jam' המופעלת ברפו:

./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 מכשיר השרשור המלא לעיצובים של Network Co-Processor (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 לשימוש בפרויקט.

בספרייה examples/platforms תוכלו לראות אילו סימונים נתמכים בכל פלטפורמה. מידע נוסף על FTDs ו-MTD זמין בקטע Thread Primer. אפשר למצוא מידע נוסף על עיצובים SoC ו-NCP בפלטפורמות.

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

OpenThread Daemon

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

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

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