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

צפייה במקור ב-GitHub

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

במפרט של Thread נדרש ש-SED יבצע מדי פעם החלפה של בקשה ותגובה לעדכון של צאצא MLE עם ההורה שלו כדי לאמת את הקישוריות. הפיקוח על ילדים הוא פתרון חלופי לאימות הקישוריות בין מכשיר 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 כדי להתחבר מחדש לרשת.

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

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

לפי הגדרה

כדי להפעיל את הפיקוח על ילדים, מגדירים את 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 כשמבצעים build של 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 (בקשת אישור מופעלת)
תיאור
מגדירים את הערך 1 כדי לנקות או להשבית את בקשת האישור (ACK) של 802.15.4 בכותרת ה-MAC של הודעת פיקוח.

API

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

CLI

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