1. शुरुआती जानकारी
Google का OpenThread (OT) थ्रेड का एक ओपन सोर्स सोर्स है. Google ने OpenThread कार्यक्रम को रिलीज़ किया है, ताकि Google Nest के प्रॉडक्ट में इस्तेमाल की जाने वाली नेटवर्किंग टेक्नोलॉजी, ज़्यादा से ज़्यादा डेवलपर के लिए उपलब्ध हो सके. इससे, कनेक्टेड होम और व्यावसायिक इमारतों के लिए प्रॉडक्ट को बेहतर बनाने में मदद मिलेगी. कम प्लैटफ़ॉर्म वाला ऐब्स्ट्रैक्शन लेयर और मेमोरी का एक छोटा फ़ुटप्रिंट, OpenThread का इस्तेमाल करने में बहुत अच्छा लगता है. यह सिस्टम-ऑन-चिप (SoC) और नेटवर्क को-प्रोसेसर (एनसीपी) के डिज़ाइन, दोनों पर काम करता है.
थ्रेड स्पेसिफ़िकेशन की मदद से, घरेलू और व्यावसायिक बिल्डिंग ऐप्लिकेशन के लिए, IPv6 आधारित, सुरक्षित, और कम पावर वाले वायरलेस डिवाइस-टू-डिवाइस कम्यूनिकेशन प्रोटोकॉल के बारे में बताया गया है.
Silicon Labs में सिलिकॉन लैब हार्डवेयर के साथ काम करने के लिए, OpenThread थ्रेड को बेहतर बनाया गया है. यह सोर्स कोड GitHub पर उपलब्ध है. साथ ही, यह Simply Studio 5 (SSv5) के साथ इंस्टॉल की गई सॉफ़्टवेयर डेवलपमेंट किट (SDK) के रूप में भी है. SDK में GitHub सोर्स कोड का पूरी तरह से जांचा गया स्नैपशॉट शामिल है. यह GitHub के वर्शन के मुकाबले, कई तरह के हार्डवेयर पर काम करता है. इसमें दस्तावेज़ और ऐसे उदाहरण शामिल हैं जो GitHub पर उपलब्ध नहीं हैं.
इस गाइड में, Silicon Labs OpenThread SDK और Simply Studio 5 का इस्तेमाल करके, OpenThread ऐप्लिकेशन को डेवलप करने का तरीका बताया गया है. नीचे दी गई इमेज में बोर्ड (बीआरडी) और ओटी बॉर्डर राऊटर (ओटीबीआर) के साथ सेट अप किया गया हार्डवेयर दिख रहा है. साथ ही, कोडलैब में इस्तेमाल किए गए दो थ्रेड डिवाइस भी दिख रहे हैं.
आप इन चीज़ों के बारे में जानेंगे
- Silicon Labs Simply Studio IDE का इस्तेमाल करके, OpenThread प्रोजेक्ट बनाने का तरीका.
- सिलिकॉन लैब रेडियो बोर्ड में, OpenThread सीएलआई बाइनरी बनाने और उसे फ़्लैश करने का तरीका.
- डॉकर का इस्तेमाल करके, RThreadber Pi 3B+ या इसके बाद के वर्शन को OpenThread बॉर्डर राऊटर (OTBR) के तौर पर सेट अप करने का तरीका.
- OTBR पर थ्रेड नेटवर्क कैसे बनाएं.
- Thread नेटवर्क के डिवाइसों के लिए, बैंड का काम खत्म हो गया.
- पिंग कमांड का इस्तेमाल करके नोड के बीच, थ्रेड कम्यूनिकेशन की पुष्टि करने का तरीका.
2. ज़रूरी शर्तें
हार्डवेयर:
- 3 EFR32MGxx रेडियो बोर्ड - किसी भी डिवाइस का इस्तेमाल किया जा सकता है. यह कोडलैब, RCP के तौर पर BRD4166A और फ़ुल थ्रेड वाले डिवाइस के तौर पर दो BRD4168A का इस्तेमाल करता है.
- EFR32MG12 (BRD4161A, BRD4166A, BRD4170A, BRD4304A)
- EFR32MG13 (BRD4168A)
- EFR32MG21 (BRD4180A, BRD4180B)
- BRD4001A: रेडियो बोर्ड होस्ट करने के लिए, वायरलेस स्टार्टर के मुख्य बोर्ड (WSTK). BRD4166A को छोड़कर, सभी रेडियो बोर्ड को स्टार्टर के लिए एक मुख्य बोर्ड की ज़रूरत होती है. BRD4166A के लिए, मुख्य बोर्ड या माइक्रो यूएसबी केबल को कनेक्ट करने और चलाने के लिए मिनी यूएसबी केबल.
- Raspbian Stretch Lite OS इमेज या डेस्कटॉप के साथ Raspbian Stretch का इस्तेमाल करके, Raspber Pi 3B+ या इसके बाद का वर्शन इस्तेमाल करें और ईथरनेट के ज़रिए इंटरनेट से कनेक्ट किया गया हो. हम इसे OT बॉर्डर राऊटर के तौर पर कॉन्फ़िगर करते हैं.
- Windows/Linux/Mac होस्ट सिस्टम, जिसमें कम से कम 2 USB पोर्ट हों और एक इंटरनेट कनेक्शन हो. SSv5 पर हार्डवेयर और ओएस की शर्तों की जांच करें.
- Rराज़बेरी पी. को इंटरनेट से जोड़ने के लिए, कम से कम एक ईथरनेट केबल. WSTK, आईपी पर डीबग और फ़्लैश करने की सुविधा भी देते हैं. विकल्प के तौर पर, ईथरनेट स्विच की मदद से WSTK को अपने होस्ट सिस्टम से जोड़ने के लिए, और ईथरनेट केबल इस्तेमाल किए जा सकते हैं.
सॉफ़्टवेयर:
- Simply Studio v5 को Windows/Linux/Mac होस्ट सिस्टम पर इंस्टॉल और अपडेट किया गया है. यह
- GNU ARM टूलचेन
- Gecko SDK Suite 3.2.0 या उसके बाद के वर्शन और Silicon Labs OpenThread SDK टूल.
3. हार्डवेयर सेट अप
इस कोडलैब का इस्तेमाल करके बनाया गया है
- EFR32MG12 BRD4166A Thunderboard Sense 2 जैसा कि बाईं ओर दिखाया गया है.
- दाईं ओर दिखाए गए दो EFR32MG13 BRD4168A.
- macOS Catalina 10.15.7 पर
- के साथ इंस्टॉल किए गए Simply Studio v5">
- गैको SDK टूल 3.2.0
- GNU ARM v.2.1
नीचे दी गई इमेज में दिखाए गए तरीके से, हर वायरलेस स्टार्टर किट के मुख्य बोर्ड को यूएसबी के ज़रिए होस्ट कंप्यूटर से कनेक्ट करें. इन कनेक्शन की मदद से, आरसीपी और एंड डिवाइसों का प्रोग्रामिंग और नेटवर्क का विश्लेषण किया जा सकेगा. हम सबसे पहले OT-rcp फ़र्मवेयर के साथ BRD4166A को प्रोग्राम करने के लिए, होस्ट कंप्यूटर का इस्तेमाल करेंगे. इसके बाद, इसे Raspber Pi से कनेक्ट किया जाएगा. इसके अलावा, एंड डिवाइस को होस्ट कंप्यूटर से कनेक्ट करने के लिए, एक सामान्य ईथरनेट स्विच का इस्तेमाल किया जा सकता है. स्टार्टर किट, प्रोग्रामिंग और नेटवर्क का विश्लेषण करने के लिए IPv4 का इस्तेमाल भी करती हैं.
4. फ़र्मवेयर सेट अप
शुरू करने के दो तरीके होते हैं. दोनों विकल्पों में आपको उन फ़र्मवेयर को फ़्लैश करने की सुविधा मिलती है जो इस कोडलैब के लिए ज़रूरी हैं.
- प्रोजेक्ट: (सुझाया गया) ऐप्लिकेशन का नमूना बनाएं, उसे बनाएं और फ़्लैश करें. इस विकल्प से, प्रोजेक्ट में ऐप्लिकेशन को पसंद के मुताबिक बनाया जा सकता है.या
- डेमो: (ज़रूरी नहीं) किसी भी सैंपल ऐप्लिकेशन के लिए, पहले से बने डेमो को सीधे रेडियो बोर्ड पर फ़्लैश करें. उपयोगकर्ताओं को डेमो फ़र्मवेयर सेट अप करने के लिए बढ़ावा दिया जाता है. यह एक वैकल्पिक व्यायाम के रूप में सेट है. ज़्यादा जानकारी के लिए, इस कोडलैब के आखिर में "फ़र्मवेयर सेट अप करना - डेमो" सेक्शन देखें.
हम इस कोडलैब के लिए प्रोजेक्ट पर आधारित तरीके का इस्तेमाल करेंगे.
उदाहरणों का इस्तेमाल करके प्रोजेक्ट बनाना
हम दो प्रोजेक्ट बनाएंगे. BRD4166A के लिए ot-rcp
प्रोजेक्ट और दो BRD4168A के लिए ot-cli-ftd
प्रोजेक्ट. कृपया नीचे दिया गया तरीका अपनाएं और अपने बोर्ड के लिए सैंपल ऐप्लिकेशन चुनें.
- Studio का फ़ाइल मेन्यू खोलें. इसके बाद, नया > सिलिकॉन लैब प्रोजेक्ट विज़र्ड चुनें. टारगेट, SDK टूल, और टूलचेन डायलॉग बॉक्स खुलता है. OpenThread पर काम करने वाले डिफ़ॉल्ट Simply IDE / GNU टूलचेन में बदलाव न करें. आगे बढ़ें पर क्लिक करें.
- टारगेट बोर्ड: इसमें मुख्य बोर्ड के साथ चुना गया रेडियो बोर्ड (BRD4168A) दिखता है (BRD4001A)
- टारगेट डिवाइस: यह फ़ील्ड माइक्रोकंट्रोलर चिप (MCU) ऑनबोर्ड दिखाता है. BRD4168A के पास, EFR32MG13 MCU ऑनबोर्ड है.
- SDK टूल: यहां आपको OT वर्शन का SDK टूल चुनना होगा. सुइट की जानकारी में, OpenThread का SDK टूल टैग और सिलिकॉन लैब बिल्ड शामिल हैं, उदाहरण के लिए,
Platform 4.0.1.0
औरOpenThread 2.0.1.0 (GitHub-55af6ce2c)
. - IDE/ टूलचेन: OT प्रोजेक्ट को कंपाइल करने में इस्तेमाल होने वाला टूलचेन. हम GNU ARM का इस्तेमाल करते हैं.
- उदाहरण के तौर पर, प्रोजेक्ट चुनने का डायलॉग बॉक्स खुलता है. आपको उदाहरण के तौर पर दिए गए प्रोजेक्ट की सूची दिखेगी. किसी खास उदाहरण को खोजने के लिए, थ्रेड टेक्नोलॉजी टाइप और कीवर्ड फ़िल्टर का इस्तेमाल करें. Gecko SDK Suite का वर्शन नंबर नोट करना न भूलें. Raspber Pi को बॉर्डर राऊटर के तौर पर सेट अप करने के लिए, आपको इस वर्शन टैग की ज़रूरत होगी. ot-cli-ftd चुनें, फिर आगे बढ़ें पर क्लिक करें.
- प्रोजेक्ट कॉन्फ़िगरेशन डायलॉग खुलता है. यहां अपने प्रोजेक्ट का नाम बदला जा सकता है, प्रोजेक्ट की डिफ़ॉल्ट फ़ाइल की जगह बदली जा सकती है, और तय किया जा सकता है कि प्रोजेक्ट फ़ाइलों को लिंक करना है या कॉपी करना है. लिंक की गई प्रोजेक्ट फ़ाइलें, SDK टूल की ओर इशारा करती हैं. साथ ही, आपके किए गए बदलाव, SDK टूल में बन जाते हैं और इनका इस्तेमाल आने वाले समय में होने वाले प्रोजेक्ट के लिए किया जाता है. प्रोजेक्ट के सोर्स कॉपी करने से, किसी प्रोजेक्ट के लोकल कॉपी में बदलाव किया जा सकता है. इससे, SDK टूल में मौजूद फ़ाइलें पहले की तरह ही बनी रहती हैं. डिफ़ॉल्ट रूप से, 'sdk को लिंक करें और प्रोजेक्ट के सोर्स को कॉपी करें' डिफ़ॉल्ट विकल्प होता है. पूरा करें पर क्लिक करें.
- प्रोजेक्ट कॉन्फ़िगरेशन की सुविधा के साथ, Simply IDE Perspective को खास जानकारी टैब में खोला जाता है.
प्रोजेक्ट को इंस्टॉल और अनइंस्टॉल करके और इंस्टॉल किए गए कॉम्पोनेंट को कॉन्फ़िगर करके, सॉफ़्टवेयर कॉम्पोनेंट टैब से कॉन्फ़िगर किया जाता है. इंस्टॉल किए गए कॉम्पोनेंट की जांच की जाती है. उदाहरण के तौर पर दिए गए ऐप्लिकेशन से इंस्टॉल किए गए कॉम्पोनेंट की फ़िल्टर की गई सूची देखने के लिए, इंस्टॉल किए गए कॉम्पोनेंट पर क्लिक करें. जो भी बदलाव किए जाते हैं वे अपने-आप सेव हो जाते हैं. साथ ही, प्रोजेक्ट की फ़ाइलें भी अपने-आप जनरेट होती हैं. आपके ऐप्लिकेशन का इस्तेमाल करना आसान बनाने के नज़रिए से, निचले दाएं कोने में यह दिखता है.
इस डेमो के लिए, हम ऐप्लिकेशन के नमूने का डिफ़ॉल्ट कॉन्फ़िगरेशन इस्तेमाल करेंगे. अपने दूसरे बोर्ड के लिए ot-rcp
प्रोजेक्ट बनाने के लिए, ऊपर दिया गया तरीका दोहराएं.
प्रोजेक्ट बनाना और उन्हें फ़्लैश करना
ot-rcp
और ot-cli-ftd
, दोनों प्रोजेक्ट बनाएं और उन्हें फ़्लैश करें.
- प्रोजेक्ट कॉन्फ़िगर होने के बाद, सबसे ऊपर मौजूद टूल बार में, बिल्ड कंट्रोल (हैमर आइकॉन) पर क्लिक करें. इसके अलावा, प्रोजेक्ट पर दायां क्लिक करके और 'प्रोजेक्ट बनाएं' पर क्लिक किया जा सकता है.
- प्रगति कंसोल में और नीचे दाईं ओर प्रोग्रेस बार में दिखती है. आपके प्रोजेक्ट से जुड़ी कोई भी गड़बड़ी या चेतावनी, इस आउटपुट विंडो में दिखेगी.
- बाइनरी इमेज, सही प्रोजेक्ट बनने के बाद जनरेट होती हैं. बाइनरी प्रोजेक्ट इमेज से बाइनरी इमेज को फ़्लैश किया जा सकता है. कंपाइलर सबडायरेक्ट्री में .bin, .hex या .s37 फ़ाइल ढूंढें. फ़ाइल पर राइट-क्लिक करें और डिवाइस पर फ़्लैश चुनें. अगर आपने एक से ज़्यादा डिवाइस कनेक्ट किए हैं, तो प्रोग्राम करने के लिए कोई डिवाइस चुनें, तो ठीक है पर क्लिक करें. फ़्लैश प्रोग्रामर, फ़ाइल पाथ को पॉप्युलेट करता है. कार्यक्रम पर क्लिक करें.
5. फ़र्मवेयर सेट अप की खास जानकारी
इस पॉइंट पर आपको रेडियो बोर्ड पर सही फ़र्मवेयर बनाना, कंपाइल करना, और फ़्लैश करना चाहिए था. ot-rcp
के फ़्लैश को BRD4166A पर फ़्लैश हो जाने के बाद, उसे होस्ट सिस्टम से डिसकनेक्ट करें और इस बोर्ड को राज़बेरी पी से जोड़ें.
इस सेक्शन को पूरा करने के बाद, आपका Thread नेटवर्क हार्डवेयर सेट अप कुछ ऐसा दिखेगा:
6. ot-cli-ftd डिवाइसों के लिए सीरियल कंसोल सेट अप करें
Console इंटरफ़ेस को लॉन्च करने के लिए, डिवाइस व्यू / डीबग अडैप्टर विंडो में, J-Link डिवाइस पर दायां क्लिक करें. लॉन्च कंसोल चुनें. कंसोल पर अनुरोध पाने के लिए, सीरियल 1 टैब चुनें और Enter दबाएं. एफ़टीडी नोड की स्थिति देखें.
आपको पता चलेगा कि हमारे पास अभी तक ot-rcp
के लिए कंसोल नहीं है. अगले चरण में, हम Raspber Pi को OT बॉर्डर राऊटर के तौर पर कॉन्फ़िगर करेंगे. साथ ही, ot-rcp
के लिए कंसोल सेट अप करेंगे.
7. Rराज़बेरी पी को बॉर्डर राऊटर के तौर पर सेट अप करें
सिलिकॉन लैब, OTBR के साथ कंपनी के डॉकर कंटेनर को डिप्लॉय करने का सुझाव देता है. कंटेनर में OTBR चलाने से, आसानी से डिप्लॉय किए जा सकने वाले आर्टफ़ैक्ट और तेज़ी से डेवलपमेंट के प्रोटोटाइप और टेस्टिंग की जा सकती है.
Silicon Labs OTBR इमेज, siliconlabsinc डॉकरहब पर टैग के साथ होस्ट की जाती हैं. हर टैग, GSDK वर्शन से मेल खाता है:
https://hub.docker.com/r/siliconlabsinc/openthread-order-roor/tag
किसी भी रिलीज़ के लिए Simply Studio 5 का इस्तेमाल करके बनाए गए आरसीपी के साथ डॉकर कंटेनर इस्तेमाल किए जाने चाहिए. पक्का करें कि आप उस कंटेनर टैग के वर्शन को, GSDK के उस वर्शन से मैच करें जिसकी आपको जांच करनी है. उदाहरण के लिए, अगर उदाहरण प्रोजेक्ट चुनने वाली विंडो में ot-rcp
को चुनने के बाद, आपका GDSK वर्शन Gecko SDK Suite v4.0.1 (140)
था, तो siliconlabsinc/openthread-border-router:gsdk-4.0.1
इमेज का इस्तेमाल करें.
राज़बेरी पी सेट अप
- पक्का करें कि आपने एसडी कार्ड पर, रैस्पियन स्ट्रेच लाइट ओएस इमेज या डेस्कटॉप के साथ रास्पियन स्ट्रेच फ़्लैश किया हो.
- आप SSHP का आरएसबी विज्ञापन देखा जा सकता है या सीधे Raspbian Desktop के साथ काम किया जा सकता है. कोई टर्मिनल खोलें.
- डेटा स्टोर करने से पहले, अपने लोकल रिपॉज़िटरी और पैकेज मैनेजर को अपडेट करना न भूलें (apt-get update और apt-get Upgrade.
डॉकर इमेज इंस्टॉल करें
- अपने RPi कमांड की मदद से डॉकर इंस्टॉल करें.
curl -sSL https://get.docker.com | sh
- सेट अप पूरा होने के बाद, डॉकर की उपयोगकर्ता सेटिंग में बदलाव किया जा सकता है. हर कमांड के पहले, आपको sudo की ज़रूरत नहीं होगी. डिवाइस को फिर से चालू करें.
sudo usermod -aG docker $USER
- कंटेनर इंस्टॉल करने के लिए, नीचे दिए गए निर्देश जारी करें. ध्यान दें कि अपने आरसीपी के साथ, एक बार में सिर्फ़ एक बॉर्डर राऊटर कंटेनर चलाया जा सकता है. साथ ही, पक्का करें कि आपका Simply Studio GSDK वर्शन, सही डॉकर इमेज से मेल खाता हो. उदाहरण के लिए:
gsdk-4.0.1
:docker pull siliconlabsinc/openthread-border-router:gsdk-4.0.1
डॉकर को कॉन्फ़िगर करें और चलाएं
- आपको टीटीवाई को कनेक्ट करने के लिए, उस टीटीवाई पोर्ट को कॉन्फ़िगर करना होगा जिसका इस्तेमाल आपको आरटीपी के लिए करना है. अपने आरसीपी डिवाइस का टेलीटाइपराइटर (टीटीवाई) पोर्ट खोजें. आरसीपी कनेक्ट होने के बाद,
/tty/dev
... एंट्री को आसानी से खोजा जा सकता है. यह आम तौर पर/dev/ttyUSB0
या/dev/ttyACM0
होना चाहिए. - नीचे दिए गए निर्देश से, अपने डॉकर इंस्टॉलेशन को चलाएं. पक्का करें कि आपकी डॉकर इमेज का नाम, मेल खाने वाले GSDK वर्शन से बदल दिया गया है. उदाहरण के लिए:
gsdk-4.0.1
:docker run -d --name "otbr" \ --sysctl "net.ipv6.conf.all.disable_ipv6=0 net.ipv4.conf.all.forwarding=1 net.ipv6.conf.all.forwarding=1" \ -p 8080:80 --dns=127.0.0.1 -it \ --volume /dev/ttyACM0:/dev/ttyACM0 \ --privileged siliconlabsinc/openthread-border-router:gsdk-4.0.1 \ --radio-url spinel+hdlc+uart:///dev/ttyACM0?uart-baudrate=460800 \ --backbone-interface eth0
-d
पक्का करता है कि कंटेनर अलग किए गए मोड में चलता है.- आप
docker logs
निर्देश का इस्तेमाल करके किसी भी समय कंटेनर के लिए चल रहे लॉग देख सकते हैं. - डॉकर कंटेनर के ठीक से बंद होने (या हटाए जाने) तक
--name
चिपचिपा रहता है. - पोर्ट 8080, बॉर्डर राऊटर मैनेजमेंट वेबपेज को होस्ट करने वाले वेब सर्वर के पोर्ट के बारे में बताता है.
- URT के ज़रिए लंबे डीटीएलएस जैसे महंगे ऑपरेशन में फ़्रैगमेंट / फिर से असेंबल करने की समस्याओं से बचने के लिए, रेडियो यूआरएल के विकल्पों में
?uart-baudrate=460800
होना ज़रूरी है. इसमें लंबे IPv6 पैकेट के साथ डीटीएलएस जैसे महंगे ऑपरेशन होते हैं.
आरसीपी नोड के साथ इंटरैक्ट करें
डॉकर के चलने पर, आप इस निर्देश का इस्तेमाल करके इंटरैक्टिव शेल से आरसीपी नोड के साथ बातचीत कर सकते हैं. आरसीपी नोड की स्थिति देखें.
$ docker exec -ti otbr sh -c "sudo ot-ctl" > state disabled Done
आपको, रनिंग कंटेनर आईडी की सूची दिखेगी
$ docker ps -aq
बॉर्डर राऊटर का लॉग आउटपुट चलाने के लिए, OTBR डॉकर कंटेनर की इस्तेमाल करने वाली विंडो देख सकते हैं या कंटेनर के लॉग को इस तरह फ़ॉलो करें:
$ docker logs [container-id] -f
इसके अलावा, अगर डॉकर कंटेनर ठीक से लोड होता है, तो आप अपनी इमेज को रोक सकते हैं, निकाल सकते हैं या उसे खत्म कर सकते हैं.
$ docker stop otbr
$ docker rm otbr
$ docker kill otbr
ज़रूरी नहीं: शेल से बाहर निकलने के लिए CNTL + C का इस्तेमाल करें.
इस समय, आपके पास तीन कंसोल होने चाहिए.
- Simply Studio में दो
ot-cli-ftd
कंसोल होते हैं, जिन्हें फ़ुल थ्रेड डिवाइसों के तौर पर सेट अप किया जाता है. - Raspber Pi पर एक
ot-ctl
इंटरैक्टिव शेल, जो OT बॉर्डर राऊटर के तौर पर सेट है.
अब हम Thread नेटवर्क के लिए तैयार हैं.
8. Thread नेटवर्क बनाएं
आरसीपी सेट अप करें
नेटवर्क बनाने के लिए, हम OTBR पर ot-ctl
शेल से शुरू करते हैं. इसका इस्तेमाल RCP नोड के साथ संपर्क करने के लिए किया जाता है. नीचे दिए गए क्रम में नीचे दिए गए निर्देश डालें:
इंडेक्स | आदेश | निर्देश की जानकारी | अनुमानित जवाब | ||
1 |
| नया नेटवर्क कॉन्फ़िगरेशन बनाएं. | Done | ||
2 |
| ऐक्टिव ऑपरेशनल डेटासेट के लिए नया डेटासेट बनाएं. | Done | ||
3 |
| Thread इंटरफ़ेस को चालू करें. | Done | ||
4 |
| थ्रेड प्रोटोकॉल कार्रवाई को चालू और अटैच करें. | Done | ||
थ्रेड का इंटरफ़ेस आने के लिए, 10 सेकंड इंतज़ार करें. | |||||
5 |
| डिवाइस की स्थिति की जांच करें. यह लीडर होना चाहिए. | लीडर | ||
6 |
| नेटवर्क कॉन्फ़िगरेशन देखें. |
|
हम इस थ्रेड नेटवर्क पर दो एफ़टीडी को जोड़ने के लिए, चैनल नंबर और ot-cli-ftd
पर नेटवर्क कुंजी का इस्तेमाल करेंगे.
हमारे Thread नेटवर्क को ({4/} में बैंड तरीके से) FTD सेट अप करना और जोड़ना
आउट-ऑफ़-बैंड तरीके से, हम सुरक्षा से जुड़ी सारी जानकारी जानते हैं और नोड को मैन्युअल तरीके से जोड़ते हैं. Sनलिटी कंसोल में, नीचे दिए गए क्रम में इन निर्देशों का इस्तेमाल करके, हमारे नेटवर्क में दोनों एफ़टीडी जोड़े जाते हैं.
इंडेक्स | आदेश | निर्देश की जानकारी | अनुमानित जवाब | ||
1 |
| OTBR के इस्तेमाल किए गए चैनल को सेट करें. | Done | ||
2 |
| किसी डिवाइस को थ्रेड नेटवर्क से अटैच करने के लिए, सिर्फ़ नेटवर्क कुंजी ज़रूरी है. | Done | ||
3 |
| ऐक्टिव ऑपरेशनल डेटासेट के लिए नया डेटासेट बनाएं. | Done | ||
4 |
| Thread इंटरफ़ेस को चालू करें. | Done | ||
5 |
| थ्रेड प्रोटोकॉल कार्रवाई को चालू और अटैच करें. | Done | ||
डिवाइस के जुड़ने और कॉन्फ़िगर होने तक 20 सेकंड इंतज़ार करें. | |||||
6 |
| नेटवर्क कॉन्फ़िगरेशन देखें. | बच्चा |
Thread डिवाइसों के बीच कम्यूनिकेशन
हम यह बताने के लिए ping
निर्देश का इस्तेमाल करेंगे कि डिवाइस एक-दूसरे से कम्यूनिकेट कर सकते हैं या नहीं. पिंग कमांड का इस्तेमाल करने के लिए, हमें डिवाइसों के IPv6 पतों की ज़रूरत है. ipaddr
निर्देश का इस्तेमाल करके इन्हें पाया जा सकता है.
> ipaddr fd5c:c6b:3a17:40b9:0:ff:fe00:fc00 # Leader Anycast Locator (ALOC) fd5c:c6b:3a17:40b9:0:ff:fe00:1800 # Routing Locator (RLOC) fd5c:c6b:3a17:40b9:84e2:bae8:bd5b:fa03 # Mesh-Local EID (ML-EID) fe80:0:0:0:c449:ca4a:101f:5d16 # Link-Local Address (LLA)
ओटीबीआर के आरएलओसी पते का इस्तेमाल करके, दोनों एफ़टीडी ने OTBR पर पिंग किया.
> ping fd5c:c6b:3a17:40b9:0:ff:fe00:1800 Done > > 16 bytes from fd5c:c6b:3a17:40b9:0:ff:fe00:1800: icmp_seq=3 hlim=64 time=30ms 16 bytes from fd5c:c6b:3a17:40b9:0:ff:fe00:1800: icmp_seq=3 hlim=64 time=52ms
जवाब से यह पता चलता है कि पेलोड मिल गया है. साथ ही, यह भी बताता है कि कंपनी से संपर्क करने की प्रक्रिया पूरी हो गई है. OTBR से FTDs को पिंग करने की प्रक्रिया दोहराएं.
9. बधाई हो
आपने Thread नेटवर्क बनाया है!
अब आप जानते हैं कि:
- Silicon Labs Simply Studio IDE का इस्तेमाल करके, OpenThread प्रोजेक्ट बनाने का तरीका.
- सिलिकॉन लैब रेडियो बोर्ड में, OpenThread सीएलआई बाइनरी बनाने और उसे फ़्लैश करने का तरीका.
- डॉकर का इस्तेमाल करके, RThreadber Pi 3B+ या इसके बाद के वर्शन को OpenThread बॉर्डर राऊटर (OTBR) के तौर पर सेट अप करने का तरीका.
- OTBR पर थ्रेड नेटवर्क कैसे बनाएं.
- Thread नेटवर्क के डिवाइसों के लिए, बैंड का काम खत्म हो गया.
- पिंग कमांड का इस्तेमाल करके नोड के बीच, थ्रेड कम्यूनिकेशन की पुष्टि करने का तरीका.
आगे पढ़ना
कई तरह के OpenThread संसाधनों के लिए, openthread.io और GitHubदेखें. इनमें ये भी शामिल हैं:
- काम करने वाले प्लैटफ़ॉर्म — उन सभी प्लैटफ़ॉर्म के बारे में जानें जो OpenThread पर काम करते हैं
- OpenThread बनाना — OpenThread को बनाने और कॉन्फ़िगर करने के बारे में ज़्यादा जानकारी
- Thread Primer — इस कोडलैब में दिखाए गए सभी थ्रेड कॉन्सेप्ट को कवर करता है
- Silicon Labs OpenThread ट्रेनिंग - इसमें OpenThread के बारे में जानकारी दी गई है. साथ ही, कमीशन और बॉर्डर राऊटर की जानकारी दी गई है. साथ ही, इसमें OpenThread नेटवर्क बनाने की प्रैक्टिस की गई है.
- QSG170: Silicon Labs OpenThread क्विक-स्टार्ट गाइड— इसमें Silicon Labs के थ्रेड डेवलपमेंट के लिए, शुरू करने की प्रक्रिया की पूरी जानकारी दी गई है
- AN1256: OpenThread बॉर्डर राऊटर के साथ सिलिकॉन लैब आरसीपी का इस्तेमाल करना— Raspber Pi Border राऊटर के लिए, बिल्ड और इंस्टॉलेशन से जुड़े निर्देश
10. वैकल्पिक फ़र्मवेयर सेट अप - डेमो
डेमो, पहले से बनी फ़र्मवेयर इमेज होती हैं. इन्हें किसी भी साथ काम करने वाले डिवाइस पर डाउनलोड किया जा सकता है. Simply Studio में यह जानने का सबसे आसान तरीका है कि आपको डेमो देखने की सुविधा मिले. इसके लिए, डीबग अडैप्टर व्यू में दिए गए अपने हिस्से पर क्लिक करें. इसके बाद, Launcher Perspective के उदाहरण प्रोजेक्ट और डेमो टैब पर जाएं. उदाहरण के तौर पर दिए गए प्रोजेक्ट को फ़िल्टर करने की सुविधा बंद करें. साथ ही, टेक्नोलॉजी टाइप में जाकर, थ्रेड रेडियो चेकबॉक्स को चुनें.
OpenThread SDK के साथ उपलब्ध कराए गए डेमो ऐप्लिकेशन की इमेज, इन बोर्ड के साथ काम करती हैं:
- BRD4161a
- BRD4166a
- BRD4168a
- BRD4180a
- BRD4304a
आने वाले समय में SDK टूल की रिलीज़ में, इस सूची को अपडेट किया जा सकता है. ऐसा करने पर, ज़्यादा रेडियो बोर्ड शामिल किए जा सकेंगे. काम करने वाले हिस्सों की पूरी सूची देखने के लिए, 'दस्तावेज़' में दिए गए Silicon Labs OpenThread SDK टूल के रिलीज़ नोट देखें.
इन डेमो को संबंधित बोर्ड पर फ़्लैश करें. फ़्लैश करने के लिए, बाईं ओर मौजूद डीबग अडैप्टर में अपने बोर्ड को चुनें और संबंधित नमूना ऐप्लिकेशन के लिए RUN पर क्लिक करें. आपको एक पॉप-अप विंडो में फ़्लैश की प्रोग्रेस दिखेगी.
- BRD4166A: ot-rcp — यह डिवाइस, OT बॉर्डर राऊटर के लिए रेडियो को प्रोसेसर के तौर पर काम करेगा. हम इस डिवाइस का इस्तेमाल, थ्रेड नेटवर्क बनाने और अन्य दो डिवाइसों को थ्रेड नेटवर्क पर शामिल करने के लिए करेंगे. बॉर्डर राऊटर होने पर, यह डिवाइस थ्रेड नेटवर्क में मौजूद डिवाइसों के लिए गेटवे के तौर पर काम करता है. ऐसा इसलिए, ताकि यह इंटरनेट पर बातचीत कर सके.
- दो BRD4168A: ot-cli-ftd — ये दोनों डिवाइस, फ़ुल थ्रेड वाले डिवाइस के तौर पर काम करेंगे. वे OTBR से बनाए गए थ्रेड नेटवर्क में शामिल हो जाएंगे.