Simply Studio v5 का इस्तेमाल करके, Silicon Labs EFR32 बोर्ड और OpenThread के साथ Thread नेटवर्क बनाएं

1. शुरुआती जानकारी

26b7f4f6b3ea0700.png

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 ऐप्लिकेशन को डेवलप करने का तरीका बताया गया है. नीचे दी गई इमेज में बोर्ड (बीआरडी) और ओटी बॉर्डर राऊटर (ओटीबीआर) के साथ सेट अप किया गया हार्डवेयर दिख रहा है. साथ ही, कोडलैब में इस्तेमाल किए गए दो थ्रेड डिवाइस भी दिख रहे हैं.

EFR32MG हार्डवेयर सेट अप

आप इन चीज़ों के बारे में जानेंगे

  • Silicon Labs Simply Studio IDE का इस्तेमाल करके, OpenThread प्रोजेक्ट बनाने का तरीका.
  • सिलिकॉन लैब रेडियो बोर्ड में, OpenThread सीएलआई बाइनरी बनाने और उसे फ़्लैश करने का तरीका.
  • डॉकर का इस्तेमाल करके, RThreadber Pi 3B+ या इसके बाद के वर्शन को OpenThread बॉर्डर राऊटर (OTBR) के तौर पर सेट अप करने का तरीका.
  • OTBR पर थ्रेड नेटवर्क कैसे बनाएं.
  • Thread नेटवर्क के डिवाइसों के लिए, बैंड का काम खत्म हो गया.
  • पिंग कमांड का इस्तेमाल करके नोड के बीच, थ्रेड कम्यूनिकेशन की पुष्टि करने का तरीका.

2. ज़रूरी शर्तें

हार्डवेयर:

  1. 3 EFR32MGxx रेडियो बोर्ड - किसी भी डिवाइस का इस्तेमाल किया जा सकता है. यह कोडलैब, RCP के तौर पर BRD4166A और फ़ुल थ्रेड वाले डिवाइस के तौर पर दो BRD4168A का इस्तेमाल करता है.
    • EFR32MG12 (BRD4161A, BRD4166A, BRD4170A, BRD4304A)
    • EFR32MG13 (BRD4168A)
    • EFR32MG21 (BRD4180A, BRD4180B)
    अगर आपको नए सिरे से शुरू करना है, तो EFR32 थ्रेड स्टार्टर किट पर जाएं. इस किट में ऊपर दिए गए बोर्ड हैं.
  2. BRD4001A: रेडियो बोर्ड होस्ट करने के लिए, वायरलेस स्टार्टर के मुख्य बोर्ड (WSTK). BRD4166A को छोड़कर, सभी रेडियो बोर्ड को स्टार्टर के लिए एक मुख्य बोर्ड की ज़रूरत होती है. BRD4166A के लिए, मुख्य बोर्ड या माइक्रो यूएसबी केबल को कनेक्ट करने और चलाने के लिए मिनी यूएसबी केबल.

WSTK एईएम

  1. Raspbian Stretch Lite OS इमेज या डेस्कटॉप के साथ Raspbian Stretch का इस्तेमाल करके, Raspber Pi 3B+ या इसके बाद का वर्शन इस्तेमाल करें और ईथरनेट के ज़रिए इंटरनेट से कनेक्ट किया गया हो. हम इसे OT बॉर्डर राऊटर के तौर पर कॉन्फ़िगर करते हैं.
  2. Windows/Linux/Mac होस्ट सिस्टम, जिसमें कम से कम 2 USB पोर्ट हों और एक इंटरनेट कनेक्शन हो. SSv5 पर हार्डवेयर और ओएस की शर्तों की जांच करें.
  3. Rराज़बेरी पी. को इंटरनेट से जोड़ने के लिए, कम से कम एक ईथरनेट केबल. WSTK, आईपी पर डीबग और फ़्लैश करने की सुविधा भी देते हैं. विकल्प के तौर पर, ईथरनेट स्विच की मदद से WSTK को अपने होस्ट सिस्टम से जोड़ने के लिए, और ईथरनेट केबल इस्तेमाल किए जा सकते हैं.

