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

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

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

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

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

  1. बिल्ड एनवायरमेंट को सेट अप करें और अपनी पसंद का टूलचेन इंस्टॉल करें:
    1. किसी मशीन पर सीधे बनाने के लिए, ज़्यादा जानकारी वाले निर्देशों के लिए सिम्युलेशन कोडलैब देखें
    2. पहले से कॉन्फ़िगर किए गए एनवायरमेंट के साथ Docker कंटेनर का इस्तेमाल करने के लिए, 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 में मौजूद है.

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

अलग-अलग फ़ंक्शन और व्यवहार के लिए, OpenThread को कॉन्फ़िगर किया जा सकता है. ऐसा करने के लिए, बिल्ड प्रोसेस शुरू करें. कॉन्फ़िगरेशन के उपलब्ध विकल्पों के बारे में यहां जानकारी दी गई है जगहें:

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

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

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

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

इसके अलावा, Jam डिटेक्शन की मदद से nRF52840 प्लैटफ़ॉर्म बनाने के लिए सुविधा को अपने रेपो में चालू किया हो:

./script/build nrf52840 UART_trans -DOT_JAM_DETECTION=ON

बाइनरी

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

./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 डिज़ाइन के लिए पूरा Thread डिवाइस -DOT_APP_CLI=ON
-DOT_FTD=ON
ot-cli-mtd SoC डिज़ाइन के लिए कम से कम Thread डिवाइस -DOT_APP_CLI=ON
-DOT_MTD=ON
ot-ncp-ftd Network को-प्रोसेसर (एनसीपी) डिज़ाइन के लिए, पूरा Thread डिवाइस -DOT_APP_NCP=ON
-DOT_FTD=ON
ot-ncp-mtd एनसीपी डिज़ाइन के लिए कम से कम Thread डिवाइस -DOT_APP_NCP=ON
-DOT_MTD=ON
ot-rcp रेडियो को-प्रोसेसर (आरसीपी) डिज़ाइन -DOT_APP_RCP=ON
-DOT_RCP=ON

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

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

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

थ्रेड डीमन खोलें

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

सहायता पैकेज बनाएं

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