मेश कमीशन

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

कमिश्नर और बढ़ई

कमीशनिंग के लिए, कमिश्नर की भूमिका वाला एक डिवाइस और जॉइनर की भूमिका वाला एक डिवाइस ज़रूरी है. कमिश्नर, मौजूदा Thread नेटवर्क में शामिल कोई Thread डिवाइस होता है. इसके अलावा, वह Thread नेटवर्क से बाहर का कोई डिवाइस (जैसे कि मोबाइल फ़ोन) भी हो सकता है, जो कमिश्नर की भूमिका निभाता है. जॉइनर वह डिवाइस होता है जिसे Thread नेटवर्क में शामिल होना होता है.

किसी डिवाइस को नेटवर्क पर पुष्टि करने के लिए, Thread कमिश्नर का इस्तेमाल किया जाता है. यह Thread नेटवर्क के क्रेडेंशियल ट्रांसफ़र नहीं करता. साथ ही, इस पर Thread नेटवर्क के क्रेडेंशियल का मालिकाना हक नहीं होता. जैसे, नेटवर्क की कुंजी.

इस गाइड में, बाहरी कमिश्नर या बॉर्डर राउटर के बिना, ऑन-मेश कमीशनिंग के बारे में बुनियादी जानकारी दी गई है. बाहरी कमिश्नर का इस्तेमाल करने का तरीका जानने के लिए, Thread की बाहरी कमीशनिंग देखें.

वर्चुअल डिवाइसों का इस्तेमाल करके कमीशनिंग का उदाहरण देखने के लिए, OpenThread Simulation Codelab देखें.

भूमिकाएं चालू करना

कमिश्नर और जॉइनर की भूमिकाएं चालू करने के लिए, cmake के इन विकल्पों का इस्तेमाल करें:

विकल्प ब्यौरा
-DOT_COMMISSIONER=ON कमिश्नर की भूमिका चालू करता है
-DOT_JOINER=ON जॉइनर की भूमिका चालू करता है

उदाहरण के लिए, CC2538 के उदाहरण प्लैटफ़ॉर्म को सिर्फ़ जॉइनर के तौर पर इस्तेमाल करने के लिए, इसे इस तरह बनाया जा सकता है:

./script/build -DOT_JOINER=ON

हर बाइनरी को, चुने गए डिवाइस पर फ़्लैश करें. एक डिवाइस कमिश्नर के तौर पर काम करता है, जबकि दूसरा डिवाइस जॉइनर के तौर पर.

साथ काम करने वाले प्लैटफ़ॉर्म को बनाने और फ़्लैश करने के बारे में खास निर्देश, हर प्लैटफ़ॉर्म के OpenThread रिपॉज़िटरी में देखे जा सकते हैं. रिपॉज़िटरी ढूंढने के लिए, OpenThread GitHub संगठन देखें.

नेटवर्क बनाना

कमिश्नर के तौर पर काम करने वाले डिवाइस पर नेटवर्क बनाएं:

dataset init new
Done
dataset
Active Timestamp: 1
Channel: 13
Channel Mask: 07fff800
Ext PAN ID: d63e8e3e495ebbc3
Mesh Local Prefix: fd3d:b50b:f96d:722d/64
Network Key: dfd34f0f05cad978ec4e32b0413038ff
Network Name: OpenThread-8f28
PAN ID: 0x8f28
PSKc: c23a76e98f1a6483639b1ac1271e2e27
Security Policy: 0, onrcb
Done
dataset commit active
Done
ifconfig up
Done
thread start
Done

कुछ सेकंड इंतज़ार करें और पुष्टि करें कि डिवाइस, Thread लीडर बन गया है:

state
leader
Done

कमिश्नर की भूमिका शुरू करना

उसी डिवाइस पर, कमिश्नर की भूमिका शुरू करें:

commissioner start
Done

वाइल्डकार्ड * का इस्तेमाल करके, बताए गए जॉइनर क्रेडेंशियल वाले किसी भी जॉइनर को नेटवर्क पर कमीशन करने की अनुमति दें. डिवाइस के लिए पहले से शेयर की गई कुंजी (पीएसकेडी) जनरेट करने के लिए, जॉइनर क्रेडेंशियल का इस्तेमाल किया जाता है. इसके साथ, एक्सटेंडेड पैन आईडी और नेटवर्क का नाम भी इस्तेमाल किया जाता है. इसके बाद, Thread कमीशनिंग के दौरान किसी डिवाइस की पुष्टि करने के लिए, पीएसकेडी का इस्तेमाल किया जाता है. हर डिवाइस के लिए, जॉइनर क्रेडेंशियल अलग होना चाहिए.

commissioner joiner add * J01NME
Done

किसी खास जॉइनर के लिए पाबंदी लगाना

कमीशनिंग को किसी खास जॉइनर डिवाइस तक सीमित करने के लिए, eui64 पैरामीटर का इस्तेमाल करें. यह डिवाइस का फ़ैक्ट्री-असाइन किया गया IEEE EUI-64 होता है.

जॉइनर के तौर पर काम करने वाले डिवाइस पर, EUI-64 पाएं:

eui64
2f57d222545271f1
Done

कमिश्नर डिवाइस पर, commissioner joiner कमांड में वाइल्डकार्ड * के बजाय, उस वैल्यू का इस्तेमाल करें:

commissioner joiner add 2f57d222545271f1 J01NME
Done

जॉइनर की भूमिका शुरू करना

जॉइनर के तौर पर काम करने वाले डिवाइस को फ़ैक्ट्री रीसेट करें. इसके बाद, कमिश्नर पर बताए गए उसी जॉइनर क्रेडेंशियल के साथ, जॉइनर की भूमिका चालू करें:

factoryreset
ifconfig up
Done
joiner start J01NME
Done

पुष्टि के लिए कुछ सेकंड इंतज़ार करें:

Join success!

जॉइनर डिवाइस ने कमिश्नर के साथ अपनी पुष्टि कर ली है और उसे Thread नेटवर्क के क्रेडेंशियल मिल गए हैं.

अब जॉइनर डिवाइस पर Thread शुरू करें:

thread start
Done

पुष्टि की पुष्टि करना

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

state
child
Done
...
state
router
Done