चैनल की निगरानी

इस मॉड्यूल में चैनल की निगरानी करने वाली सुविधा के फ़ंक्शन शामिल हैं.

खास जानकारी

चैनल मॉनिटर करने की सुविधा (OPENTHREAD_CONFIG_CHANNEL_MONITOR_ENABLE) चालू होने पर, इस मॉड्यूल में ये फ़ंक्शन दिखते हैं.

चैनल पर नज़र रखने की सुविधा समय-समय पर सभी चैनलों पर नज़र बनाए रखती है, ताकि उन चैनलों का पता लगाया जा सके जिनसे यह समस्या हल नहीं होती है.

जब चैनल मॉनिटर करना चालू होता है, तो एक एनर्जी स्कैन की जाती है. यह अवधि शून्य होती है. इस प्रोसेस में, हर सैंपल टाइम इंटरवल के दौरान, हर चैनल पर आरएसएसआई का एक सैंपल इकट्ठा किया जाता है. आरएसएसआई सैंपल की तुलना, पहले से तय किए गए आरएसएसआई थ्रेशोल्ड से की जाती है. चैनल की क्वालिटी दिखाने वाले इंडिकेटर से, चैनल के मॉनिटरिंग मॉड्यूल को बनाए रखा जाता है. इस मॉड्यूल में, आरएसएसआई के उन सैंपल की औसत दर/प्रतिशत मौजूद होता है जो एक तय विंडो के अंदर, थ्रेशोल्ड से ज़्यादा हैं. इस विंडो को चैनल पर लोगों की संख्या के बारे में बताया गया है.

फ़ंक्शन

otChannelMonitorGetChannelOccupancy(otInstance *aInstance, uint8_t aChannel)
uint16_t
किसी खास चैनल के लिए मौजूदा व्यस्तता की जानकारी देता है.
otChannelMonitorGetRssiThreshold(otInstance *aInstance)
int8_t
dBm में आरएसएसआई थ्रेशोल्ड को मॉनिटर करने वाला चैनल पाएं.
otChannelMonitorGetSampleCount(otInstance *aInstance)
uint32_t
हर चैनल के लिए, आरएसएसआई सैंपल की कुल संख्या के लिए चैनल को मॉनिटर करें.
otChannelMonitorGetSampleInterval(otInstance *aInstance)
uint32_t
मिलीसेकंड में चैनल मॉनिटरिंग सैंपल इंटरवल पाएं.
otChannelMonitorGetSampleWindow(otInstance *aInstance)
uint32_t
औसत चैनल विंडो की लंबाई के आधार पर चैनल को मॉनिटर करें (सैंपल की संख्या).
otChannelMonitorIsEnabled(otInstance *aInstance)
bool
इससे पता चलता है कि चैनल की निगरानी करने की कार्रवाई चालू है या नहीं.
otChannelMonitorSetEnabled(otInstance *aInstance, bool aEnabled)
चैनल की निगरानी से जुड़ी कार्रवाइयां करता है.

फ़ंक्शन

otChannelMonitorGetChannelOccupancy

uint16_t otChannelMonitorGetChannelOccupancy(
  otInstance *aInstance,
  uint8_t aChannel
)

किसी खास चैनल के लिए मौजूदा व्यस्तता की जानकारी देता है.

चैनल पर मौजूद व्यस्तता की वैल्यू, आरएसएसआई थ्रेशोल्ड से ज़्यादा पुराने आरएसएसआई सैंपल की औसत दर/प्रतिशत के बारे में बताती है. ये आंकड़े, "खराब" आरएसएसआई सैंपल में से हैं.

पहले "सैंपल विंडो" के नमूने के लिए, औसत को असल प्रतिशत (यानी, नमूनों की कुल संख्या "खराब" सैंपल की संख्या का अनुपात) के तौर पर रखा जाता है. "विंडो" सैंपल के बाद, औसतर घातांकी रूप से बढ़ने वाले औसत का इस्तेमाल करता है. व्यावहारिक तौर पर, इसका मतलब यह है कि औसत, 3 * window के आखिरी सैंपल से मेल खाता है. इन सैंपल में सबसे ज़्यादा वज़न, नए kSampleWindow सैंपल को दिया जाता है.

0xffff की ज़्यादा से ज़्यादा वैल्यू से पता चलता है कि सभी आरएसएसआई सैंपल, आरएसएसआई थ्रेशोल्ड से ज़्यादा हैं. इसका मतलब है कि 100% सैंपल, "खराब" थे.

