सिम्पलसिटी स्टूडियो v5 का इस्तेमाल करके सिलिकॉन लैब EFR32 बोर्ड और OpenThread के साथ एक थ्रेड नेटवर्क बनाएं

1. परिचय

26b7f4f6b3ea0700.png

Google&#39s का OpenThread (OT) थ्रेड को ओपन-सोर्स लागू करता है. Google ने Google Nest प्रॉडक्ट में इस्तेमाल की गई नेटवर्किंग टेक्नोलॉजी को ज़्यादा से ज़्यादा डेवलपर के लिए उपलब्ध कराने के लिए, OpenThread लॉन्च किया है. इसका मकसद, कनेक्टेड होम और व्यावसायिक इमारतों के लिए प्रॉडक्ट को और तेज़ी से बनाना है. इसमें संकरे प्लैटफ़ॉर्म ऐब्स्ट्रैक्ट लेयर और छोटी मेमोरी फ़ुटप्रिंट है. साथ ही, OpenThread को पोर्टेबल बनाया जा सकता है. यह सिस्टम-ऑन-चिप (SoC) और नेटवर्क को-प्रोसेसर (एनसीपी), दोनों के डिज़ाइन के साथ काम करता है.

थ्रेड की खास जानकारी में, घर और कमर्शियल बिल्डिंग के ऐप्लिकेशन के लिए, IPv6 आधारित भरोसेमंद, सुरक्षित, और कम पावर वाले वायरलेस डिवाइस-टू-डिवाइस कम्यूनिकेशन प्रोटोकॉल के बारे में बताया गया है.

Silicon Labs में सिलिकॉन लैब हार्डवेयर के साथ काम करने के लिए, OpenThread को बेहतर बनाया गया है. यह सोर्स कोड GitHub पर उपलब्ध है. साथ ही, यह Simply Studio 5 (SSv5) के साथ इंस्टॉल किए गए सॉफ़्टवेयर डेवलपमेंट किट (SDK) के तौर पर भी उपलब्ध है. SDK टूल में GitHub सोर्स कोड का पूरी तरह से टेस्ट किया गया स्नैपशॉट शामिल होता है. यह GitHub वर्शन के मुकाबले ज़्यादा तरह के हार्डवेयर पर काम करता है. इसमें GitHub पर उपलब्ध दस्तावेज़ और उदाहरण ऐप्लिकेशन भी शामिल हैं.

इस गाइड में यह बताया गया है कि सिलिकॉन लैब OpenThread SDK टूल और Simply Studio 5 का इस्तेमाल करके OpenThread ऐप्लिकेशन कैसे बनाए जाएं. नीचे दी गई इमेज में बोर्डिंग (बीआरडी) और हार्डवेयर सेट अप को OT बॉर्डर राऊटर (OTBR) के साथ सेट अप किया गया हार्डवेयर दिख रहा है. साथ ही, कोडलैब में इस्तेमाल किए गए दो थ्रेड डिवाइस भी दिख रहे हैं.

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

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

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

2. ज़रूरी बातें

हार्डवेयर:

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

WSTK AEM

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

सॉफ़्टवेयर:

  • Windows/Linux/Mac होस्ट सिस्टम पर
      के साथ Simply Studio v5 को इंस्टॉल और अपडेट किया गया है
    • 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 v7.2.1

BRD4168A

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

डिवाइस

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

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

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

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

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

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

  1. Studio's का फ़ाइल मेन्यू खोलें और New > Silicon Labs प्रोजेक्ट विज़र्ड चुनें. टारगेट, SDK टूल, और टूल चुनने का डायलॉग खुलता है. OpenThread के साथ काम करने वाले डिफ़ॉल्ट सरल आईडीई / जीएनयू टूलचेन को न बदलें. आगे बढ़ें पर क्लिक करें.
    • टारगेट बोर्ड: चुने गए रेडियो बोर्ड (BRD4168A) के साथ मुख्य बोर्ड (BRD4001A) दिखाता है
    • टारगेट डिवाइस: यह फ़ील्ड माइक्रोकंट्रोलर चिप (MCU) ऑनबोर्ड दिखाता है. BRD4168A में एक EFR32MG13 MCU ऑनबोर्ड है.
    • SDK टूल: यहां आप OT का SDK वर्शन चुन सकते हैं, जिसके साथ आप काम कर रहे हैं. सुइट की जानकारी में, SDK टैग और OpenThread के सिलिकॉन लैब बिल्ड शामिल हैं, जैसे कि Platform 4.0.1.0 और OpenThread 2.0.1.0 (GitHub-55af6ce2c).
    • IDE/ टूलचेन: वह टूलचेन जिसका इस्तेमाल OT प्रोजेक्ट को कंपाइल करने के लिए किया जाएगा. हम GNU ARM का इस्तेमाल करते हैं.

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

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

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

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

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

  1. खास जानकारी टैब के लिए खुलने वाला प्रोजेक्ट कॉन्फ़िगरेशन खोलने पर, आसान आईडी आईडी वाला पर्सपेक्टिव.

