פיקוח על ילדים

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

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

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

איך זה עובד

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

בהורה

אם הנתב ההורה לא משדר ל-SED של הצאצא ב-OPENTHREAD_CONFIG_CHILD_SUPERVISION_INTERVAL, הנתב ההורה מוסיף את ההודעה לילד בפיקוח ושולח אותה אליו. ההודעה לפיקוח על ילדים היא מסגרת MAC שיש בה את הפרטים הבאים:

  • RLOC16 של ה-SED, כיעד בכותרת ה-MAC.
  • מטען ייעודי (payload) ריק.

כברירת מחדל, כותרת MAC מכילה בקשת ACK 802.15.4. כדי להשבית את הבקשה הזו בהודעת הפיקוח על הילדים, צריך להגדיר את הפרמטר OPENTHREAD_CONFIG_CHILD_SUPERVISION_MSG_NO_ACK_REQUEST ל-1.

ילד/ה

אם ה-SED לא נשמע מהנתב הראשי בתהליך ה-OPENTHREAD_CONFIG_CHILD_SUPERVISION_CHECK_TIMEOUT, הוא יוצא מנקודת הנחה שהוא איבד את החיבור לנתב לנתב ומפעיל את MLE הצירוף

איך מפעילים את התכונה

תכונה זו מושבתת כברירת מחדל.

לפי הגדרה

כדי להפעיל פיקוח הורים, יש להגדיר את OPENTHREAD_CONFIG_CHILD_SUPERVISION_ENABLE בקובץ 1 בקובץ openthread/src/core/config/child_supervision.h, לפני Open OpenThread:

#ifndef OPENTHREAD_CONFIG_CHILD_SUPERVISION_ENABLE
#define OPENTHREAD_CONFIG_CHILD_SUPERVISION_ENABLE 1
#endif

לפי אפשרות

לחלופין, יש להשתמש באפשרות ה-build של -DOT_CHILD_SUPERVISION=ON כשבונים את פרוטוקול OpenThread:

./script/build -DOT_CHILD_SUPERVISION=ON

פרמטרים

אתם יכולים להשתמש בפרמטרים הבאים ב-openthread/src/core/config/child_supervision.h כדי להתאים אישית את התכונה:

פרמטרים
OPENTHREAD_CONFIG_CHILD_SUPERVISION_INTERVAL
ערך ברירת מחדל
129 שניות
תיאור
כאן מצוין מרווח הפיקוח, בשניות שבו ההורים משתמשים. צריך להגדיר את הערך 0 כדי להשבית את תהליך הפיקוח בהורה.
OPENTHREAD_CONFIG_SUPERVISION_CHECK_TIMEOUT
ערך ברירת מחדל
190 שניות
תיאור
קובעת את מרווח הזמן הקצוב לתפוגה של בדיקת פיקוח תוך שניות, שנמצא בשימוש של מכשיר במצב צאצא. צריך להגדיר את הערך 0 כדי להשבית את תהליך בדיקת הפיקוח בחשבון של הילד או הילדה.
OPENTHREAD_CONFIG_SUPERVISION_MSG_NO_ACK_REQUEST
ערך ברירת מחדל
0 (בקשת ACK מופעלת)
תיאור
יש להגדיר את הערך 1 כדי למחוק/להשבית את בקשת ACK 802.15.4 בכותרת ה-MAC של הודעת הפיקוח.

API

תוכלו להשתמש ב-Child Supervision API כדי לנהל את הפיקוח ולבדוק מרווחי זמן קצובים ישירות באפליקציית OpenThread.

CLI

אין פקודות CLI הקשורות לתכונה הזו.