ब्यौरा
पैरामीटर में
[in] aInstance
OpenThread इंस्टेंस का पॉइंटर.
[in] aChannel
वह चैनल जिसके लिए लिंक का व्यस्तता की दर का पता लगाना है.
लौटाए गए सामान
दिए गए चैनल का मौजूदा व्यस्तता की दर.

otChannelMonitorGetRssiThreshold

int8_t otChannelMonitorGetRssiThreshold(
  otInstance *aInstance
)

dBm में आरएसएसआई थ्रेशोल्ड को मॉनिटर करने वाला चैनल पाएं.

ब्यौरा
पैरामीटर में
[in] aInstance
OpenThread इंस्टेंस का पॉइंटर.
लौटाए गए सामान
dBm में आरएसएसआई थ्रेशोल्ड.

otChannelMonitorGetSampleCount,

uint32_t otChannelMonitorGetSampleCount(
  otInstance *aInstance
)

हर चैनल के लिए, आरएसएसआई सैंपल की कुल संख्या के लिए चैनल को मॉनिटर करें.

यह संख्या, चैनल के मॉनिटरिंग मॉड्यूल की शुरुआत से ही हर चैनल के कुल सैंपल की संख्या दिखाती है (क्योंकि Thread नेटवर्क इंटरफ़ेस चालू थी).

ब्यौरा
पैरामीटर में
[in] aInstance
OpenThread इंस्टेंस का पॉइंटर.
लौटाए गए सामान
अब तक लिए गए आरएसएसआई सैंपल (हर चैनल के हिसाब से) की कुल संख्या.

otChannelMonitorGetSampleInterval

uint32_t otChannelMonitorGetSampleInterval(
  otInstance *aInstance
)

मिलीसेकंड में चैनल मॉनिटरिंग सैंपल इंटरवल पाएं.

ब्यौरा
पैरामीटर में
[in] aInstance
OpenThread इंस्टेंस का पॉइंटर.
लौटाए गए सामान
चैनल मॉनिटर सैंपल इंटरवल को, मिलीसेकंड में.

otChannelMonitorGetSampleWindow

uint32_t otChannelMonitorGetSampleWindow(
  otInstance *aInstance
)

औसत चैनल विंडो की लंबाई के आधार पर चैनल को मॉनिटर करें (सैंपल की संख्या).

ब्यौरा
पैरामीटर में
[in] aInstance
OpenThread इंस्टेंस का पॉइंटर.
लौटाए गए सामान
औसत सैंपल विंडो.

otChannelMonitorIsचालू

bool otChannelMonitorIsEnabled(
  otInstance *aInstance
)

इससे पता चलता है कि चैनल की निगरानी करने की कार्रवाई चालू है या नहीं.

ब्यौरा
पैरामीटर में
[in] aInstance
OpenThread इंस्टेंस का पॉइंटर.
लौटाए गए सामान
अगर चैनल की निगरानी करने की सुविधा चालू है, तो यह गलत है.

otChannelMonitorSetEnabled

otError otChannelMonitorSetEnabled(
  otInstance *aInstance,
  bool aEnabled
)

चैनल की निगरानी से जुड़ी कार्रवाइयां करता है.

कार्रवाई शुरू होने के बाद, पहले से इकट्ठा किया गया सारा डेटा मिटा दिया जाता है. हालांकि, ऑपरेशन के बंद होने के बाद भी, इकट्ठा किया गया पिछला डेटा अब भी मान्य होता है और उसे पढ़ा जा सकता है.

ब्यौरा
पैरामीटर में
[in] aInstance
OpenThread इंस्टेंस का पॉइंटर.
[in] aEnabled
चैनल की निगरानी करने की सुविधा चालू/शुरू करने के लिए, सही है या बंद करता है.
लौटाने की वैल्यू
OT_ERROR_NONE
चैनल की निगरानी की स्थिति बदली गई
OT_ERROR_ALREADY
चैनल की निगरानी करने की सुविधा पहले से ही इस स्थिति में है.

रिसॉर्स

OpenThread एपीआई के संदर्भ विषय, सोर्स कोड से आते हैं और GitHub पर उपलब्ध होते हैं. ज़्यादा जानकारी पाने या हमारे दस्तावेज़ में योगदान देने के लिए, संसाधन देखें.