प्रोजेक्ट अवलोकन

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

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

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

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

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

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

प्रोजेक्ट बनाने का बटन

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

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

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

फ़्लैश

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

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

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

EFR32MG सेट अप

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

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

FTD स्टूडियो कंसोल व्यू

आप देखेंगे कि अभी तक हमारे पास ot-rcp के लिए कंसोल नहीं है. अगले चरण में, हम Raspबेरी पाई को OT बॉर्डर राऊटर के तौर पर कॉन्फ़िगर करेंगे. साथ ही, ot-rcp के लिए कंसोल सेट अप करेंगे.

7. बॉर्डर राऊटर के तौर पर रसभरी पीआई सेट अप करें

सिलिकन लैब, कंपनी और #39;s डॉकर कंटेनर को OTBR के साथ डिप्लॉय करने का सुझाव देता है. कंटेनर में OTBR चलाने से, आसानी से इस्तेमाल किए जा सकने वाले आर्टफ़ैक्ट बनाए जा सकते हैं. साथ ही, तेज़ी से डेवलपमेंट वाले प्रोटोटाइप और टेस्टिंग की जा सकती है.

Silicon Labs OTBR इमेज, टैग के साथ siliconlabsinc डॉकर हब पर होस्ट की जाती हैं. हर टैग, GSDK वर्शन से मेल खाता है:

https://hub.docker.com/r/siliconlabsinc/openthread-border-router/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. अपने एसडी कार्ड पर, Raspbian Stretch Lite OS इमेज या डेस्कटॉप के साथ रास्बियन स्ट्रेच फ़्लैश करें.
  2. आप या तो आरएसबीआरआई पीआई पर एसएसएच कर सकते हैं या सीधे आरएसबीआईएन डेस्कटॉप के साथ काम कर सकते हैं. टर्मिनल खोलें.
  3. डॉकर को इंस्टॉल करने से पहले अपने स्थानीय डेटा स्टोर करने की जगह और पैकेज मैनेजर को अपडेट करना न भूलें (apt-get update और apt-get upgrade).

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

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

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

  1. स्टार्टअप पर अपना RCP कनेक्ट करने के लिए, आपको OTPR को कॉन्फ़िगर करना होगा. अपने आरसीपी डिवाइस का टेलीटाइपराइटर (टीटीवाई) पोर्ट ढूंढें. ऐसा करने का सबसे आसान तरीका यह है कि आरसीपी कनेक्ट हो जाने के बाद, /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, बॉर्डर राऊटर मैनेजमेंट वेबपेज को होस्ट करने वाले वेब सर्वर के पोर्ट को दिखाता है.
    • ?uart-baudrate=460800, यूआरएल (यूआरएल) के विकल्प में होना चाहिए, ताकि लंबे समय तक IPv6 पैकेट के साथ DTLS जैसे महंगे ऑपरेशन के साथ फ़्रैगमेंट / रीमॉडल करने में आने वाली समस्याओं को हल किया जा सके.

आरसीपी नोड से इंटरैक्ट करना

डॉकर के चलने के बाद, आप इस निर्देश का इस्तेमाल करके इंटरैक्टिव शेल की मदद से, आरसीपी नोड से संपर्क कर सकते हैं. आरसीपी नोड की स्थिति जांचें.

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

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

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

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

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

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

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

इंडेक्स

Command

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

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

1

dataset init new

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

हो गया

2

dataset commit active

चालू डेटासेट में नए डेटासेट के बारे में बताएं.

हो गया

3

ifconfig up

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

हो गया

4

thread start

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

हो गया

थ्रेड इंटरफ़ेस के चालू होने तक 10 सेकंड इंतज़ार करें.

5

state

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

लीडर
हो गया

6

dataset

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


नाम:


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

हमारे थ्रेड नेटवर्क में FTD को सेट करें और जोड़ें (बैंड तरीके से)

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

इंडेक्स

Command

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

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

1

dataset channel 20

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

हो गया

2

dataset networkkey 81ae2c2c17368d585dee71eaa8cf1e90

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

हो गया

3

dataset commit active

चालू डेटासेट में नए डेटासेट के बारे में बताएं.

हो गया

4

ifconfig up

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

हो गया

5

thread start

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

हो गया

डिवाइस के जुड़ने और खुद को कॉन्फ़िगर करने के दौरान 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's RLOC पते का इस्तेमाल करते हुए, दोनों FTD से 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 से FTD पर पिंग करने के लिए प्रोसेस को दोहराएं.

9. बधाई हो

आपने थ्रेड #नेटवर्क बनाया है!

अब आपको पता है कि:

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

इसके बारे में और पढ़ें

कई OpenThread संसाधनों के लिए, openthread.io और GitHub लेख देखें, जिनमें ये शामिल हैं:

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

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

स्टूडियो डेमो

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

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

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

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

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