
কমিশনিংয়ের জন্য কমিশনার ভূমিকা সহ একটি ডিভাইস এবং যোগদানকারী ভূমিকা সহ একটি ডিভাইসের প্রয়োজন হয়। কমিশনার হলো একটি বিদ্যমান থ্রেড নেটওয়ার্কের একটি থ্রেড ডিভাইস, অথবা থ্রেড নেটওয়ার্কের বাইরের এমন একটি ডিভাইস (যেমন একটি মোবাইল ফোন) যা কমিশনারের ভূমিকা পালন করে। যোগদানকারী হলো সেই ডিভাইস যা থ্রেড নেটওয়ার্কে যোগদান করতে ইচ্ছুক।
একটি থ্রেড কমিশনার নেটওয়ার্কে কোনো ডিভাইসকে প্রমাণীকরণের জন্য ব্যবহৃত হয়। এটি নেটওয়ার্ক কী-এর মতো থ্রেড নেটওয়ার্ক ক্রেডেনশিয়াল হস্তান্তর করে না বা সেগুলোর দখল নেয় না।
এই নির্দেশিকাটি কোনো বাহ্যিক কমিশনার বা বর্ডার রাউটার ছাড়াই বেসিক, অন-মেশ কমিশনিং নিয়ে আলোচনা করে। কীভাবে একটি বাহ্যিক কমিশনার ব্যবহার করতে হয় তা জানতে, এক্সটার্নাল থ্রেড কমিশনিং দেখুন।
ভার্চুয়াল ডিভাইস ব্যবহার করে কমিশনিং-এর একটি উদাহরণের জন্য ওপেনথ্রেড সিমুলেশন কোডল্যাব দেখুন।
ভূমিকাগুলি সক্ষম করুন
কমিশনার এবং জয়নার রোলগুলো সক্রিয় করতে, নিম্নলিখিত cmake অপশনগুলো ব্যবহার করুন:
| বিকল্প | বর্ণনা |
|---|---|
-DOT_COMMISSIONER=ON | কমিশনারের ভূমিকা সক্ষম করে |
-DOT_JOINER=ON | যোগদানকারী ভূমিকা সক্ষম করে |
উদাহরণস্বরূপ, শুধুমাত্র জয়নার হিসেবে ব্যবহারের জন্য CC2538 উদাহরণ প্ল্যাটফর্মটি তৈরি করতে:
./script/build -DOT_JOINER=ON
প্রতিটি বাইনারি কাঙ্ক্ষিত ডিভাইসে ফ্ল্যাশ করুন। একটি ডিভাইস কমিশনার এবং অন্যটি জয়নার হিসেবে কাজ করে।
সমর্থিত প্ল্যাটফর্মগুলো বিল্ড ও ফ্ল্যাশ করার নির্দিষ্ট নির্দেশাবলী প্রতিটি প্ল্যাটফর্মের ওপেনথ্রেড রিপোজিটরিতে পাওয়া যাবে। রিপোজিটরিটি খুঁজে পেতে ওপেনথ্রেড গিটহাব অর্গানাইজেশন দেখুন।
একটি নেটওয়ার্ক তৈরি করুন
কমিশনার হিসেবে কাজ করা ডিভাইসটিতে একটি নেটওয়ার্ক তৈরি করুন:
dataset init newDonedatasetActive Timestamp: 1 Channel: 13 Channel Mask: 07fff800 Ext PAN ID: d63e8e3e495ebbc3 Mesh Local Prefix: fd3d:b50b:f96d:722d/64 Network Key: dfd34f0f05cad978ec4e32b0413038ff Network Name: OpenThread-8f28 PAN ID: 0x8f28 PSKc: c23a76e98f1a6483639b1ac1271e2e27 Security Policy: 0, onrcb Donedataset commit activeDoneifconfig upDonethread startDone
কয়েক সেকেন্ড অপেক্ষা করুন এবং যাচাই করুন যে ডিভাইসটি থ্রেড লিডার হয়েছে:
state
leader
Done
কমিশনারের ভূমিকা শুরু করুন
সেই একই ডিভাইসে, কমিশনারের ভূমিকা শুরু করুন:
commissioner start
Done
নির্দিষ্ট জয়নার ক্রেডেনশিয়াল সহ যেকোনো জয়নারকে নেটওয়ার্কে কমিশন করার অনুমতি দিতে * ওয়াইল্ডকার্ডটি ব্যবহার করুন। ডিভাইসের জন্য প্রি-শেয়ার্ড কী (PSKd) তৈরি করতে জয়নার ক্রেডেনশিয়ালটি (এক্সটেন্ডেড প্যান আইডি এবং নেটওয়ার্ক নেমের সাথে) ব্যবহৃত হয়। এরপর থ্রেড কমিশনিংয়ের সময় একটি ডিভাইসকে প্রমাণীকরণের জন্য PSKd ব্যবহার করা হয়। জয়নার ক্রেডেনশিয়ালটি প্রতিটি ডিভাইসের জন্য অনন্য হওয়া উচিত।
commissioner joiner add * J01NME
Done
একজন নির্দিষ্ট যোগদানকারীর মধ্যে সীমাবদ্ধ করুন
একটি নির্দিষ্ট Joiner ডিভাইসে কমিশনিং সীমাবদ্ধ করতে, eui64 প্যারামিটারটি ব্যবহার করুন, যা হলো ডিভাইসটির ফ্যাক্টরি-নির্ধারিত IEEE EUI-64।
যোগদানকারী হিসেবে ব্যবহৃত ডিভাইসটিতে EUI-64 অ্যাক্সেস করুন:
eui64
2f57d222545271f1
Done
কমিশনার ডিভাইসে commissioner joiner কমান্ডে * ওয়াইল্ডকার্ডের পরিবর্তে ঐ মানটি ব্যবহার করুন:
commissioner joiner add 2f57d222545271f1 J01NME
Done
যোগদানকারীর ভূমিকা শুরু করুন
জয়নার হিসেবে ব্যবহৃত ডিভাইসটিতে ফ্যাক্টরি রিসেট করুন, এরপর কমিশনার-এ নির্দিষ্ট করা একই জয়নার ক্রেডেনশিয়াল ব্যবহার করে জয়নার রোলটি সক্রিয় করুন:
factoryresetifconfig upDonejoiner start J01NMEDone
নিশ্চিতকরণের জন্য কয়েক সেকেন্ড অপেক্ষা করুন:
Join success!
জয়নার ডিভাইসটি কমিশনারের কাছে সফলভাবে নিজেকে প্রমাণ করেছে এবং থ্রেড নেটওয়ার্কের ক্রেডেনশিয়াল পেয়েছে।
এখন যোগদানকারী ডিভাইসে থ্রেড শুরু করুন:
thread start
Done
প্রমাণীকরণ যাচাই করুন
জয়নার ডিভাইসটি নেটওয়ার্কে যুক্ত হয়েছে কিনা তা যাচাই করতে এর অবস্থা পরীক্ষা করুন। দুই মিনিটের মধ্যে, অবস্থাটি চাইল্ড থেকে রাউটারে পরিবর্তিত হয়:
statechild Done ...staterouter Done

