1. ভূমিকা
থ্রেড এবং ওটিএনএস কি
থ্রেড হল একটি আইপি-ভিত্তিক লো-পাওয়ার ওয়্যারলেস মেশ নেটওয়ার্কিং প্রোটোকল যা সুরক্ষিত ডিভাইস-টু-ডিভাইস এবং ডিভাইস-টু-ক্লাউড যোগাযোগ সক্ষম করে। থ্রেড নেটওয়ার্ক ব্যর্থতার একক পয়েন্ট এড়াতে টপোলজি পরিবর্তনের সাথে খাপ খাইয়ে নিতে পারে।
Google দ্বারা প্রকাশিত OpenThread হল থ্রেডের একটি ওপেন-সোর্স বাস্তবায়ন। ছোট কোডের আকার এবং মেমরির পদচিহ্ন থাকা সত্ত্বেও, OpenThread থ্রেড স্পেসিফিকেশনে সংজ্ঞায়িত সমস্ত বৈশিষ্ট্য সমর্থন করে।
ওপেনথ্রেড নেটওয়ার্ক সিমুলেটর (OTNS) পজিক্স প্ল্যাটফর্মে সিমুলেটেড ওপেন থ্রেড নোড চালানোর মাধ্যমে থ্রেড নেটওয়ার্ক অনুকরণ করতে ব্যবহার করা যেতে পারে। OTNS একটি সহজে ব্যবহারযোগ্য ওয়েব ইন্টারফেস (OTNS-Web) প্রদান করে সিমুলেটেড থ্রেড নেটওয়ার্কগুলিকে ভিজ্যুয়ালাইজ এবং পরিচালনা করার জন্য। স্ক্রিপ্টেড সিমুলেশন (পাইথন সহ)ও সম্ভব।
আপনি কি শিখবেন
- OTNS এবং এর নির্ভরতা ইনস্টল করুন
- OTNS-CLI এর মূল বিষয়গুলো জানুন
- কিভাবে OTNS-ওয়েবে OpenThread নোড যোগ/সরানো/মুছে ফেলতে হয়
- নেটওয়ার্ক সিমুলেশন নিয়ন্ত্রণ করতে OTNS-ওয়েবের অন্যান্য দরকারী বৈশিষ্ট্যগুলি ব্যবহার করুন৷
- OpenThread-এর নো-সিঙ্গেল-পয়েন্ট-অফ-ফেইলার যাচাই করুন
- Wireshark-এ OpenThread নোডের মধ্যে ডেটা ট্র্যাফিক দেখুন
এই কোডল্যাবটি ইন্টারেক্টিভ ব্যবহারের জন্য OTNS-CLI এবং OTNS-ওয়েবের উপর দৃষ্টি নিবদ্ধ করে। OTNS এর অন্যান্য বৈশিষ্ট্য, যেমন পাইথন স্ক্রিপ্টিং, কভার করা হয় না।
আপনি কি প্রয়োজন হবে
- লিনাক্স x86_64, বা হোমব্রু সহ Mac OS। উইন্ডোজ WSL2- এ উবুন্টু 22/24ও কাজ করা উচিত তবে সেটিংসের কিছু ম্যানুয়াল টুইকিংয়ের প্রয়োজন হতে পারে।
- গিট
- ওয়েব ব্রাউজার। OTNS-ওয়েব সিমুলেশন প্রদর্শনের জন্য একটি ওয়েব ব্রাউজার ব্যবহার করে।
- থ্রেড প্রাইমার । এই কোডল্যাবে কী পড়ানো হয় তা বোঝার জন্য আপনাকে থ্রেডের প্রাথমিক ধারণাগুলি জানতে হবে।
পরিভাষা
"রাউটার" শব্দটি থ্রেড মেশ এক্সটেন্ডারের প্রযুক্তিগত শব্দ হিসাবে ব্যবহৃত হয়, যা প্রথমে থ্রেড রাউটার নামে পরিচিত ছিল। "নোড" একটি OTNS সিমুলেশনে যেকোন সিমুলেটেড OpenThread ডিভাইসকে বোঝায়।
2. ইনস্টলেশন
OTNS কোড পান
$ git clone https://github.com/openthread/ot-ns.git ./otns $ cd otns
এই কোডল্যাবের পরবর্তী সমস্ত কনসোল কমান্ডগুলি otns
ডিরেক্টরি থেকে চালানো হয়।
বুটস্ট্র্যাপ এবং ইনস্টল করুন
bootstrap
স্ক্রিপ্ট নির্ভরতা (Python3 এবং Go/Golang সহ, প্রয়োজনে) ইনস্টল করবে এবং OTNS ইনস্টল করবে। এটি বিভিন্ন OT নোড প্রকার তৈরি করে যা সরাসরি একটি সিমুলেশনে ব্যবহার করা যেতে পারে এবং এটি কিছু মৌলিক পরীক্ষা করে। নোড তৈরির কারণে, এটি কয়েক মিনিট সময় নিতে পারে।
$ ./script/bootstrap .... .... OTNS installed - use 'otns' to start it. $
আপনাকে sudo
এর জন্য একটি পাসওয়ার্ড ইনপুট করতে বলা হতে পারে।
যদি otns
সঠিকভাবে ইনস্টল করা না হয়
স্ক্রিপ্ট একটি ত্রুটি রিপোর্ট করতে পারে যেমন:
.... OTNS installed - please add ~/go/bin to your PATH variable first, to use it. $
এই ক্ষেত্রে, আপনাকে আপনার $PATH.
এ $(go env GOPATH)/bin
যোগ করতে হবে।
অন্যান্য ত্রুটির ক্ষেত্রে, একটি GitHub সমস্যা তৈরি করা যেতে পারে।
3. প্রথমবার OTNS চালান
otns
চালান:
$ otns >_ ← OTNS-CLI prompt
সফলভাবে শুরু হলে, OTNS একটি CLI কনসোলে প্রবেশ করবে ( OTNS-CLI
) এবং নেটওয়ার্ক ভিজ্যুয়ালাইজেশন এবং পরিচালনার জন্য একটি ওয়েব ব্রাউজার চালু করবে ( OTNS-Web
):
আপনি যদি OTNS-Web-এর জন্য শুধুমাত্র একটি ফাঁকা পৃষ্ঠা দেখতে পান, তাহলে আপনার ব্রাউজারে WebGL সক্ষম না হওয়ার সম্ভাবনা রয়েছে৷ WebGL কিভাবে সক্ষম করবেন তার জন্য দয়া করে https://superuser.com/a/836833 দেখুন ।
নিম্নলিখিত বিভাগে, আপনি OTNS-CLI
এবং OTNS-Web
মাধ্যমে OTNS সিমুলেশন পরিচালনা করতে শিখতে যাচ্ছেন।
4. OTNS-CLI এবং OTNS-ওয়েব জানুন
OTNS-CLI
OTNS-CLI
হল OTNS সিমুলেশন পরিচালনার জন্য কমান্ড লাইন ইন্টারফেস (CLI)।
$ otns >_ ← OTNS-CLI prompt
আপনি OTNS-CLI
এর মাধ্যমে কমান্ড টাইপ করতে পারেন। কমান্ডের সম্পূর্ণ তালিকার জন্য OTNS CLI রেফারেন্স পড়ুন। চিন্তা করবেন না, আপনি এই কোডল্যাবে শুধুমাত্র কয়েকটি কমান্ড ব্যবহার করতে যাচ্ছেন।
CLI কমান্ডের ওভারভিউয়ের জন্য help
কমান্ড টাইপ করুন। এই তালিকাটি CLI রেফারেন্সের অনুরূপ।
> help add Add a node to the simulation and get the node ID. .... .... Done >
একটি নির্দিষ্ট কমান্ডে আরও সাহায্য পেতে, কমান্ডের নাম ব্যবহার করুন, উদাহরণস্বরূপ:
> help add add Add a node to the simulation and get the node ID. Definition: .... .... >
OTNS-ওয়েব
OTNS-Web
হল OTNS এর নেটওয়ার্ক ভিজ্যুয়ালাইজেশন এবং ম্যানেজমেন্ট টুল। এটি সিমুলেটেড থ্রেড নেটওয়ার্কের নোড, বার্তা এবং লিঙ্কগুলির একটি চাক্ষুষ উপস্থাপনা প্রদান করে। OTNS-Web
এর বিভিন্ন উপাদান নোট করুন:
5. নোড যোগ করুন
OTNS-CLI এর মাধ্যমে নোড যোগ করুন
সিমুলেশনে একটি থ্রেড রাউটার যোগ করুন:
> add router 1 Done
আপনি OTNS-Web
তৈরি একটি নোড দেখতে হবে। নোডটি একটি রাউটার হিসাবে শুরু হয় এবং কয়েক সেকেন্ডের মধ্যে একটি নেতা হয়ে যায়:
ইন্টারেক্টিভভাবে সিমুলেশন শুরু করা সহজ করার জন্য, প্রতিটি নতুন OpenThread নোড ডিফল্টভাবে নেটওয়ার্ক প্যারামিটারের একটি স্ট্যান্ডার্ড সেটের সাথে চালু করা হয়।
OTNS-CLI
এর মাধ্যমে আরো নোড যোগ করুন
এখন আমরা বিভিন্ন ধরনের কিছু নোড যোগ করব।
> add fed 2 Done > add med 3 Done > add sed 4 Done
নোডগুলি একটি পার্টিশনে একত্রিত হওয়ার জন্য কয়েক সেকেন্ড অপেক্ষা করুন। আপনি OTNS-Web
এ নোড দেখতে হবে:
এছাড়াও OTNS-Web
এ, নোড সম্পর্কে আরও তথ্য সহ একটি প্যানেল পেতে নোডগুলির যেকোনো একটি নির্বাচন করা সম্ভব। উদাহরণস্বরূপ, নীচের চিত্রে নোড 1 নির্বাচন করা হয়েছে। প্যানেলে "ভূমিকা" এন্ট্রি নিশ্চিত করে যে এটি একজন নেতা।
OTNS-Web
দ্বারা নোড যোগ করুন
এছাড়াও আপনি OTNS-Web
মাধ্যমে নোড যোগ করতে পারেন। Action Bar
New Router
বোতামে ক্লিক করুন। আপনি নির্বাচিত নোডের ডানদিকে একটি নোড তৈরি করা দেখতে পাবেন। নতুন রাউটার বিদ্যমান থ্রেড পার্টিশনে যোগদান করা উচিত:
এছাড়াও এই অন্যান্য ধরনের নোড তৈরি করতে অ্যাকশন বারে FED, MED, SSED এবং BR বোতামে ক্লিক করুন। এখন মোট 9টি নোড হওয়া উচিত। আপনি যদি চান, একটি ভিন্ন শারীরিক নেটওয়ার্ক টপোলজি তৈরি করতে, কিছু নোডকে অন্য অবস্থানে টেনে আনুন।
এখন আপনি একটি পার্টিশনের একটি থ্রেড নেটওয়ার্ক তৈরি করেছেন যাতে অনেকগুলি নোড রয়েছে। পরবর্তী বিভাগে, আমরা সিমুলেশনটি দ্রুত চালানোর জন্য সিমুলেটিং গতি সামঞ্জস্য করতে যাচ্ছি।
6. গতি সামঞ্জস্য করুন
বর্তমানে, সিমুলেশনটি 1X
গতিতে চলমান হওয়া উচিত, যার অর্থ এই যে আমরা প্রথম নোড তৈরি করার পর থেকে এখন পর্যন্ত অতিবাহিত সিমুলেটিং সময়টি আসল সময়ের মতোই।
OTNS-CLI
এর মাধ্যমে গতি সামঞ্জস্য করুন
আপনি OTNS-CLI
মাধ্যমে সিমুলেটিং গতি সামঞ্জস্য করতে পারেন।
100X
এ অনুকরণ গতি সেট করুন
> speed 100 Done
আপনি দেখতে পাবেন যে নোডগুলি আগের চেয়ে অনেক বেশি ঘন ঘন বার্তা পাঠায়।
সিমুলেটিং গতি MAX
এ সেট করুন
> speed max Done
এখন, OTNS চেষ্টা করছে যত দ্রুত সম্ভব সিমুলেট করার জন্য, তাই আপনি দেখতে পাবেন যে নোডগুলি প্রচুর সংখ্যক বার্তা পাঠাচ্ছে।
সিমুলেশন পজ করুন
> speed 0 Done
সিমুলেটিং স্পিড 0
এ সেট করা সিমুলেশনকে বিরতি দেয়।
স্বাভাবিক গতিতে সিমুলেশন পুনরুদ্ধার করুন
> speed 1 Done
0
চেয়ে বড় একটি মানের সিমুলেটিং গতি সেট করা সিমুলেশন পুনরায় শুরু করে।
OTNS-Web
মাধ্যমে গতি সামঞ্জস্য করুন
গতি নিয়ন্ত্রণ বোতাম
গতি নিয়ন্ত্রণ বোতাম খুঁজুন
Action Bar
বোতামগুলি বর্তমান সিমুলেটিং গতি দেখায় এবং সিমুলেটিং গতি সামঞ্জস্য করতে এবং সিমুলেশনটি বিরতি/পুনরায় শুরু করতে ব্যবহার করা যেতে পারে।
সিমুলেশন ত্বরান্বিত করুন
আপনি ক্লিক করে সিমুলেশন গতি বাড়াতে পারেন গতি
MAX
না পৌঁছানো পর্যন্ত বোতাম: .
সিমুলেশন স্লো ডাউন
আপনি ক্লিক করে সিমুলেশন ধীর করতে পারেন বোতাম
সিমুলেশন পজ করুন
ক্লিক করুন যখন এটি চলমান হয় তখন সিমুলেশন বিরাম দিতে বোতাম। বোতাম পরিবর্তন করা হবে
.
সিমুলেশন পুনরায় শুরু করুন
ক্লিক করুন বিরাম দেওয়া হলে সিমুলেশন পুনরায় শুরু করার বোতাম। বোতামটি আবার পরিবর্তন করা হবে
.
অনুকরণ গতি 10X
এ সেট করুন
সময় বাঁচানোর জন্য, ব্যবহার করুন
OTNS-CLI
সাথে সিমুলেটিং গতি সামঞ্জস্য করতে
10X
যাতে আমরা নেটওয়ার্কে টপোলজি পরিবর্তনগুলি আরও দ্রুত পর্যবেক্ষণ করতে পারি।
> speed 10 Done
7. রেডিও চালু/বন্ধ করুন
এখন, সিমুলেশনটিতে কমপক্ষে 2টি রাউটার (ষড়ভুজ আকৃতি), সম্ভবত একটি বর্ডার রাউটার (বর্গক্ষেত্র আকৃতি) এবং অনেক শিশু থাকা উচিত এবং 10X গতিতে চলে৷
2টি রাউটারের বর্তমান লিডার (লাল সীমানা) খুঁজুন, এটি নির্বাচন করতে একক ক্লিক করুন:
রেডিও বন্ধ করুন
ক্লিক করুন লিডার নোডের রেডিও বন্ধ করতে অ্যাকশন বারে বোতাম। নেতা রেডিও বন্ধ রেখে বার্তা পাঠাতে বা গ্রহণ করতে পারবেন না।
অন্য রাউটার বা বর্ডার রাউটার নতুন নেতা হওয়ার জন্য প্রায় 12 সেকেন্ড (সিমুলেটিং টাইমে 120 সেকেন্ড) অপেক্ষা করুন:
থ্রেড নেটওয়ার্ক একটি নতুন লিডারের সাথে একটি নতুন পার্টিশন তৈরি করে স্বয়ংক্রিয়ভাবে লিডার ব্যর্থতা থেকে পুনরুদ্ধার করে। নতুন পার্টিশনে একটি নতুন পার্টিশন রঙও রয়েছে।
রেডিও চালু করুন
যে নেতার রেডিও বন্ধ ছিল তাকে নির্বাচন করুন। ক্লিক করুন রেডিও সংযোগ পুনরুদ্ধার করতে
Action Bar
বোতাম:
রেডিও সংযোগ পুনরুদ্ধার করার পরে নেতাকে নেটওয়ার্কে পুনরায় সংযুক্ত করা উচিত।
8. নোড সরান
OTNS ব্যবহারকারীদের OTNS-CLI
বা OTNS-Web
মাধ্যমে সহজেই নোডগুলি সরাতে সক্ষম করে৷
OTNS-CLI
এর মাধ্যমে নোড সরান
বর্ডার রাউটার নোড 9 একটি নতুন অবস্থানে সরান:
> move 9 50 50 Done
OTNS-ওয়েবের মাধ্যমে নোড সরান
টেনে এনে নোড 5কে নীচে ডানদিকে সরান। যেহেতু নোড 5 এখন অন্যান্য রাউটারের রেডিও কভারেজের বাইরে, এটি একটি নতুন পার্টিশন আইডি দিয়ে নিজস্ব পার্টিশন গঠন করে। নোডগুলিতে ক্লিক করে নোড তথ্য প্যানেলে পার্টিশন আইডি চেক করা যেতে পারে।
মনে রাখবেন যে নোড 5 এবং নোড 9 এর মধ্যে এখনও একটি একক সবুজ রেখা আঁকা আছে। এটি প্রায়শই একটি শিশু সম্পর্কে বাসি তথ্যের কারণে হয়, যা এখনও একজন প্রাক্তন পিতামাতার শিশু টেবিলে রাখা হয়। অথবা এটি নোড 9 এবং নোড 5-এর মধ্যে প্রাক্তন রাউটার-টু-রাউটার লিঙ্ক সম্পর্কে পুরানো তথ্য হতে পারে। (বা সম্ভবত, এই ক্ষেত্রে, এমনকি একটি রেন্ডারিং বাগ।) অবশেষে, উপযুক্ত সময় শেষ হওয়ার পরে নোডগুলিতে বাসি তথ্য পরিষ্কার করা হয়।
9. নোড মুছুন
OTNS-CLI
এর মাধ্যমে নোড মুছুন
নোড 5 মুছুন:
> del 5 Done
নোড 5 সিমুলেশন থেকে অদৃশ্য হওয়া উচিত:
OTNS-Web
মাধ্যমে নোড মুছুন
বর্ডার রাউটার নোড 9 নির্বাচন করুন এবং ক্লিক করুন নোড 9 মুছে ফেলার জন্য
Action Bar
বোতাম:
Node 1
একটি নতুন পার্টিশনের নেতা হওয়া উচিত এবং অবশিষ্ট সমস্ত নোড একটি শিশু হিসাবে নোড 1 এ সংযুক্ত হবে।
10. OTNS-CLI নোড প্রসঙ্গ
OTNS-CLI
একটি নোডের স্থিতি নির্ণয় করতে বিকাশকারীদের সাহায্য করার জন্য নোডের সাথে সহজে মিথস্ক্রিয়া করার জন্য নোড প্রসঙ্গ মোড প্রদান করে। এছাড়াও এই মোড থেকে নোড অ্যাকশন শুরু করা যেতে পারে।
নোড প্রসঙ্গ মোড লিখুন
নোড 1 এর নোড প্রসঙ্গ লিখুন:
> node 1 Done node 1>
CLI প্রম্পট node 1>
এ পরিবর্তিত হয়েছে, যা বর্তমান নোড প্রসঙ্গ নির্দেশ করে। আপনি নোডে কার্যকর করার জন্য OpenThread CLI কমান্ড টাইপ করতে পারেন যেন আপনি নোডের সাথে সরাসরি ইন্টারঅ্যাক্ট করছেন।
নোড প্রসঙ্গে কমান্ড চালান
node 1> state leader Done node 1> channel 11 Done node 1> panid 0xface Done node 1> networkname otns Done node 1> ipaddr fdde:ad00:beef:0:0:ff:fe00:fc00 fdde:ad00:beef:0:0:ff:fe00:b400 fd00:f00d:cafe:0:2505:8719:3685:ebfb fdde:ad00:beef:0:4fd9:b9ba:44e0:96cb fe80:0:0:0:e86a:e07:ec97:777 Done
অন্য নোড প্রসঙ্গে স্যুইচ করুন
node 1> node 2 Done node 2>
নোড প্রসঙ্গ থেকে প্রস্থান করুন
node 1> exit Done >
নোড প্রসঙ্গে প্রস্থান করার একটি বিকল্প উপায় হল node 0
কমান্ড।
11. নোড লগ এবং প্যাকেট ক্যাপচার দেখা
OpenThread নোড লগ
ডিফল্টরূপে, OTNS সমস্ত সিমুলেটেড OpenThread নোডের জন্য বিস্তারিত লগ ফাইল তৈরি করে। এগুলি ./tmp
ডিরেক্টরিতে দেখা যেতে পারে। ফাইলের নাম 0_
উদাহরণস্বরূপ, একটি লগ ফাইলের অংশ নীচে দেখানো হয়েছে:
7616488 00:00:06.326 [I] MeshForwarder-: Received IPv6 UDP msg, len:90, chksum:5915, ecn:no, from:ca72650db7b856af, sec:no, prio:net, rss:-58.0
7616488 00:00:06.326 [I] MeshForwarder-: src:[fe80:0:0:0:c872:650d:b7b8:56af]:19788
7616488 00:00:06.326 [I] MeshForwarder-: dst:[ff02:0:0:0:0:0:0:1]:19788
7616488 00:00:06.326 [D] Mle-----------: Receive MLE message
7616488 00:00:06.326 [D] Mac-----------: Idle mode: Radio receiving on channel 11
7657544 00:00:06.367 [D] Mac-----------: ==============================[RX len=063]==============================
7657544 00:00:06.367 [D] Mac-----------: | 41 D8 7F CE FA FF FF 46 | 74 5A 33 9E 76 51 4E 7F | A......FtZ3.vQN. |
7657544 00:00:06.367 [D] Mac-----------: | 3B 02 F0 4D 4C 4D 4C 81 | E6 00 15 03 00 00 00 00 | ;..MLML......... |
7657544 00:00:06.367 [D] Mac-----------: | 00 00 00 01 46 86 7D FE | 06 CC DB 94 86 9C 88 0B | ....F.}......... |
7657544 00:00:06.367 [D] Mac-----------: | 1C 1E 26 9B 8D 21 2E 65 | 53 5A 43 4E A2 59 D6 | ..&..!.eSZCN.Y. |
7657544 00:00:06.367 [D] Mac-----------: ------------------------------------------------------------------------
7657544 00:00:06.367 [I] MeshForwarder-: Received IPv6 UDP msg, len:84, chksum:81e6, ecn:no, from:4e51769e335a7446, sec:no, prio:net, rss:-48.0
7657544 00:00:06.367 [I] MeshForwarder-: src:[fe80:0:0:0:4c51:769e:335a:7446]:19788
7657544 00:00:06.367 [I] MeshForwarder-: dst:[ff02:0:0:0:0:0:0:2]:19788
7657544 00:00:06.367 [D] Mac-----------: Idle mode: Radio receiving on channel 11
7833912 00:00:06.543 [I] Mle-----------: AttachState ParentReq -> Idle
7833912 00:00:06.543 [N] RouterTable---: Allocate router id 12
7833912 00:00:06.543 [N] Mle-----------: RLOC16 fffe -> 3000
7833912 set node RLOC16: fffe -> 3000
7833912 00:00:06.543 [D] SubMac--------: RadioShortAddress: 0x3000
7833912 00:00:06.543 [N] Mle-----------: Role detached -> leader
7833912 00:00:06.543 [N] Mle-----------: Partition ID 0x24c35f10
7833912 00:00:06.543 [I] RouterTable---: Route table
7833912 00:00:06.543 [I] RouterTable---: 12 0x3000 - me - leader
মাইক্রোসেকেন্ডে পরম সিমুলেশন সময় বাম দিকে দেখানো হয়েছে। hh:mm:ss
টাইমস্ট্যাম্প OpenThread নোডের নিজস্ব লগ টাইমস্ট্যাম্প দেখায়, যা পরম সিমুলেশন সময়ের থেকে আলাদা হতে পারে।
Wireshark প্যাকেট ক্যাপচার
ডিফল্টরূপে, সমস্ত প্রেরিত IEEE 802.15.4 ফ্রেম PCAP ফাইল current.pcap
এ ক্যাপচার করা হয়। এই ফাইলটি সিমুলেশনের সময় বা পরে Wireshark দ্বারা পড়তে পারে। থ্রেডের লিঙ্ক-লেয়ার এনক্রিপশনের কারণে, OTNS-এর জন্য ডিক্রিপশন কী সঠিকভাবে সেট করার জন্য Wireshark-এ একটি এককালীন কনফিগারেশন অ্যাকশন প্রয়োজন। ডিফল্টরূপে, একটি সুপরিচিত নেটওয়ার্ক কী ব্যবহার করা হয় যাতে Wireshark দ্বারা ফ্রেম ডিক্রিপশন সহজ করা হয়।
Wireshark-এ OpenThread প্যাকেট পরিদর্শনের উদাহরণের জন্য নীচের স্ক্রিনশটটি দেখুন।
ডিক্রিপশন কী কনফিগার করতে, মেনুতে সম্পাদনা -> পছন্দগুলি নির্বাচন করুন। তারপর পছন্দ উইন্ডোতে, প্রোটোকল -> IEEE 802.15.4 নির্বাচন করুন। "ডিক্রিপশন কী" এর পাশে Edit... বোতামে ক্লিক করুন। একটি নতুন এন্ট্রি তৈরি করতে + ক্লিক করুন এবং 00112233445566778899aabbccddeeff
(32 অক্ষর) কী লিখুন এবং "কী হ্যাশ" ক্ষেত্রে "থ্রেড হ্যাশ" নির্বাচন করুন। "ডিক্রিপশন কী সূচক" 0
এ ছেড়ে দেওয়া যেতে পারে। তারপর ওকে ক্লিক করুন এবং আবার ঠিক আছে । এখন OTNS PCAP ফাইলটি লোড করার সময় সঠিকভাবে ডিক্রিপ্ট করা উচিত।
"টাইম" কলামে দেখানো টাইমস্ট্যাম্পগুলি (সেকেন্ডে) OpenThread নোড লগগুলিতে দেখানো নিখুঁত সিমুলেশন সময়ের মানগুলির সাথে মিলে যায়৷ এটি প্রেরিত বা প্রাপ্ত রেডিও ফ্রেমের সাথে লগ বার্তাগুলির সাথে সম্পর্ক স্থাপন করা সহজ করে তোলে। যাইহোক, মানগুলি সাধারণত একক মাইক্রোসেকেন্ড নির্ভুলতা পর্যন্ত অভিন্ন নয়: সিমুলেটেড IEEE 802.15.4 রেডিও হার্ডওয়্যার ওপেন থ্রেড স্ট্যাক দ্বারা একটি রেডিও ফ্রেম পাঠানোর অনুরোধ করার পরে কিছু অতিরিক্ত বিলম্ব যোগ করতে পারে।
12. অভিনন্দন
অভিনন্দন, আপনি আপনার প্রথম OTNS সিমুলেশন সফলভাবে সম্পাদন করেছেন!
আপনি শিখেছেন কিভাবে OTNS এবং এর নির্ভরতা ইনস্টল করতে হয়। আপনি OpenThread সিমুলেটেড নোডের সাথে একটি OTNS সিমুলেশন শুরু করেছেন। আপনি শিখেছেন কিভাবে OTNS-CLI
এবং OTNS-Web
উভয়ের মাধ্যমে বিভিন্ন উপায়ে সিমুলেশনকে ম্যানিপুলেট করতে হয়।
আপনি এখন জানেন OTNS কি এবং কিভাবে আপনি OpenThread নেটওয়ার্ক অনুকরণ করতে OTNS ব্যবহার করতে পারেন।
এরপর কি?
এই কোডল্যাবগুলির কিছু পরীক্ষা করে দেখুন...
- OpenThread সহ একটি থ্রেড নেটওয়ার্ক অনুকরণ করা
- ডকারে ওপেন থ্রেড ব্যবহার করে একটি থ্রেড নেটওয়ার্ক অনুকরণ করা
- nRF52840 বোর্ড এবং OpenThread সহ একটি থ্রেড নেটওয়ার্ক তৈরি করুন