1। পরিচিতি
Google-এর OpenThread (OT) হল থ্রেডের একটি ওপেন-সোর্স বাস্তবায়ন। Google ওপেন থ্রেড প্রকাশ করেছে যাতে Google Nest পণ্যগুলিতে ব্যবহৃত নেটওয়ার্কিং প্রযুক্তিকে ডেভেলপারদের কাছে আরও বিস্তৃতভাবে উপলব্ধ করা যায়, যাতে সংযুক্ত বাড়ি এবং বাণিজ্যিক ভবনগুলির পণ্যগুলির বিকাশকে ত্বরান্বিত করা যায়। একটি সংকীর্ণ প্ল্যাটফর্ম বিমূর্ত স্তর এবং একটি ছোট মেমরি পদচিহ্ন সহ, OpenThread অত্যন্ত বহনযোগ্য। এটি সিস্টেম-অন-চিপ (SoC) এবং নেটওয়ার্ক কো-প্রসেসর (NCP) ডিজাইন উভয়কেই সমর্থন করে।
থ্রেড স্পেসিফিকেশন একটি IPv6-ভিত্তিক নির্ভরযোগ্য, সুরক্ষিত এবং কম-পাওয়ার ওয়্যারলেস ডিভাইস-টু-ডিভাইস যোগাযোগ প্রোটোকল হোম এবং বাণিজ্যিক বিল্ডিং অ্যাপ্লিকেশনগুলির জন্য সংজ্ঞায়িত করে।
সিলিকন ল্যাবস সিলিকন ল্যাবস হার্ডওয়্যারের সাথে কাজ করার জন্য OpenThread উন্নত করেছে। এই সোর্স কোডটি GitHub- এ পাওয়া যায় এবং সিম্পলিসিটি স্টুডিও 5 (SSv5) এর সাথে ইনস্টল করা সফ্টওয়্যার ডেভেলপমেন্ট কিট (SDK) হিসাবেও পাওয়া যায়। SDK-তে GitHub সোর্স কোডের একটি সম্পূর্ণ পরীক্ষিত স্ন্যাপশট অন্তর্ভুক্ত রয়েছে। এটি GitHub সংস্করণের তুলনায় হার্ডওয়্যারের একটি বিস্তৃত পরিসরকে সমর্থন করে এবং এতে ডকুমেন্টেশন এবং উদাহরণ অ্যাপ্লিকেশনগুলি অন্তর্ভুক্ত রয়েছে যা GitHub-এ উপলব্ধ নয়।
সিলিকন ল্যাবস ওপেনথ্রেড SDK এবং সরলতা স্টুডিও 5 ব্যবহার করে কীভাবে OpenThread অ্যাপ্লিকেশনগুলি তৈরি করা শুরু করবেন তা এই নির্দেশিকাটি বর্ণনা করে৷ নীচের চিত্রটি বোর্ড (BRDs) এবং একটি OT বর্ডার রাউটার (OTBR) এবং দুটি থ্রেড ডিভাইসের সাথে সেট আপ করা হার্ডওয়্যার দেখায়৷ কোডল্যাব
আপনি কি শিখবেন
- সিলিকন ল্যাবস সিম্পলিসিটি স্টুডিও আইডিই ব্যবহার করে কীভাবে একটি ওপেনথ্রেড প্রকল্প তৈরি করবেন।
- সিলিকন ল্যাব রেডিও বোর্ডে ওপেনথ্রেড সিএলআই বাইনারিগুলি কীভাবে তৈরি এবং ফ্ল্যাশ করবেন।
- ডকার ব্যবহার করে ওপেন থ্রেড বর্ডার রাউটার (OTBR) হিসাবে কীভাবে রাস্পবেরি পাই 3B+ বা তার বেশি সেট আপ করবেন।
- কিভাবে OTBR এ একটি থ্রেড নেটওয়ার্ক তৈরি করবেন।
- একটি থ্রেড নেটওয়ার্কে ডিভাইসের ব্যান্ড কমিশনিং আউট.
- পিং কমান্ড ব্যবহার করে নোডগুলির মধ্যে থ্রেড যোগাযোগ কীভাবে যাচাই করবেন।
2. পূর্বশর্ত
হার্ডওয়্যার:
- 3 EFR32MGxx রেডিও বোর্ড - এই ডিভাইসগুলির যেকোনো সমন্বয় ব্যবহার করা যেতে পারে। এই কোডল্যাবটি RCP হিসাবে একটি BRD4166A এবং সম্পূর্ণ থ্রেড ডিভাইস হিসাবে দুটি BRD4168A ব্যবহার করে।
- EFR32MG12 (BRD 4161A , BRD 4166A , BRD 4170A , BRD 4304 A)
- EFR32MG13 (BRD 4168A )
- EFR32MG21 (BRD 4180A , BRD 4180B )
- BRD4001A: রেডিও বোর্ড হোস্ট করার জন্য ওয়্যারলেস স্টার্টার প্রধান বোর্ড (WSTK)। BRD4166A ব্যতীত, সমস্ত রেডিও বোর্ডের প্রতিটিতে একটি স্টার্টার প্রধান বোর্ড প্রয়োজন। BRD4166A-এর জন্য প্রধান বোর্ড বা মাইক্রো USB কেবল সংযোগ এবং পাওয়ার জন্য মিনি ইউএসবি কেবল।
- একটি রাস্পবেরি পাই 3B+ বা তার চেয়ে বেশি রাস্পবিয়ান স্ট্রেচ লাইট ওএস ইমেজ বা ডেস্কটপের সাথে রাস্পবিয়ান স্ট্রেচ যা ইথারনেটের মাধ্যমে ইন্টারনেটের সাথে সংযুক্ত। আমরা এটিকে OT বর্ডার রাউটার হিসেবে কনফিগার করি।
- কমপক্ষে 2টি ইউএসবি পোর্ট এবং একটি ইন্টারনেট সংযোগ সহ একটি উইন্ডোজ/লিনাক্স/ম্যাক হোস্ট সিস্টেম। SSv5 এ হার্ডওয়্যার এবং ওএস প্রয়োজনীয়তা পরীক্ষা করুন।
- রাস্পবেরি পাইকে ইন্টারনেটে সংযুক্ত করার জন্য কমপক্ষে একটি ইথারনেট তার। WSTK গুলি আইপি-তে ডিবাগ এবং ফ্ল্যাশিংকেও সমর্থন করে তাই, ঐচ্ছিকভাবে, অতিরিক্ত ইথারনেট কেবলগুলি একটি ইথারনেট সুইচের মাধ্যমে আপনার হোস্ট সিস্টেমের সাথে WSTK সংযোগ করতে ব্যবহার করা যেতে পারে।
সফটওয়্যার:
- Windows/Linux/Mac হোস্ট সিস্টেমে সরলতা স্টুডিও v5 ইনস্টল এবং আপডেট করা হয়েছে
- GNU ARM টুলচেইন
- Gecko SDK Suite 3.2.0 বা তার পরবর্তী এবং Silicon Labs OpenThread SDK।
3. হার্ডওয়্যার সেট আপ
এই কোডল্যাবটি ব্যবহার করে তৈরি করা হয়েছে
- বাম দিকে দেখানো হিসাবে EFR32MG12 BRD4166A থান্ডারবোর্ড সেন্স 2 ।
- ডানদিকে দেখানো হিসাবে দুটি EFR32MG13 BRD4168A ।
- Simplicity Studio v5 একটি macOS Catalina 10.15.7-এ ইনস্টল করা হয়েছে
- Gecko SDK 3.2.0
- GNU ARM v7.2.1
প্রতিটি ওয়্যারলেস স্টার্টার কিট প্রধান বোর্ডকে হোস্ট কম্পিউটারের সাথে ইউএসবি দ্বারা সংযুক্ত করুন যেমন নীচের ছবিতে দেখানো হয়েছে। এই সংযোগগুলি RCP এবং শেষ ডিভাইসগুলির প্রোগ্রামিং এবং নেটওয়ার্ক বিশ্লেষণের অনুমতি দেবে। আমরা প্রথমে হোস্ট কম্পিউটারটি ব্যবহার করব BRD4166A কে ot-rcp ফার্মওয়্যারের সাথে প্রোগ্রাম করতে এবং অবশেষে এটিকে রাস্পবেরি পাইয়ের সাথে সংযুক্ত করব। ঐচ্ছিকভাবে, শেষ ডিভাইসগুলি একটি সাধারণ ইথারনেট সুইচের মাধ্যমে হোস্ট কম্পিউটারের সাথে সংযুক্ত হতে পারে। স্টার্টার কিটগুলি IPv4 এর মাধ্যমে প্রোগ্রামিং এবং নেটওয়ার্ক বিশ্লেষণকেও সমর্থন করে।
4. ফার্মওয়্যার সেট আপ
শুরু করার দুটি উপায় আছে। উভয় বিকল্প আপনাকে এই কোডল্যাবের জন্য প্রয়োজনীয় ফার্মওয়্যার ফ্ল্যাশ করতে দেয়।
- প্রকল্পগুলি: (প্রস্তাবিত) একটি নমুনা অ্যাপ্লিকেশন তৈরি করুন, তৈরি করুন এবং ফ্ল্যাশ করুন৷ এই বিকল্পটি আপনাকে প্রজেক্টে অ্যাপ্লিকেশনটি কাস্টমাইজ করতে দেয়
- ডেমো: (ঐচ্ছিক) যেকোন নমুনা অ্যাপ্লিকেশনের জন্য সরাসরি রেডিও বোর্ডে প্রি-বিল্ট ডেমো ফ্ল্যাশ করুন। ব্যবহারকারীদের একটি ঐচ্ছিক ব্যায়াম হিসাবে Demos ফার্মওয়্যার সেট আপ চেষ্টা করার জন্য উত্সাহিত করা হয়. বিস্তারিত জানার জন্য দয়া করে এই কোডল্যাবের শেষে "ঐচ্ছিক ফার্মওয়্যার সেট আপ - ডেমো" বিভাগটি দেখুন।
আমরা এই কোডল্যাবের জন্য প্রকল্প ভিত্তিক পদ্ধতি ব্যবহার করব।
উদাহরণ ব্যবহার করে প্রকল্প তৈরি করুন
আমরা দুটি প্রকল্প তৈরি করব। BRD4166A-এর জন্য ot-rcp
প্রকল্প এবং BRD4168A দুটির জন্য ot-cli-ftd
প্রকল্প। অনুগ্রহ করে এই পদক্ষেপগুলি অনুসরণ করুন এবং আপনার বোর্ডের জন্য উপযুক্ত নমুনা অ্যাপ্লিকেশন নির্বাচন করুন৷
- স্টুডিওর ফাইল মেনু খুলুন এবং নতুন > সিলিকন ল্যাবস প্রজেক্ট উইজার্ড নির্বাচন করুন। টার্গেট, SDK, এবং টুলচেন নির্বাচন ডায়ালগ খোলে। OpenThread দ্বারা সমর্থিত ডিফল্ট সরলতা IDE/GNU টুলচেন পরিবর্তন করবেন না। পরবর্তী ক্লিক করুন .
- টার্গেট বোর্ড: প্রধান বোর্ড (BRD4001A) সহ নির্বাচিত রেডিও বোর্ড (BRD4168A) দেখায়
- টার্গেট ডিভাইস: এই ক্ষেত্রটি অনবোর্ডে মাইক্রোকন্ট্রোলার চিপ (MCU) দেখায়। BRD4168A তে একটি EFR32MG13 MCU অনবোর্ড আছে।
- SDK: এখানে আপনি OT এর SDK সংস্করণ নির্বাচন করতে পারেন যার সাথে আপনি কাজ করছেন৷ স্যুট তথ্যের মধ্যে রয়েছে SDK ট্যাগ এবং OpenThread-এর সিলিকন ল্যাবস বিল্ড, উদাহরণস্বরূপ
Platform 4.0.1.0
এবংOpenThread 2.0.1.0 (GitHub-55af6ce2c)
। - IDE/ Toolchain: টুলচেন যা OT প্রজেক্ট কম্পাইল করার জন্য ব্যবহার করা হবে। আমরা GNU ARM ব্যবহার করি।
- উদাহরণ প্রকল্প নির্বাচন ডায়ালগ খোলে। আপনি উদাহরণ প্রকল্পের একটি তালিকা লক্ষ্য করবেন। একটি নির্দিষ্ট উদাহরণ অনুসন্ধান করতে থ্রেড প্রযুক্তির ধরন এবং কীওয়ার্ড ফিল্টার ব্যবহার করুন। Gecko SDK Suite সংস্করণ নম্বরটি নোট করতে ভুলবেন না। আপনি যখন রাস্পবেরি পাই একটি বর্ডার রাউটার হিসাবে সেট আপ করবেন তখন আপনার এই সংস্করণ ট্যাগের প্রয়োজন হবে৷ ot-cli-ftd নির্বাচন করুন, তারপর পরবর্তী ক্লিক করুন।
- প্রজেক্ট কনফিগারেশন ডায়ালগ খোলে। এখানে আপনি আপনার প্রকল্পের নাম পরিবর্তন করতে পারেন, ডিফল্ট প্রকল্প ফাইলের অবস্থান পরিবর্তন করতে পারেন এবং আপনি প্রকল্প ফাইলগুলির সাথে লিঙ্ক বা অনুলিপি করবেন কিনা তা নির্ধারণ করতে পারেন। লিঙ্ক করা প্রজেক্ট ফাইলগুলি SDK-এর দিকে নির্দেশ করে এবং আপনি যে কোনও পরিবর্তন করেন তা শেষ পর্যন্ত SDK-তে তৈরি হয় এবং ভবিষ্যতের প্রকল্পগুলির জন্য ব্যবহার করা হয়। প্রকল্পের উত্সগুলি অনুলিপি করা, আপনাকে একটি প্রকল্প-স্থানীয় অনুলিপি সম্পাদনা করতে দেয় যাতে SDK ফাইলগুলি অক্ষত থাকে৷ ' লিঙ্ক sdk এবং কপি প্রকল্প উত্স ' হল ডিফল্ট এবং প্রস্তাবিত পছন্দ। FINISH এ ক্লিক করুন।
- সরলতা IDE দৃষ্টিকোণটি ওভারভিউ ট্যাবে খোলা প্রজেক্ট কনফিগারারের সাথে খোলে।
প্রকল্পটি সফ্টওয়্যার উপাদান ট্যাব থেকে উপাদানগুলি ইনস্টল এবং আনইনস্টল করে এবং ইনস্টল করা উপাদানগুলি কনফিগার করে কনফিগার করা হয়েছে৷ ইনস্টল করা উপাদান চেক করা হয়. উদাহরণ অ্যাপ্লিকেশন দ্বারা ইনস্টল করা উপাদানগুলির একটি ফিল্টার করা তালিকা দেখতে ইনস্টল করা উপাদানগুলিতে ক্লিক করুন। আপনার করা যেকোনো পরিবর্তন স্বয়ংক্রিয়ভাবে সংরক্ষিত হয় এবং প্রকল্প ফাইলগুলি স্বয়ংক্রিয়ভাবে তৈরি হয়। সরলতা IDE দৃষ্টিকোণটির নীচের ডানদিকে অগ্রগতি দেখানো হয়েছে৷
এই ডেমোর জন্য আমরা নমুনা অ্যাপ্লিকেশনগুলির ডিফল্ট কনফিগারেশন ব্যবহার করতে যাচ্ছি। আপনার অন্য বোর্ডের জন্য ot-rcp
প্রকল্প তৈরি করতে উপরের ধাপগুলি পুনরাবৃত্তি করুন।
প্রকল্পগুলি তৈরি করুন এবং ফ্ল্যাশ করুন
ot-rcp
-আরসিপি এবং ot-cli-ftd
প্রকল্পই তৈরি এবং ফ্ল্যাশ করুন।
- আপনার প্রজেক্ট কনফিগার হওয়ার পর, উপরের টুল বারে বিল্ড কন্ট্রোল (হাতুড়ি আইকন) এ ক্লিক করুন। বিকল্পভাবে আপনি প্রকল্পে ডান ক্লিক করতে পারেন এবং প্রকল্প নির্মাণে ক্লিক করতে পারেন।
- কনসোলে অগ্রগতি এবং নীচের ডানদিকে একটি অগ্রগতি বার প্রদর্শিত হয়। আপনার প্রকল্পের সাথে সম্পর্কিত কোনো ত্রুটি বা সতর্কতাও এই আউটপুট উইন্ডোতে প্রদর্শিত হবে।
- একটি সফল প্রকল্প নির্মাণের পরে বাইনারি চিত্রগুলি তৈরি করা হয়। আপনি প্রজেক্ট এক্সপ্লোরার ভিউ থেকে বাইনারি ইমেজ ফ্ল্যাশ করতে পারেন। কম্পাইলার সাবডিরেক্টরিতে .bin, .hex বা .s37 ফাইলটি সনাক্ত করুন। ফাইলটিতে ডান-ক্লিক করুন এবং ফ্ল্যাশ টু ডিভাইস নির্বাচন করুন। আপনার যদি একাধিক ডিভাইস সংযুক্ত থাকে তবে প্রোগ্রামের জন্য একটি ডিভাইস নির্বাচন করুন, ঠিক আছে ক্লিক করুন। ফ্ল্যাশ প্রোগ্রামার ফাইল পাথ পপুলেট দিয়ে খোলে। প্রোগ্রামে ক্লিক করুন।
5. ফার্মওয়্যার সেট আপ সারাংশ
এই মুহুর্তে আপনার রেডিও বোর্ডগুলিতে উপযুক্ত ফার্মওয়্যার তৈরি, কম্পাইল এবং ফ্ল্যাশ করা উচিত ছিল। একবার ot-rcp
BRD4166A তে ফ্ল্যাশ করা হলে, এটি হোস্ট সিস্টেম থেকে সংযোগ বিচ্ছিন্ন করুন এবং এই বোর্ডটিকে Raspberry Pi এর সাথে সংযুক্ত করুন।
এই বিভাগটি সম্পূর্ণ করার পরে, আপনার থ্রেড নেটওয়ার্ক হার্ডওয়্যার সেট আপ এর মতো দেখাবে।
6. ot-cli-ftd ডিভাইসের জন্য সিরিয়াল কনসোল সেট আপ করুন
কনসোল ইন্টারফেস চালু করতে, ডিভাইস ভিউ/ডিবাগ অ্যাডাপ্টার উইন্ডোতে আপনার জে-লিঙ্ক ডিভাইসে সরলতা IDE পরিপ্রেক্ষিতে ডান-ক্লিক করুন । লঞ্চ কনসোল নির্বাচন করুন। কনসোলে একটি প্রম্পট পেতে, সিরিয়াল 1 ট্যাব নির্বাচন করুন এবং এন্টার টিপুন । FTD নোডের অবস্থা পরীক্ষা করুন।
আপনি লক্ষ্য করবেন যে আমাদের কাছে এখনও ot-rcp
এর জন্য একটি কনসোল নেই। পরবর্তী ধাপে আমরা রাস্পবেরি পাইকে একটি OT বর্ডার রাউটার হিসেবে কনফিগার করব এবং ot-rcp
এর জন্য কনসোল সেট আপ করব।
7. একটি বর্ডার রাউটার হিসাবে রাস্পবেরি পাই সেট আপ করুন
সিলিকন ল্যাবস OTBR এর সাথে কোম্পানির ডকার কন্টেইনার স্থাপনের সুপারিশ করে। একটি পাত্রে OTBR চালানো সহজে স্থাপনযোগ্য শিল্পকর্ম এবং দ্রুত বিকাশের প্রোটোটাইপিং এবং পরীক্ষার জন্য অনুমতি দেয়।
সিলিকন ল্যাবস OTBR ছবিগুলি ট্যাগ সহ siliconlabsinc DockerHub- এ হোস্ট করা হয়৷ প্রতিটি ট্যাগ একটি GSDK সংস্করণের সাথে মিলে যায়:
https://hub.docker.com/r/siliconlabsinc/openthread-border-router/tags
প্রদত্ত রিলিজের জন্য সিম্পলিসিটি স্টুডিও 5 ব্যবহার করে নির্মিত RCP-এর সাথে ডকার কন্টেইনার অবশ্যই ব্যবহার করতে হবে। আপনি যে জিএসডিকে সংস্করণটি পরীক্ষা করছেন তার সাথে একটি কন্টেইনার ট্যাগ সংস্করণের সাথে মিল রয়েছে তা নিশ্চিত করুন৷ উদাহরণস্বরূপ, যদি আপনার GDSK সংস্করণটি Gecko SDK Suite v4.0.1 (140)
হয় যখন আপনি উদাহরণ প্রকল্প নির্বাচন উইন্ডো থেকে ot-rcp
নির্বাচন করেন, তাহলে siliconlabsinc/openthread-border-router:gsdk-4.0.1
চিত্রটি ব্যবহার করুন।
রাস্পবেরি পাই সেট আপ
- আপনার এসডি কার্ডে, আপনি ডেস্কটপের সাথে রাস্পবিয়ান স্ট্রেচ লাইট ওএস ইমেজ বা রাস্পবিয়ান স্ট্রেচ ফ্ল্যাশ করেছেন তা নিশ্চিত করুন।
- আপনি হয় রাস্পবেরি পাইতে SSH করতে পারেন বা সরাসরি রাস্পবিয়ান ডেস্কটপের সাথে কাজ করতে বেছে নিতে পারেন। একটি টার্মিনাল খুলুন।
- আপনার স্থানীয় সংগ্রহস্থল এবং প্যাকেজ ম্যানেজার আপডেট করতে ভুলবেন না (ডকার ইনস্টল করার আগে apt-get update এবং apt-get upgrade )।
ডকার ইমেজ ইনস্টল করুন
- আপনার RPi-তে নিম্নলিখিত কমান্ড দিয়ে ডকার ইনস্টল করুন।
curl -sSL https://get.docker.com | sh
- একবার শেষ হয়ে গেলে, আপনি প্রতিটি কমান্ডের আগে সুডোর প্রয়োজন না করার জন্য ডকার ব্যবহারকারী সেটিংস পরিবর্তন করতে পারেন। রিবুট প্রয়োজন।
sudo usermod -aG docker $USER
- পাত্রে ইনস্টল করার জন্য নিম্নলিখিত কমান্ড ইস্যু করুন। মনে রাখবেন যে আপনার RCP এর সাথে একবারে শুধুমাত্র একটি বর্ডার রাউটার কন্টেইনার চলতে পারে। এছাড়াও, সঠিক ডকার ইমেজের সাথে আপনার সরলতা স্টুডিও জিএসডিকে সংস্করণটি মেলে তা নিশ্চিত করুন। উদাহরণস্বরূপ,
gsdk-4.0.1
:docker pull siliconlabsinc/openthread-border-router:gsdk-4.0.1
কনফিগার করুন এবং ডকার চালান
- স্টার্টআপে আপনার RCP সংযোগ করতে OTBR-এর জন্য আপনি যে TTY পোর্ট ব্যবহার করতে চান সেটি কনফিগার করতে হবে। আপনার RCP ডিভাইসের TTY পোর্ট খুঁজুন। এটি করার সবচেয়ে সহজ উপায় হল RCP কানেক্ট হয়ে গেলে একটি
/tty/dev
... এন্ট্রি খোঁজা। এটি সাধারণত /dev/ttyUSB0 বা/dev/ttyACM0
/dev/ttyUSB0
হওয়া উচিত। - নিম্নলিখিত কমান্ড দিয়ে আপনার ডকার ইনস্টলেশন চালান। আপনার ডকার ছবির নামটি মিলে যাওয়া GSDK সংস্করণের সাথে প্রতিস্থাপন করা নিশ্চিত করুন। উদাহরণস্বরূপ,
gsdk-4.0.1
:docker run -d --name "otbr" \ --sysctl "net.ipv6.conf.all.disable_ipv6=0 net.ipv4.conf.all.forwarding=1 net.ipv6.conf.all.forwarding=1" \ -p 8080:80 --dns=127.0.0.1 -it \ --volume /dev/ttyACM0:/dev/ttyACM0 \ --privileged siliconlabsinc/openthread-border-router:gsdk-4.0.1 \ --radio-url spinel+hdlc+uart:///dev/ttyACM0?uart-baudrate=460800 \ --backbone-interface eth0
-
-d
নিশ্চিত করে যে ধারকটি বিচ্ছিন্ন মোডে চলে। - আপনি
docker logs
কমান্ড ব্যবহার করে যে কোনও সময় কন্টেইনারের জন্য চলমান লগগুলি দেখতে পারেন। -
--name
স্টিকি থাকে যতক্ষণ না ডকার কন্টেইনার সঠিকভাবে বন্ধ (বা সরানো) হয়। - পোর্ট 8080 বর্ডার রাউটার ম্যানেজমেন্ট ওয়েবপেজ হোস্ট করা ওয়েব সার্ভারের পোর্ট নির্দেশ করে।
-
?uart-baudrate=460800
রেডিও ইউআরএল বিকল্পগুলিতে প্রয়োজন হয় UART-তে ফ্র্যাগমেন্টেশন/পুনঃসংযোজন সংক্রান্ত সমস্যাগুলি, দীর্ঘ IPv6 প্যাকেট সহ DTLS-এর মতো ব্যয়বহুল অপারেশনগুলির সাথে।
-
RCP নোডের সাথে ইন্টারঅ্যাক্ট করুন
একবার ডকার চালু হলে, আপনি এই কমান্ডটি ব্যবহার করে একটি ইন্টারেক্টিভ শেলের মাধ্যমে RCP নোডের সাথে যোগাযোগ করতে পারেন। RCP নোডের অবস্থা পরীক্ষা করুন।
$ docker exec -ti otbr sh -c "sudo ot-ctl" > state disabled Done
আপনি চলমান কন্টেইনার আইডিগুলির একটি তালিকা পেতে পারেন
$ docker ps -aq
আপনি বর্ডার রাউটারের লগ আউটপুট চালানোর জন্য ওটিবিআর ডকার কন্টেইনারে চলমান উইন্ডোটি পরীক্ষা করতে পারেন বা নিম্নরূপ কন্টেইনার লগ অনুসরণ করতে পারেন:
$ docker logs [container-id] -f
ঐচ্ছিকভাবে, ডকার কন্টেইনারটি সঠিকভাবে লোড করা থাকলে আপনি আপনার ছবিটি থামাতে, অপসারণ করতে বা মেরে ফেলতে পারেন।
$ docker stop otbr
$ docker rm otbr
$ docker kill otbr
ঐচ্ছিক: শেল থেকে প্রস্থান করতে CNTL + C ব্যবহার করুন।
এই মুহুর্তে, আপনার 3 টি কনসোল থাকা উচিত।
- সিম্পলিসিটি স্টুডিওতে দুটি
ot-cli-ftd
কনসোল যা সম্পূর্ণ থ্রেড ডিভাইস হিসাবে সেট আপ করা হয়েছে। - রাস্পবেরি পাইতে একটি
ot-ctl
ইন্টারেক্টিভ শেল যা একটি ওটি বর্ডার রাউটার হিসাবে সেট আপ করা হয়েছে।
এখন আমরা একটি থ্রেড নেটওয়ার্ক তৈরি করছি।
8. একটি থ্রেড নেটওয়ার্ক তৈরি করুন
RCP সেট আপ করুন
নেটওয়ার্ক তৈরি করতে, আমরা OTBR-এ ot-ctl
শেল দিয়ে শুরু করি যা RCP নোডের সাথে যোগাযোগ করতে ব্যবহৃত হয়। নীচে দেখানো ক্রম অনুসারে নিম্নলিখিত কমান্ডগুলি লিখুন:
সূচক | আদেশ | কমান্ডের বিবরণ | প্রত্যাশিত প্রতিক্রিয়া | ||
1 | | একটি নতুন নেটওয়ার্ক কনফিগারেশন তৈরি করুন। | সম্পন্ন | ||
2 | | সক্রিয় অপারেশনাল ডেটাসেটে নতুন ডেটাসেট কমিট করুন। | সম্পন্ন | ||
3 | | থ্রেড ইন্টারফেস সক্ষম করুন। | সম্পন্ন | ||
4 | | থ্রেড প্রোটোকল অপারেশন সক্রিয় এবং সংযুক্ত করুন। | সম্পন্ন | ||
থ্রেড ইন্টারফেস আপ হওয়ার জন্য 10 সেকেন্ড অপেক্ষা করুন। | |||||
5 | | ডিভাইসের অবস্থা পরীক্ষা করুন। এটা নেতা হওয়া উচিত. | নেতা | ||
6 | | নেটওয়ার্ক কনফিগারেশন দেখুন। | সক্রিয় টাইমস্ট্যাম্প: 1 |
এই থ্রেড নেটওয়ার্কে দুটি FTD-এর সাথে যোগ দিতে আমরা ot-cli-ftd
এ চ্যানেল নম্বর এবং নেটওয়ার্ক কী ব্যবহার করব।
আমাদের থ্রেড নেটওয়ার্কে FTD সেট আপ করুন এবং যোগ করুন (ব্যান্ড পদ্ধতির বাইরে)
আউট-অফ-ব্যান্ড পদ্ধতিতে, আমরা সমস্ত নিরাপত্তা তথ্য জানি এবং নোডটি ম্যানুয়ালি যোগ করি। সরলতা কনসোলগুলিতে নীচের দেখানো ক্রমে নিম্নলিখিত কমান্ডগুলি ব্যবহার করে আমাদের নেটওয়ার্কে উভয় FTD যুক্ত করুন৷
সূচক | আদেশ | কমান্ডের বিবরণ | প্রত্যাশিত প্রতিক্রিয়া | ||
1 | | OTBR দ্বারা ব্যবহৃত চ্যানেল সেট করুন। | সম্পন্ন | ||
2 | | একটি থ্রেড নেটওয়ার্কের সাথে সংযুক্ত করার জন্য একটি ডিভাইসের জন্য শুধুমাত্র নেটওয়ার্ক কী প্রয়োজন। | সম্পন্ন | ||
3 | | সক্রিয় অপারেশনাল ডেটাসেটে নতুন ডেটাসেট কমিট করুন। | সম্পন্ন | ||
4 | | থ্রেড ইন্টারফেস সক্ষম করুন। | সম্পন্ন | ||
5 | | থ্রেড প্রোটোকল অপারেশন সক্রিয় এবং সংযুক্ত করুন। | সম্পন্ন | ||
20 সেকেন্ড অপেক্ষা করুন যখন ডিভাইসটি যোগ দেয় এবং নিজেকে কনফিগার করে। | |||||
6 | | নেটওয়ার্ক কনফিগারেশন দেখুন। | শিশু |
থ্রেড ডিভাইসের মধ্যে যোগাযোগ
ডিভাইসগুলি একে অপরের সাথে যোগাযোগ করতে পারে কিনা তা পরীক্ষা করতে আমরা ping
কমান্ড ব্যবহার করব। পিং কমান্ড ব্যবহার করতে আমাদের ডিভাইসের IPv6 ঠিকানা প্রয়োজন। এগুলি ipaddr
কমান্ড ব্যবহার করে প্রাপ্ত করা যেতে পারে।
> ipaddr fd5c:c6b:3a17:40b9:0:ff:fe00:fc00 # Leader Anycast Locator (ALOC) fd5c:c6b:3a17:40b9:0:ff:fe00:1800 # Routing Locator (RLOC) fd5c:c6b:3a17:40b9:84e2:bae8:bd5b:fa03 # Mesh-Local EID (ML-EID) fe80:0:0:0:c449:ca4a:101f:5d16 # Link-Local Address (LLA)
উভয় FTD থেকে OTBR-এর RLOC ঠিকানা ব্যবহার করে OTBR-কে পিং করুন৷
> ping fd5c:c6b:3a17:40b9:0:ff:fe00:1800 Done > > 16 bytes from fd5c:c6b:3a17:40b9:0:ff:fe00:1800: icmp_seq=3 hlim=64 time=30ms 16 bytes from fd5c:c6b:3a17:40b9:0:ff:fe00:1800: icmp_seq=3 hlim=64 time=52ms
প্রতিক্রিয়া প্রাপ্ত পেলোড নির্দেশ করে এবং যোগাযোগ সফল হয়েছে। OTBR থেকে FTDs পিং করার প্রক্রিয়াটি পুনরাবৃত্তি করুন।
9. অভিনন্দন
আপনি একটি থ্রেড নেটওয়ার্ক তৈরি করেছেন!
আপনি এখন জানেন:
- সিলিকন ল্যাবস সিম্পলিসিটি স্টুডিও আইডিই ব্যবহার করে কীভাবে একটি ওপেনথ্রেড প্রকল্প তৈরি করবেন।
- সিলিকন ল্যাব রেডিও বোর্ডে ওপেনথ্রেড সিএলআই বাইনারিগুলি কীভাবে তৈরি এবং ফ্ল্যাশ করবেন।
- ডকার ব্যবহার করে ওপেন থ্রেড বর্ডার রাউটার (OTBR) হিসাবে কীভাবে রাস্পবেরি পাই 3B+ বা তার বেশি সেট আপ করবেন।
- কিভাবে OTBR এ একটি থ্রেড নেটওয়ার্ক তৈরি করবেন।
- একটি থ্রেড নেটওয়ার্কে ডিভাইসের ব্যান্ড কমিশনিং আউট.
- পিং কমান্ড ব্যবহার করে নোডগুলির মধ্যে থ্রেড যোগাযোগ কীভাবে যাচাই করবেন।
আরও পড়া
Openthread.io এবং GitHub বিভিন্ন OpenThread সম্পদের জন্য দেখুন, যার মধ্যে রয়েছে:
- সমর্থিত প্ল্যাটফর্ম - OpenThread সমর্থন করে এমন সমস্ত প্ল্যাটফর্ম আবিষ্কার করুন
- OpenThread তৈরি করুন — OpenThread নির্মাণ এবং কনফিগার করার আরও বিশদ বিবরণ
- থ্রেড প্রাইমার — এই কোডল্যাবে বৈশিষ্ট্যযুক্ত সমস্ত থ্রেড ধারণা কভার করে
- সিলিকন ল্যাবস ওপেনথ্রেড ট্রেনিং — ওপেন থ্রেডের একটি ভূমিকা, কমিশনিং এবং বর্ডার রাউটার নিয়ে আলোচনা করে এবং একটি ওপেন থ্রেড নেটওয়ার্ক তৈরি করার একটি হ্যান্ড-অন ব্যায়াম।
- QSG170: সিলিকন ল্যাবস ওপেনথ্রেড কুইক-স্টার্ট গাইড — সিলিকন ল্যাবস থ্রেড ডেভেলপমেন্ট শুরু করার প্রক্রিয়াটি বিস্তারিতভাবে কভার করে
- AN1256: OpenThread বর্ডার রাউটারের সাথে সিলিকন ল্যাবস RCP ব্যবহার করা — রাস্পবেরি পাই বর্ডার রাউটার হোস্টের জন্য নির্মাণ এবং ইনস্টলেশন নির্দেশাবলী
10. ঐচ্ছিক ফার্মওয়্যার সেট আপ - ডেমো
ডেমো হল প্রি-বিল্ট ফার্মওয়্যার ইমেজ যা একটি সামঞ্জস্যপূর্ণ ডিভাইসে ডাউনলোড করার জন্য প্রস্তুত। সরলতা স্টুডিওতে আপনার অংশের জন্য একটি ডেমো উপলব্ধ কিনা তা খুঁজে বের করার দ্রুততম উপায় হল ডিবাগ অ্যাডাপ্টার ভিউয়ের অধীনে আপনার অংশে ক্লিক করা এবং তারপরে লঞ্চার দৃষ্টিকোণে উদাহরণ প্রকল্প এবং ডেমোস ট্যাবে নেভিগেট করা৷ উদাহরণ প্রকল্প ফিল্টার নিষ্ক্রিয় করুন এবং প্রযুক্তি প্রকারের অধীনে থ্রেড রেডিও চেকবক্সটি চেক করুন।
OpenThread SDK এর সাথে প্রদত্ত প্রি-কম্পাইল করা ডেমো অ্যাপ্লিকেশন ইমেজগুলি নিম্নলিখিত বোর্ডগুলির সাথে সামঞ্জস্যপূর্ণ:
- BRD4161a
- BRD4166a
- BRD4168a
- BRD4180a
- BRD4304a
আরও রেডিও বোর্ড অন্তর্ভুক্ত করার জন্য এই তালিকাটি ভবিষ্যতে SDK প্রকাশগুলিতে আপডেট করা হতে পারে৷ সমর্থিত অংশগুলির সম্পূর্ণ তালিকার জন্য অনুগ্রহ করে ডকুমেন্টেশনের অধীনে সিলিকন ল্যাবস ওপেন থ্রেড SDK রিলিজ নোটগুলি পড়ুন৷
নিজ নিজ বোর্ডে নিম্নলিখিত ডেমো ফ্ল্যাশ করুন। ফ্ল্যাশ করতে, বাম দিকে ডিবাগ অ্যাডাপ্টারের অধীনে আপনার বোর্ড নির্বাচন করুন এবং সংশ্লিষ্ট নমুনা অ্যাপ্লিকেশনগুলির জন্য RUN এ ক্লিক করুন। একটি পপ আপ উইন্ডো ফ্ল্যাশ অগ্রগতি দেখাবে।
- BRD4166A: ot-rcp — এই ডিভাইসটি OT বর্ডার রাউটারের রেডিও কো প্রসেসর হিসেবে কাজ করবে। আমরা এই ডিভাইসটি একটি থ্রেড নেটওয়ার্ক তৈরি করতে এবং থ্রেড নেটওয়ার্কের অন্য দুটি ডিভাইসে অনবোর্ড করতে ব্যবহার করব। বর্ডার রাউটার হওয়ার কারণে এই ডিভাইসটি থ্রেড নেটওয়ার্কের ডিভাইসগুলির জন্য ইন্টারনেটের মাধ্যমে যোগাযোগের জন্য একটি গেটওয়ে হিসেবে কাজ করে।
- দুটি BRD4168A: ot-cli-ftd — এই দুটি ডিভাইস সম্পূর্ণ থ্রেড ডিভাইস হিসেবে কাজ করবে। তারা OTBR দ্বারা তৈরি থ্রেড নেটওয়ার্কে যোগদান করবে।