কমিশনিংয়ের জন্য কমিশনার ভূমিকা সহ একটি ডিভাইস এবং যোগদানকারী ভূমিকা সহ একটি ডিভাইসের প্রয়োজন হয়। কমিশনার হলো একটি বিদ্যমান থ্রেড নেটওয়ার্কের একটি থ্রেড ডিভাইস, অথবা থ্রেড নেটওয়ার্কের বাইরের এমন একটি ডিভাইস (যেমন একটি মোবাইল ফোন) যা কমিশনারের ভূমিকা পালন করে। যোগদানকারী হলো সেই ডিভাইস যা থ্রেড নেটওয়ার্কে যোগদান করতে ইচ্ছুক।
একটি থ্রেড কমিশনার নেটওয়ার্কে কোনো ডিভাইসকে প্রমাণীকরণের জন্য ব্যবহৃত হয়। এটি নেটওয়ার্ক কী-এর মতো থ্রেড নেটওয়ার্ক ক্রেডেনশিয়াল হস্তান্তর করে না বা সেগুলোর দখল নেয় না।
এই নির্দেশিকাটি কোনো বাহ্যিক কমিশনার বা বর্ডার রাউটার ছাড়াই বেসিক, অন-মেশ কমিশনিং নিয়ে আলোচনা করে। কীভাবে একটি বাহ্যিক কমিশনার ব্যবহার করতে হয় তা জানতে, এক্সটার্নাল থ্রেড কমিশনিং দেখুন।
ভার্চুয়াল ডিভাইস ব্যবহার করে কমিশনিং-এর একটি উদাহরণের জন্য ওপেনথ্রেড সিমুলেশন কোডল্যাব দেখুন।
ভূমিকাগুলি সক্ষম করুন
কমিশনার এবং জয়নার রোলগুলো সক্রিয় করতে, নিম্নলিখিত cmake অপশনগুলো ব্যবহার করুন:
| বিকল্প | বর্ণনা |
|---|---|
-DOT_COMMISSIONER=ON | কমিশনারের ভূমিকা সক্ষম করে |
-DOT_JOINER=ON | যোগদানকারী ভূমিকা সক্ষম করে |
উদাহরণস্বরূপ, শুধুমাত্র জয়নার হিসেবে ব্যবহারের জন্য CC2538 উদাহরণ প্ল্যাটফর্মটি তৈরি করতে:
./script/build -DOT_JOINER=ON
প্রতিটি বাইনারি কাঙ্ক্ষিত ডিভাইসে ফ্ল্যাশ করুন। একটি ডিভাইস কমিশনার এবং অন্যটি জয়নার হিসেবে কাজ করে।
সমর্থিত প্ল্যাটফর্মগুলো বিল্ড ও ফ্ল্যাশ করার নির্দিষ্ট নির্দেশাবলী প্রতিটি প্ল্যাটফর্মের ওপেনথ্রেড রিপোজিটরিতে পাওয়া যাবে। রিপোজিটরিটি খুঁজে পেতে ওপেনথ্রেড গিটহাব অর্গানাইজেশন দেখুন।
একটি নেটওয়ার্ক তৈরি করুন
কমিশনার হিসেবে কাজ করা ডিভাইসটিতে একটি নেটওয়ার্ক তৈরি করুন:
dataset init newDonedatasetActive Timestamp: 1 Channel: 13 Channel Mask: 07fff800 Ext PAN ID: d63e8e3e495ebbc3 Mesh Local Prefix: fd3d:b50b:f96d:722d/64 Network Key: dfd34f0f05cad978ec4e32b0413038ff Network Name: OpenThread-8f28 PAN ID: 0x8f28 PSKc: c23a76e98f1a6483639b1ac1271e2e27 Security Policy: 0, onrcb Donedataset commit activeDoneifconfig upDonethread startDone
কয়েক সেকেন্ড অপেক্ষা করুন এবং যাচাই করুন যে ডিভাইসটি থ্রেড লিডার হয়েছে:
state
leader
Done
কমিশনারের ভূমিকা শুরু করুন
সেই একই ডিভাইসে, কমিশনারের ভূমিকা শুরু করুন:
commissioner start
Done
নির্দিষ্ট জয়নার ক্রেডেনশিয়াল সহ যেকোনো জয়নারকে নেটওয়ার্কে কমিশন করার অনুমতি দিতে * ওয়াইল্ডকার্ডটি ব্যবহার করুন। ডিভাইসের জন্য প্রি-শেয়ার্ড কী (PSKd) তৈরি করতে জয়নার ক্রেডেনশিয়ালটি (এক্সটেন্ডেড প্যান আইডি এবং নেটওয়ার্ক নেমের সাথে) ব্যবহৃত হয়। এরপর থ্রেড কমিশনিংয়ের সময় একটি ডিভাইসকে প্রমাণীকরণের জন্য PSKd ব্যবহার করা হয়। জয়নার ক্রেডেনশিয়ালটি প্রতিটি ডিভাইসের জন্য অনন্য হওয়া উচিত।
commissioner joiner add * J01NME
Done
একজন নির্দিষ্ট যোগদানকারীর মধ্যে সীমাবদ্ধ করুন
একটি নির্দিষ্ট Joiner ডিভাইসে কমিশনিং সীমাবদ্ধ করতে, eui64 প্যারামিটারটি ব্যবহার করুন, যা হলো ডিভাইসটির ফ্যাক্টরি-নির্ধারিত IEEE EUI-64।
যোগদানকারী হিসেবে ব্যবহৃত ডিভাইসটিতে EUI-64 অ্যাক্সেস করুন:
eui64
2f57d222545271f1
Done
কমিশনার ডিভাইসে commissioner joiner কমান্ডে * ওয়াইল্ডকার্ডের পরিবর্তে ঐ মানটি ব্যবহার করুন:
commissioner joiner add 2f57d222545271f1 J01NME
Done
যোগদানকারীর ভূমিকা শুরু করুন
জয়নার হিসেবে ব্যবহৃত ডিভাইসটিতে ফ্যাক্টরি রিসেট করুন, এরপর কমিশনার-এ নির্দিষ্ট করা একই জয়নার ক্রেডেনশিয়াল ব্যবহার করে জয়নার রোলটি সক্রিয় করুন:
factoryresetifconfig upDonejoiner start J01NMEDone
নিশ্চিতকরণের জন্য কয়েক সেকেন্ড অপেক্ষা করুন:
Join success!
জয়নার ডিভাইসটি কমিশনারের কাছে সফলভাবে নিজেকে প্রমাণ করেছে এবং থ্রেড নেটওয়ার্কের ক্রেডেনশিয়াল পেয়েছে।
এখন যোগদানকারী ডিভাইসে থ্রেড শুরু করুন:
thread start
Done
প্রমাণীকরণ যাচাই করুন
জয়নার ডিভাইসটি নেটওয়ার্কে যুক্ত হয়েছে কিনা তা যাচাই করতে এর অবস্থা পরীক্ষা করুন। দুই মিনিটের মধ্যে, অবস্থাটি চাইল্ড থেকে রাউটারে পরিবর্তিত হয়:
statechild Done ...staterouter Done