OpenThread তৈরি করুন

GitHub-এ উৎস দেখুন

ওপেনথ্রেড কীভাবে তৈরি করবেন

ওপেনথ্রেড তৈরির ধাপগুলি টুলচেইন, ব্যবহারকারীর মেশিন এবং টার্গেট প্ল্যাটফর্মের উপর নির্ভর করে পরিবর্তিত হয়।

সবচেয়ে সাধারণ কর্মপ্রবাহ হল:

  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 বিল্ড অপশন /etc/cmake/options.cmake এ তালিকাভুক্ত

উদাহরণ তৈরি করুন

প্ল্যাটফর্মের কার্যকারিতা সক্ষম করতে cmake বিল্ড বিকল্পগুলি ব্যবহার করুন। উদাহরণস্বরূপ, কমিশনার এবং জয়েনার সমর্থন সক্ষম করে CC2538 প্ল্যাটফর্মের জন্য বাইনারি তৈরি করতে:

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

অথবা, 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 নেটওয়ার্ক কো-প্রসেসর (এনসিপি) ডিজাইনের জন্য সম্পূর্ণ থ্রেড ডিভাইস -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 ডিরেক্টরিটি দেখুন। FTD এবং MTD সম্পর্কে আরও তথ্যের জন্য, থ্রেড প্রাইমার দেখুন। SoC এবং NCP ডিজাইন সম্পর্কে আরও তথ্যের জন্য, প্ল্যাটফর্মগুলি দেখুন।

এই বাইনারিগুলি ফ্ল্যাশ করার প্রক্রিয়াটি বিভিন্ন উদাহরণ প্ল্যাটফর্মে পরিবর্তিত হয়। বিস্তারিত নির্দেশাবলীর জন্য প্রতিটি প্ল্যাটফর্মের উদাহরণ ফোল্ডারে README দেখুন।

ওপেনথ্রেড ডেমন

OpenThread ডেমন (OT ডেমন) হল একটি OpenThread POSIX বিল্ড মোড যা OpenThread কে একটি পরিষেবা হিসেবে চালায় এবং RCP ডিজাইনের সাথে ব্যবহৃত হয়। এটি কীভাবে তৈরি এবং ব্যবহার করবেন সে সম্পর্কে আরও তথ্যের জন্য, OpenThread ডেমন দেখুন।

সাপোর্ট প্যাকেজ তৈরি করুন

বিল্ড সাপোর্ট প্যাকেজ (BSP) /third_party তে পাওয়া যায়। BSP হল অতিরিক্ত তৃতীয় পক্ষের কোড যা OpenThread প্রতিটি প্ল্যাটফর্মে ব্যবহার করে, সাধারণত OpenThread কে একটি নতুন হার্ডওয়্যার প্ল্যাটফর্মে পোর্ট করার সময় অন্তর্ভুক্ত করা হয়।