OpenThread তৈরি করুন, OpenThread তৈরি করুন

GitHub-এ উৎস দেখুন

কিভাবে 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 প্ল্যাটফর্ম তৈরি করতে:

./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

ডিফল্টরূপে, উপরের সমস্ত পতাকা সক্রিয় করা হয়। আপনি যদি স্পষ্টভাবে সমস্ত পতাকা নিষ্ক্রিয় করেন, তবে অ্যাপ্লিকেশনগুলি তৈরি করা হয় না তবে একটি প্রকল্পে ব্যবহারের জন্য OpenThread লাইব্রেরি ফাইলগুলি এখনও ./build/lib এ তৈরি করা হয়।

প্রতিটি প্ল্যাটফর্ম কোন পতাকা সমর্থন করে তা দেখতে examples/platforms ডিরেক্টরি পরীক্ষা করুন। এফটিডি এবং এমটিডি সম্পর্কে আরও তথ্যের জন্য, থ্রেড প্রাইমার দেখুন। SoC এবং NCP ডিজাইন সম্পর্কে আরও তথ্যের জন্য, প্ল্যাটফর্ম দেখুন।

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

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

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

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

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

,

GitHub-এ উৎস দেখুন

কিভাবে 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 প্ল্যাটফর্ম তৈরি করতে:

./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

ডিফল্টরূপে, উপরের সমস্ত পতাকা সক্রিয় করা হয়। আপনি যদি স্পষ্টভাবে সমস্ত পতাকা নিষ্ক্রিয় করেন, তবে অ্যাপ্লিকেশনগুলি তৈরি করা হয় না তবে একটি প্রকল্পে ব্যবহারের জন্য OpenThread লাইব্রেরি ফাইলগুলি এখনও ./build/lib এ তৈরি করা হয়।

প্রতিটি প্ল্যাটফর্ম কোন পতাকা সমর্থন করে তা দেখতে examples/platforms ডিরেক্টরি পরীক্ষা করুন। এফটিডি এবং এমটিডি সম্পর্কে আরও তথ্যের জন্য, থ্রেড প্রাইমার দেখুন। SoC এবং NCP ডিজাইন সম্পর্কে আরও তথ্যের জন্য, প্ল্যাটফর্ম দেখুন।

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

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

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

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

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