बच्चों के लिए निगरानी

GitHub पर सोर्स देखें

नींद में डूबे हुए एंड डिवाइस (एसईडी) के लिए, कम ऊर्जा खर्च करने वाला ऐसा तरीका उपलब्ध कराएं जिससे यह पुष्टि की जा सके कि वह अब भी अपने पैरंट (पैरंट की चाइल्ड टेबल में शामिल) से कनेक्ट है. इसके लिए, बच्चे की निगरानी करने की सुविधा चालू करें.

थ्रेड स्पेसिफ़िकेशन के मुताबिक, SED को समय-समय पर अपने पैरंट डिवाइस के साथ एमएलई चाइल्ड अपडेट का अनुरोध और जवाब शेयर करना होता है, ताकि कनेक्टिविटी की पुष्टि की जा सके. बच्चे की निगरानी करने की सुविधा, SED और माता-पिता के बीच कनेक्टिविटी की पुष्टि करने का एक वैकल्पिक तरीका है. इसमें, मैसेज भेजने की ज़िम्मेदारी माता-पिता पर होती है, न कि बैटरी की समस्या वाले SED पर.

यह कैसे काम करता है

यह सुविधा दो तरीकों से काम करती है. यह नोड टाइप और कॉन्फ़िगर किए गए पैरामीटर पर निर्भर करती है:

अभिभावक के तौर पर

अगर माता-पिता OPENTHREAD_CONFIG_CHILD_SUPERVISION_INTERVAL के अंदर, बच्चे के एसईडी को एसईडी नहीं भेजते हैं, तो माता-पिता, बच्चे के एसईडी को निगरानी की सुविधा से जुड़ा मैसेज भेजते हैं. बच्चों की निगरानी से जुड़ा मैसेज, एक MAC फ़्रेम होता है. इसमें यह जानकारी शामिल होती है:

  • MAC हेडर में डेस्टिनेशन के तौर पर, SED का RLOC16.
  • खाली पेलोड.

डिफ़ॉल्ट रूप से, मैक हेडर में 802.15.4 ACK अनुरोध शामिल होता है. अगर आपको बच्चे के खाते की निगरानी से जुड़े मैसेज में इस अनुरोध को बंद करना है, तो OPENTHREAD_CONFIG_CHILD_SUPERVISION_MSG_NO_ACK_REQUEST पैरामीटर को 1 पर सेट करें.

बच्चे पर

अगर किसी एसईडी को OPENTHREAD_CONFIG_CHILD_SUPERVISION_CHECK_TIMEOUT के अंदर अपने पैरंट से कोई जवाब नहीं मिलता है, तो यह मान लिया जाता है कि उसका पैरंट से कनेक्शन टूट गया है. इसके बाद, यह नेटवर्क से फिर से कनेक्ट होने के लिए, एमएलई अटैच प्रोसेस शुरू करता है.

चालू करने का तरीका

यह सुविधा डिफ़ॉल्ट रूप से बंद रहती है.

By define

निगरानी में रखे गए बच्चे के खाते की सुविधा चालू करने के लिए, OpenThread बनाने से पहले, openthread/src/core/config/child_supervision.h फ़ाइल में OPENTHREAD_CONFIG_CHILD_SUPERVISION_ENABLE को 1 के तौर पर तय करें:

#ifndef OPENTHREAD_CONFIG_CHILD_SUPERVISION_ENABLE
#define OPENTHREAD_CONFIG_CHILD_SUPERVISION_ENABLE 1
#endif

विकल्प के हिसाब से

इसके अलावा, OpenThread को बिल्ड करते समय -DOT_CHILD_SUPERVISION=ON बिल्ड विकल्प का इस्तेमाल करें:

./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 अनुरोध चालू है)
ब्यौरा
निगरानी वाले मैसेज के MAC हेडर में, 802.15.4 ACK अनुरोध को मिटाने/बंद करने के लिए, इसे 1 पर सेट करें.

एपीआई

Child Supervision API का इस्तेमाल करके, निगरानी की सुविधा को मैनेज करें. साथ ही, सीधे अपने OpenThread ऐप्लिकेशन में टाइम आउट इंटरवल की जांच करें.

सीएलआई

इस सुविधा से जुड़ी कोई सीएलआई कमांड नहीं है.