सॉफ़्टवेयर:

  • Simply Studio v5 को Windows/Linux/Mac होस्ट सिस्टम पर इंस्टॉल और अपडेट किया गया है. यह
    • GNU ARM टूलचेन
    • Gecko SDK Suite 3.2.0 या उसके बाद के वर्शन और Silicon Labs OpenThread SDK टूल.

3. हार्डवेयर सेट अप

इस कोडलैब का इस्तेमाल करके बनाया गया है

  1. EFR32MG12 BRD4166A Thunderboard Sense 2 जैसा कि बाईं ओर दिखाया गया है.
  2. दाईं ओर दिखाए गए दो EFR32MG13 BRD4168A.
  3. macOS Catalina 10.15.7 पर
      के साथ इंस्टॉल किए गए Simply Studio v5">
    1. गैको SDK टूल 3.2.0
    2. GNU ARM v.2.1

BRD4168A

नीचे दी गई इमेज में दिखाए गए तरीके से, हर वायरलेस स्टार्टर किट के मुख्य बोर्ड को यूएसबी के ज़रिए होस्ट कंप्यूटर से कनेक्ट करें. इन कनेक्शन की मदद से, आरसीपी और एंड डिवाइसों का प्रोग्रामिंग और नेटवर्क का विश्लेषण किया जा सकेगा. हम सबसे पहले OT-rcp फ़र्मवेयर के साथ BRD4166A को प्रोग्राम करने के लिए, होस्ट कंप्यूटर का इस्तेमाल करेंगे. इसके बाद, इसे Raspber Pi से कनेक्ट किया जाएगा. इसके अलावा, एंड डिवाइस को होस्ट कंप्यूटर से कनेक्ट करने के लिए, एक सामान्य ईथरनेट स्विच का इस्तेमाल किया जा सकता है. स्टार्टर किट, प्रोग्रामिंग और नेटवर्क का विश्लेषण करने के लिए IPv4 का इस्तेमाल भी करती हैं.

डिवाइस

4. फ़र्मवेयर सेट अप

शुरू करने के दो तरीके होते हैं. दोनों विकल्पों में आपको उन फ़र्मवेयर को फ़्लैश करने की सुविधा मिलती है जो इस कोडलैब के लिए ज़रूरी हैं.

  1. प्रोजेक्ट: (सुझाया गया) ऐप्लिकेशन का नमूना बनाएं, उसे बनाएं और फ़्लैश करें. इस विकल्प से, प्रोजेक्ट में ऐप्लिकेशन को पसंद के मुताबिक बनाया जा सकता है.या
  2. डेमो: (ज़रूरी नहीं) किसी भी सैंपल ऐप्लिकेशन के लिए, पहले से बने डेमो को सीधे रेडियो बोर्ड पर फ़्लैश करें. उपयोगकर्ताओं को डेमो फ़र्मवेयर सेट अप करने के लिए बढ़ावा दिया जाता है. यह एक वैकल्पिक व्यायाम के रूप में सेट है. ज़्यादा जानकारी के लिए, इस कोडलैब के आखिर में "फ़र्मवेयर सेट अप करना - डेमो" सेक्शन देखें.

हम इस कोडलैब के लिए प्रोजेक्ट पर आधारित तरीके का इस्तेमाल करेंगे.

उदाहरणों का इस्तेमाल करके प्रोजेक्ट बनाना

हम दो प्रोजेक्ट बनाएंगे. BRD4166A के लिए ot-rcp प्रोजेक्ट और दो BRD4168A के लिए ot-cli-ftd प्रोजेक्ट. कृपया नीचे दिया गया तरीका अपनाएं और अपने बोर्ड के लिए सैंपल ऐप्लिकेशन चुनें.

  1. 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 का इस्तेमाल करते हैं.

