OpenThread बनाने का तरीका
OpenThread बनाने के कदम, टूलचेन, उपयोगकर्ता मशीन, और टारगेट प्लैटफ़ॉर्म के आधार पर अलग-अलग होते हैं.
सबसे सामान्य वर्कफ़्लो है:
- बिल्ड एनवायरमेंट सेट अप करें और मनचाहे टूलचेन इंस्टॉल करें:
- मशीन को सीधे बनाने के लिए, ज़्यादा जानकारी के लिए सिम्युलेशन कोडलैब (कोड बनाना सीखना) देखें
- पहले से कॉन्फ़िगर किए गए परिवेश के साथ डॉक कंटेनर का इस्तेमाल करने के लिए,
OpenThread
environment
इमेज डाउनलोड करें और चलाएं:docker pull openthread/environment:latest
docker run -it --rm openthread/environment bash
- अपने चुने गए परिवेश में, प्लैटफ़ॉर्म-विशिष्ट OpenThread Git डेटा संग्रह स्थान का क्लोन बनाएं. CC2538 को उदाहरण के तौर पर लेना:
git clone https://github.com/openthread/ot-cc2538.git --recursive
- क्लोन किए गए डेटा स्टोर करने की जगह की रूट डायरेक्ट्री से:
- टूलचेन इंस्टॉल करें:
./script/bootstrap
- कॉन्फ़िगरेशन बनाएं:
./script/build platform-specific-args cmake-options
- टूलचेन इंस्टॉल करें:
- टारगेट प्लैटफ़ॉर्म के लिए मनचाही बाइनरी फ़्लैश करें. जनरेट की गई सभी बाइनरी फ़ाइलें
./build/bin
में मौजूद हैं.
कॉन्फ़िगरेशन
आप बिल्ड प्रोसेस के दौरान, अलग-अलग फ़ंक्शन और व्यवहार के लिए OpenThread को कॉन्फ़िगर कर सकते हैं. कॉन्फ़िगरेशन के उपलब्ध विकल्पों के बारे में यहां बताई गई है:
टाइप | जगह |
---|---|
कंपाइल-टाइम कॉन्सटेंट | /src/core/config में सभी हेडर फ़ाइलों में मौजूद |
cमेक बनाने के विकल्प | openthread/examples/README.md में मौजूद |
उदाहरण बनाएं
प्लैटफ़ॉर्म के लिए फ़ंक्शन चालू करने के लिए, मेक बिल्ड के विकल्पों का इस्तेमाल करें. उदाहरण के लिए, कमिश्नर और जॉइनर सहायता के साथ 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 |
नेटवर्क को-प्रोसेसर (NCP) डिज़ाइन के लिए फ़ुल थ्रेड डिवाइस | -DOT_APP_NCP=ON -DOT_FTD=ON |
ot-ncp-mtd |
NCP डिज़ाइन के लिए कम से कम थ्रेड डिवाइस | -DOT_APP_NCP=ON -DOT_MTD=ON |
ot-rcp |
रेडियो को-प्रोसेसर (RCP) डिज़ाइन | -DOT_APP_RCP=ON -DOT_RCP=ON |
डिफ़ॉल्ट रूप से, ऊपर दिए गए सभी फ़्लैग चालू होते हैं. अगर आप सभी फ़्लैग बंद कर देते हैं, तो ऐप्लिकेशन नहीं बनते हैं. हालांकि, ओपन थ्रेड लाइब्रेरी फ़ाइलें अब भी ./build/lib
में जनरेट होती हैं, ताकि किसी प्रोजेक्ट में उनका इस्तेमाल किया जा सके.
हर प्लैटफ़ॉर्म के लिए 'फ़ाइल फ़ाइल' का उदाहरण देखें. इससे आप जान पाएंगे कि किस प्लैटफ़ॉर्म पर क्या फ़्लैग किया जा सकता है. FTD और MTD के बारे में ज़्यादा जानकारी के लिए, थ्रेड Primer देखें. SoC और NCP डिज़ाइन के बारे में ज़्यादा जानकारी के लिए, प्लैटफ़ॉर्म देखें.
इन बाइनरी को फ़्लैश करने की प्रक्रिया सभी उदाहरण प्लैटफ़ॉर्म पर अलग-अलग होती है. ज़्यादा जानकारी के लिए, हर प्लैटफ़ॉर्म के उदाहरण फ़ोल्डर में READMEs देखें.
ओपन थ्रेड डीमन
OpenThread Daemon (OT Daemon) एक OpenThread POSIX बिल्ड मोड है, जो OpenThread को सेवा के तौर पर चलाता है. इसका इस्तेमाल RCP डिज़ाइन के साथ किया जाता है. इसे बनाने और इस्तेमाल करने के बारे में ज़्यादा जानकारी के लिए, OpenThread Deemon देखें.
बिल्ड सहायता पैकेज
बिल्ड सपोर्ट पैकेज (बीएसपी)
/third_party
में मौजूद हैं. बीएसपी हर तीसरे प्लैटफ़ॉर्म पर, तीसरे पक्ष का अतिरिक्त कोड होता है. आम तौर पर, इसका इस्तेमाल नए हार्डवेयर प्लैटफ़ॉर्म में ओपन थ्रेड को भेजने के दौरान किया जाता है.