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

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में मौजूद होती हैं.

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

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

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

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

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

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

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

./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 और एनसीपी डिज़ाइन के बारे में ज़्यादा जानकारी के लिए, प्लैटफ़ॉर्म देखें.

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

OpenThread डीमन

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

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

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