नया प्रोजेक्ट विज़र्ड

  1. उदाहरण के तौर पर, प्रोजेक्ट चुनने का डायलॉग बॉक्स खुलता है. आपको उदाहरण के तौर पर दिए गए प्रोजेक्ट की सूची दिखेगी. किसी खास उदाहरण को खोजने के लिए, थ्रेड टेक्नोलॉजी टाइप और कीवर्ड फ़िल्टर का इस्तेमाल करें. Gecko SDK Suite का वर्शन नंबर नोट करना न भूलें. Raspber Pi को बॉर्डर राऊटर के तौर पर सेट अप करने के लिए, आपको इस वर्शन टैग की ज़रूरत होगी. ot-cli-ftd चुनें, फिर आगे बढ़ें पर क्लिक करें.

नया प्रोजेक्ट विज़र्ड चरण 2

  1. प्रोजेक्ट कॉन्फ़िगरेशन डायलॉग खुलता है. यहां अपने प्रोजेक्ट का नाम बदला जा सकता है, प्रोजेक्ट की डिफ़ॉल्ट फ़ाइल की जगह बदली जा सकती है, और तय किया जा सकता है कि प्रोजेक्ट फ़ाइलों को लिंक करना है या कॉपी करना है. लिंक की गई प्रोजेक्ट फ़ाइलें, SDK टूल की ओर इशारा करती हैं. साथ ही, आपके किए गए बदलाव, SDK टूल में बन जाते हैं और इनका इस्तेमाल आने वाले समय में होने वाले प्रोजेक्ट के लिए किया जाता है. प्रोजेक्ट के सोर्स कॉपी करने से, किसी प्रोजेक्ट के लोकल कॉपी में बदलाव किया जा सकता है. इससे, SDK टूल में मौजूद फ़ाइलें पहले की तरह ही बनी रहती हैं. डिफ़ॉल्ट रूप से, 'sdk को लिंक करें और प्रोजेक्ट के सोर्स को कॉपी करें' डिफ़ॉल्ट विकल्प होता है. पूरा करें पर क्लिक करें.

नया प्रोजेक्ट विज़र्ड चरण 3

  1. प्रोजेक्ट कॉन्फ़िगरेशन की सुविधा के साथ, Simply IDE Perspective को खास जानकारी टैब में खोला जाता है.

प्रोजेक्ट की खास जानकारी

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

सॉफ़्टवेयर कॉम्पोनेंट

इस डेमो के लिए, हम ऐप्लिकेशन के नमूने का डिफ़ॉल्ट कॉन्फ़िगरेशन इस्तेमाल करेंगे. अपने दूसरे बोर्ड के लिए ot-rcp प्रोजेक्ट बनाने के लिए, ऊपर दिया गया तरीका दोहराएं.

प्रोजेक्ट बनाना और उन्हें फ़्लैश करना

ot-rcp और ot-cli-ftd, दोनों प्रोजेक्ट बनाएं और उन्हें फ़्लैश करें.

  1. प्रोजेक्ट कॉन्फ़िगर होने के बाद, सबसे ऊपर मौजूद टूल बार में, बिल्ड कंट्रोल (हैमर आइकॉन) पर क्लिक करें. इसके अलावा, प्रोजेक्ट पर दायां क्लिक करके और 'प्रोजेक्ट बनाएं' पर क्लिक किया जा सकता है.

'प्रोजेक्ट बनाएं' बटन

  1. प्रगति कंसोल में और नीचे दाईं ओर प्रोग्रेस बार में दिखती है. आपके प्रोजेक्ट से जुड़ी कोई भी गड़बड़ी या चेतावनी, इस आउटपुट विंडो में दिखेगी.

