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

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

איך לבנות OpenThread

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

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

  1. מגדירים את סביבת ה-build ומתקינים את ארגז הכלים הרצוי:
    1. כדי ליצור ישירות ממחשב, יש לעיין בהדמיה של Codelab לקבלת הוראות מפורטות
    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
אפשרויות יצרן רשום בopenthread/examples/README.md

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

משתמשים באפשרויות build לפיתוח כדי להפעיל את הפונקציונליות עבור הפלטפורמה. לדוגמה, כדי ליצור תוכנה בינארית לפלטפורמת CC2538 שמופעלת בה התמיכה 'עמלות וצירוף':

./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 מכשיר עם שרשור מלא לעיצובים של מעבדי רשת משותפים (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 מוסבר אילו סימונים נתמכים בכל פלטפורמה. מידע נוסף על FTD ו-MTD זמין במאמר Thread Primer. מידע נוסף על עיצובי SoC ו-NCP זמין במאמר פלטפורמות.

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

דיון Openon Daemon

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

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

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