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

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

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

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

איך זה עובד

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

בהורה

אם נתב הורה לא מעביר הודעה ל-SED הצאצא שלו בתוך OPENTHREAD_CONFIG_CHILD_SUPERVISION_INTERVAL, נתב ההורה מוסיף את ההודעה לתור ושולח אותה ל-SED הצאצא. ההודעה 'פיקוח על ילדים' היא מסגרת 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 Attach כדי להתחבר מחדש לנתב ההורה.

איך מפעילים

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

לפי הגדרה

כדי להפעיל את התכונה 'פיקוח על ילדים', מגדירים את OPENTHREAD_CONFIG_CHILD_SUPERVISION_ENABLE כ-1 בקובץ openthread/src/core/config/child_supervision.h לפני יצירת 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 שקשורות לתכונה הזו.