प्रोजेक्ट बिल्ड आउटपुट विंडो

  1. बाइनरी इमेज, सही प्रोजेक्ट बनने के बाद जनरेट होती हैं. बाइनरी प्रोजेक्ट इमेज से बाइनरी इमेज को फ़्लैश किया जा सकता है. कंपाइलर सबडायरेक्ट्री में .bin, .hex या .s37 फ़ाइल ढूंढें. फ़ाइल पर राइट-क्लिक करें और डिवाइस पर फ़्लैश चुनें. अगर आपने एक से ज़्यादा डिवाइस कनेक्ट किए हैं, तो प्रोग्राम करने के लिए कोई डिवाइस चुनें, तो ठीक है पर क्लिक करें. फ़्लैश प्रोग्रामर, फ़ाइल पाथ को पॉप्युलेट करता है. कार्यक्रम पर क्लिक करें.

फ़्लैश

5. फ़र्मवेयर सेट अप की खास जानकारी

इस पॉइंट पर आपको रेडियो बोर्ड पर सही फ़र्मवेयर बनाना, कंपाइल करना, और फ़्लैश करना चाहिए था. ot-rcp के फ़्लैश को BRD4166A पर फ़्लैश हो जाने के बाद, उसे होस्ट सिस्टम से डिसकनेक्ट करें और इस बोर्ड को राज़बेरी पी से जोड़ें.

इस सेक्शन को पूरा करने के बाद, आपका Thread नेटवर्क हार्डवेयर सेट अप कुछ ऐसा दिखेगा:

EFR32MG सेट अप

6. ot-cli-ftd डिवाइसों के लिए सीरियल कंसोल सेट अप करें

Console इंटरफ़ेस को लॉन्च करने के लिए, डिवाइस व्यू / डीबग अडैप्टर विंडो में, J-Link डिवाइस पर दायां क्लिक करें. लॉन्च कंसोल चुनें. कंसोल पर अनुरोध पाने के लिए, सीरियल 1 टैब चुनें और Enter दबाएं. एफ़टीडी नोड की स्थिति देखें.

FTD Studio कंसोल व्यू

आपको पता चलेगा कि हमारे पास अभी तक 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 इमेज का इस्तेमाल करें.

GSDK वर्शन

