ओपनथ्रेड बनाएं

संग्रह की मदद से व्यवस्थित रहें अपनी प्राथमिकताओं के आधार पर, कॉन्टेंट को सेव करें और कैटगरी में बांटें.

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

OpenThread बनाने का तरीका

OpenThread को बनाने के तरीके, टूल चेन, उपयोगकर्ता मशीन, और टारगेट प्लैटफ़ॉर्म के हिसाब से अलग-अलग होते हैं.

सबसे सामान्य वर्कफ़्लो यह है:

  1. बिल्ड एनवायरमेंट सेट अप करें और मनचाहे टूलचेन को इंस्टॉल करें:
    1. सीधे मशीन पर बनाने के लिए, ज़्यादा जानकारी के लिए सिम्युलेशन कोडलैब देखें
    2. पहले से कॉन्फ़िगर किए गए एनवायरमेंट के साथ डॉकर कंटेनर का इस्तेमाल करने के लिए, OpenThread environment इमेज डाउनलोड करें और चलाएं:
      docker pull openthread/environment:latest
      docker run -it --rm openthread/environment bash
      
  2. अपने चुने हुए प्लैटफ़ॉर्म में, प्लैटफ़ॉर्म के हिसाब से OpenThread Git डेटा स्टोर करने की जगह का क्लोन बनाएं. उदाहरण के तौर पर CC2538 को लेना:
    git clone https://github.com/openthread/ot-cc2538.git --recursive
    
  3. क्लोन की गई मेमोरी और' रूट डायरेक्ट्री से:
    1. टूलचेन इंस्टॉल करें:
      ./script/bootstrap
      
    2. कॉन्फ़िगरेशन बनाएं:
      ./script/build platform-specific-args cmake-options
      
  4. टारगेट बाइनरी को अपनी पसंद की बाइनरी फ़्लैश करें. सभी जनरेट की गई बाइनरी ./build/bin में मौजूद होती हैं.

कॉन्फ़िगरेशन

आप बिल्ड थ्रेड को अलग-अलग फ़ंक्शन के लिए और बिल्ड प्रोसेस के दौरान कॉन्फ़िगर कर सकते हैं. उपलब्ध कॉन्फ़िगरेशन विकल्पों की जानकारी नीचे दी गई जगहों पर दी गई है:

टाइप जगह की जानकारी
कंपाइल-टाइम कॉन्सटेंट /src/core/config की सभी हेडर फ़ाइलों में डाला गया
चाय बनाने के विकल्प openthread/examples/README.md में शामिल है

बिल्ड के उदाहरण

प्लैटफ़ॉर्म के लिए फ़ंक्शन चालू करने के लिए, मेक बनाने वाले विकल्पों का इस्तेमाल करें. उदाहरण के लिए, कमिश्नर और जॉइनर सहायता की मदद से CC2538 प्लैटफ़ॉर्म के लिए बाइनरी बनाने के लिए:

./script/build -DOT_COMMISSIONER=ON -DOT_JOINER=ON

इसके अलावा, आप इसके रेपो में चालू की गई Jam Detection सुविधा के साथ, nRF52840 प्लैटफ़ॉर्म बनाने के लिए:

./script/build nrf52840 UART_trans -DOT_JAM_DETECTION=ON

बाइनरी

ये बाइनरी, बिल्ड प्रोसेस से ./build/bin में जनरेट होती हैं. यह तय करने के लिए कि कौनसी बाइनरी जनरेट की गई हैं, ./script/build निर्देश के साथ फ़्लैग का इस्तेमाल करें. उदाहरण के लिए, OpenThread बनाना और सिर्फ़ FTD CLI बाइनरी जनरेट करना:

./script/build -DOT_APP_CLI=ON -DOT_FTD=ON -DOT_MTD=OFF -DOT_APP_NCP=OFF -DOT_APP_RCP=OFF -DOT_RCP=OFF
बाइनरी जानकारी विकल्प
ot-cli-ftd SoC डिज़ाइन के लिए पूरा थ्रेड डिवाइस -DOT_APP_CLI=ON
-DOT_FTD=ON
ot-cli-mtd SoC डिज़ाइन के लिए कम से कम थ्रेड डिवाइस -DOT_APP_CLI=ON
-DOT_MTD=ON
ot-ncp-ftd Network Co-Processor (NCP) डिज़ाइन के लिए फ़ुल थ्रेड डिवाइस -DOT_APP_NCP=ON
-DOT_FTD=ON
ot-ncp-mtd एनसीपी डिज़ाइन के लिए कम से कम थ्रेड डिवाइस -DOT_APP_NCP=ON
-DOT_MTD=ON
ot-rcp रेडियो को-प्रोसेसर (RCP) डिज़ाइन -DOT_APP_RCP=ON
-DOT_RCP=ON

डिफ़ॉल्ट रूप से, ऊपर दिए गए सभी फ़्लैग चालू होते हैं. अगर आपकी ओर से सभी फ़्लैग बंद किए जाते हैं, तो ऐप्लिकेशन नहीं बनाए जाते. हालांकि, किसी प्रोजेक्ट में इस्तेमाल करने के लिए, OpenThread लाइब्रेरी फ़ाइलें अब भी ./build/lib में जनरेट की जाती हैं.

examples/platforms डायरेक्ट्री में देखें कि हर प्लैटफ़ॉर्म पर कौनसे फ़्लैग काम करते हैं. एफ़टीडी और एमटीडी के बारे में ज़्यादा जानकारी के लिए, थ्रेड प्राइमर देखें. SoC और एनसीपी के डिज़ाइन के बारे में ज़्यादा जानकारी के लिए, प्लैटफ़ॉर्म देखें.

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

OpenThread डीमन

OpenThread Deemon (OT Deemon) एक OpenThread POSIX बिल्ड मोड है, जो OpenThread को सेवा के तौर पर चलाता है और इसका इस्तेमाल आरसीपी डिज़ाइन के साथ किया जाता है. इसे बनाने और इस्तेमाल करने के बारे में ज़्यादा जानकारी के लिए, OpenThread Deemon देखें.

बिल्ड सपोर्ट पैकेज

बिल्ड सपोर्ट पैकेज (बीएसपी) /third_party में मिलते हैं. BSP, तीसरे पक्ष के ऐसे अतिरिक्त कोड होते हैं जिनका इस्तेमाल OpenThread से जुड़े हुए हर प्लैटफ़ॉर्म पर किया जाता है. आम तौर पर, इसमें ThreadThread को किसी नए हार्डवेयर प्लैटफ़ॉर्म पर पोर्ट किया जाता है.