राज़बेरी पी सेट अप

  1. पक्का करें कि आपने एसडी कार्ड पर, रैस्पियन स्ट्रेच लाइट ओएस इमेज या डेस्कटॉप के साथ रास्पियन स्ट्रेच फ़्लैश किया हो.
  2. आप SSHP का आरएसबी विज्ञापन देखा जा सकता है या सीधे Raspbian Desktop के साथ काम किया जा सकता है. कोई टर्मिनल खोलें.
  3. डेटा स्टोर करने से पहले, अपने लोकल रिपॉज़िटरी और पैकेज मैनेजर को अपडेट करना न भूलें (apt-get update और apt-get Upgrade.

डॉकर इमेज इंस्टॉल करें

  1. अपने RPi कमांड की मदद से डॉकर इंस्टॉल करें.
    curl -sSL https://get.docker.com | sh
    
  2. सेट अप पूरा होने के बाद, डॉकर की उपयोगकर्ता सेटिंग में बदलाव किया जा सकता है. हर कमांड के पहले, आपको sudo की ज़रूरत नहीं होगी. डिवाइस को फिर से चालू करें.
    sudo usermod -aG docker $USER
    
  3. कंटेनर इंस्टॉल करने के लिए, नीचे दिए गए निर्देश जारी करें. ध्यान दें कि अपने आरसीपी के साथ, एक बार में सिर्फ़ एक बॉर्डर राऊटर कंटेनर चलाया जा सकता है. साथ ही, पक्का करें कि आपका Simply Studio GSDK वर्शन, सही डॉकर इमेज से मेल खाता हो. उदाहरण के लिए: gsdk-4.0.1:
    docker pull siliconlabsinc/openthread-border-router:gsdk-4.0.1
    

डॉकर को कॉन्फ़िगर करें और चलाएं

  1. आपको टीटीवाई को कनेक्ट करने के लिए, उस टीटीवाई पोर्ट को कॉन्फ़िगर करना होगा जिसका इस्तेमाल आपको आरटीपी के लिए करना है. अपने आरसीपी डिवाइस का टेलीटाइपराइटर (टीटीवाई) पोर्ट खोजें. आरसीपी कनेक्ट होने के बाद, /tty/dev... एंट्री को आसानी से खोजा जा सकता है. यह आम तौर पर /dev/ttyUSB0 या /dev/ttyACM0 होना चाहिए.
  2. नीचे दिए गए निर्देश से, अपने डॉकर इंस्टॉलेशन को चलाएं. पक्का करें कि आपकी डॉकर इमेज का नाम, मेल खाने वाले 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 का इस्तेमाल करें.

इस समय, आपके पास तीन कंसोल होने चाहिए.

  1. Simply Studio में दो ot-cli-ftd कंसोल होते हैं, जिन्हें फ़ुल थ्रेड डिवाइसों के तौर पर सेट अप किया जाता है.
  2. Raspber Pi पर एक ot-ctl इंटरैक्टिव शेल, जो OT बॉर्डर राऊटर के तौर पर सेट है.

अब हम Thread नेटवर्क के लिए तैयार हैं.

8. Thread नेटवर्क बनाएं

आरसीपी सेट अप करें

नेटवर्क बनाने के लिए, हम OTBR पर ot-ctl शेल से शुरू करते हैं. इसका इस्तेमाल RCP नोड के साथ संपर्क करने के लिए किया जाता है. नीचे दिए गए क्रम में नीचे दिए गए निर्देश डालें:

इंडेक्स

आदेश

निर्देश की जानकारी

अनुमानित जवाब

1

dataset init new

नया नेटवर्क कॉन्फ़िगरेशन बनाएं.

Done

2

dataset commit active

ऐक्टिव ऑपरेशनल डेटासेट के लिए नया डेटासेट बनाएं.

Done

3

ifconfig up

Thread इंटरफ़ेस को चालू करें.

Done

4

thread start

थ्रेड प्रोटोकॉल कार्रवाई को चालू और अटैच करें.

Done

थ्रेड का इंटरफ़ेस आने के लिए, 10 सेकंड इंतज़ार करें.

5

state

डिवाइस की स्थिति की जांच करें. यह लीडर होना चाहिए.
अन्य संभावित स्थितियां: ऑफ़लाइन, बंद है, अलग की गई,
चाइल्ड, राऊटर या लीडर

लीडर
हो गया

6

dataset

नेटवर्क कॉन्फ़िगरेशन देखें.
आपके मान इस कोडलैब से अलग होंगे.
चैनल, नेटवर्क कुंजी,
नेटवर्क का नाम और पैन आईडी नोट कर लें.


:
:







हम इस थ्रेड नेटवर्क पर दो एफ़टीडी को जोड़ने के लिए, चैनल नंबर और ot-cli-ftd पर नेटवर्क कुंजी का इस्तेमाल करेंगे.

हमारे Thread नेटवर्क को ({4/} में बैंड तरीके से) FTD सेट अप करना और जोड़ना

आउट-ऑफ़-बैंड तरीके से, हम सुरक्षा से जुड़ी सारी जानकारी जानते हैं और नोड को मैन्युअल तरीके से जोड़ते हैं. Sनलिटी कंसोल में, नीचे दिए गए क्रम में इन निर्देशों का इस्तेमाल करके, हमारे नेटवर्क में दोनों एफ़टीडी जोड़े जाते हैं.

इंडेक्स

आदेश

निर्देश की जानकारी

अनुमानित जवाब

1

dataset channel 20

OTBR के इस्तेमाल किए गए चैनल को सेट करें.

Done

2

dataset networkkey 81ae2c2c17368d585dee71eaa8cf1e90

किसी डिवाइस को थ्रेड नेटवर्क से अटैच करने के लिए, सिर्फ़ नेटवर्क कुंजी ज़रूरी है.

Done

3

dataset commit active

ऐक्टिव ऑपरेशनल डेटासेट के लिए नया डेटासेट बनाएं.

Done

4

ifconfig up

Thread इंटरफ़ेस को चालू करें.

Done

5

thread start

थ्रेड प्रोटोकॉल कार्रवाई को चालू और अटैच करें.

Done

डिवाइस के जुड़ने और कॉन्फ़िगर होने तक 20 सेकंड इंतज़ार करें.

6

state

नेटवर्क कॉन्फ़िगरेशन देखें.

बच्चा
हो गया

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देखें. इनमें ये भी शामिल हैं:

10. वैकल्पिक फ़र्मवेयर सेट अप - डेमो

डेमो, पहले से बनी फ़र्मवेयर इमेज होती हैं. इन्हें किसी भी साथ काम करने वाले डिवाइस पर डाउनलोड किया जा सकता है. Simply Studio में यह जानने का सबसे आसान तरीका है कि आपको डेमो देखने की सुविधा मिले. इसके लिए, डीबग अडैप्टर व्यू में दिए गए अपने हिस्से पर क्लिक करें. इसके बाद, Launcher Perspective के उदाहरण प्रोजेक्ट और डेमो टैब पर जाएं. उदाहरण के तौर पर दिए गए प्रोजेक्ट को फ़िल्टर करने की सुविधा बंद करें. साथ ही, टेक्नोलॉजी टाइप में जाकर, थ्रेड रेडियो चेकबॉक्स को चुनें.

Studio के डेमो

OpenThread SDK के साथ उपलब्ध कराए गए डेमो ऐप्लिकेशन की इमेज, इन बोर्ड के साथ काम करती हैं:

  1. BRD4161a
  2. BRD4166a
  3. BRD4168a
  4. BRD4180a
  5. BRD4304a

आने वाले समय में SDK टूल की रिलीज़ में, इस सूची को अपडेट किया जा सकता है. ऐसा करने पर, ज़्यादा रेडियो बोर्ड शामिल किए जा सकेंगे. काम करने वाले हिस्सों की पूरी सूची देखने के लिए, 'दस्तावेज़' में दिए गए Silicon Labs OpenThread SDK टूल के रिलीज़ नोट देखें.

इन डेमो को संबंधित बोर्ड पर फ़्लैश करें. फ़्लैश करने के लिए, बाईं ओर मौजूद डीबग अडैप्टर में अपने बोर्ड को चुनें और संबंधित नमूना ऐप्लिकेशन के लिए RUN पर क्लिक करें. आपको एक पॉप-अप विंडो में फ़्लैश की प्रोग्रेस दिखेगी.

  1. BRD4166A: ot-rcp — यह डिवाइस, OT बॉर्डर राऊटर के लिए रेडियो को प्रोसेसर के तौर पर काम करेगा. हम इस डिवाइस का इस्तेमाल, थ्रेड नेटवर्क बनाने और अन्य दो डिवाइसों को थ्रेड नेटवर्क पर शामिल करने के लिए करेंगे. बॉर्डर राऊटर होने पर, यह डिवाइस थ्रेड नेटवर्क में मौजूद डिवाइसों के लिए गेटवे के तौर पर काम करता है. ऐसा इसलिए, ताकि यह इंटरनेट पर बातचीत कर सके.
  2. दो BRD4168A: ot-cli-ftd — ये दोनों डिवाइस, फ़ुल थ्रेड वाले डिवाइस के तौर पर काम करेंगे. वे OTBR से बनाए गए थ्रेड नेटवर्क में शामिल हो जाएंगे.