যে কোনও ওপেনথ্রেড নোডে সিগন্যাল জ্যামিং সনাক্তকরণের জন্য একটি কনফিগারযোগ্য প্রক্রিয়া সরবরাহ করতে, জ্যাম সনাক্তকরণ বৈশিষ্ট্যটি সক্ষম করুন।
এই বৈশিষ্ট্যটি ডিভাইস শংসাপত্রগুলির জন্য দরকারী যা একটি নির্দিষ্ট চ্যানেলে সংকেত জ্যামিং সনাক্তকরণের সক্ষমতা প্রয়োজন। এটি প্রতিটি ধরণের শংসাপত্রের প্রয়োজনীয়তা পূরণের জন্য কনফিগার করা যেতে পারে।
কিভাবে এটা কাজ করে
চ্যানেলটি জ্যাম হয়েছে কিনা তা নির্ধারণের জন্য নির্দিষ্ট সময়ে জানালার সময় জাম ডিটেকশন কোনও নোডের আরএসএসআই (প্রাপ্ত সংকেত শক্তি সূচক) পর্যবেক্ষণ করে।
যখন জাম সনাক্তকরণ সক্ষম হয়:
- জাম সনাক্তকরণ রাজ্যটি
false
সেট করা আছে। - নোডটি প্রতি এক সেকেন্ডের বিরতিতে আরএসএসআই একাধিকবার নমুনা দেয়।
- আরএসএসআই যদি পুরো এক সেকেন্ড ব্যবধানে প্রতিটি নমুনার জন্য কনফিগার করা আরএসএসআই থ্রোসোল্ডের উপরে থাকে, তবে একটি দ্বিতীয় ব্যবধানটি জ্যামড হিসাবে বিবেচিত হবে।
- জ্যামের এক সেকেন্ড অন্তর যদি পূর্বের কনফিগার করা ডিটেকশন উইন্ডো সেকেন্ডের মধ্যে কনফিগার করা ব্যাসি পিরিয়ড সেকেন্ডের সমষ্টিগত সংখ্যার চেয়ে বেশি বা সমান হয় তবে সময়ে point পয়েন্টে জাম ডিটেকশন স্টেটটি সেট করা
true
। - যদি জ্যামের এক সেকেন্ড অন্তর পূর্ববর্তী কনফিগার ডিটেকশন উইন্ডো সেকেন্ডের মধ্যে কনফিগার করা ব্যাসি পিরিয়ড সেকেন্ডের সমষ্টিগত সংখ্যার চেয়ে কম হয় তবে যে সময়ে বিন্দুতে জাম ডিটেকশন স্টেটটি
false
সেট করা থাকে।
ইতিহাস বিটম্যাপ
ওপেনথ্রেড API এবং wpantund
বৈশিষ্ট্যে পূর্ববর্তী wpantund
সেকেন্ডের একটি বিটম্যাপ পুনরুদ্ধারের জন্য উপলব্ধ। এই বিটম্যাপটি নির্দেশ করে যে আরএসএসআই পূর্ববর্তী প্রতিটি 63 সেকেন্ডে কনফিগার করা আরএসএসআই থ্রেশহোল্ডকে অতিক্রম করেছে কিনা।
উদাহরণস্বরূপ, আপনি নিম্নলিখিত বিটম্যাপটি পুনরুদ্ধার করতে পারেন:
0xC248068C416E7FF0
বাইনারি রূপান্তর প্রতিটি বারের উত্পাদন করে পূর্ববর্তী seconds৩ সেকেন্ডের সময় আরএসএসআই কনফিগার করা আরএসএসআই থ্রোসোল্ডের উপরে চলে যায়:
11000010 01001000 00000110 10001100 01000001 01101110 01111111 11110000
যদি ডিটেকশন উইন্ডোটি 16 সেকেন্ডে সেট করা থাকে এবং ব্যস্ত সময়কালটি 8 সেকেন্ডে সেট করা থাকে, জাম ডিটেকশন স্টেটটি 51 সেকেন্ডে true
হয়ে ওঠে, কারণ এটিই প্রথম উদাহরণ যেখানে আরএসএসআই থ্রেশহোল্ড পূর্ববর্তীটিতে কমপক্ষে 8 পুরো সেকেন্ড অতিক্রম করেছিল 16 সেকেন্ড। এই উদাহরণে, জাম সনাক্তকরণ রাজ্য পরবর্তী 13 সেকেন্ডের জন্য true
থাকে।
11000010 01001000 00000110 10001100 01000001 01101110 01111111 11110000
[00001 01101110 011] = 8 in 16
এই বিটম্যাপটি নিম্নলিখিত গ্রাফ দ্বারা উপস্থাপিত হতে পারে, যদি -45 ডিবিএম কনফিগার করা আরএসএসআই থ্রেশহোল্ড ছিল:

কীভাবে সক্ষম করবেন
এই বৈশিষ্ট্যটি ডিফল্টরূপে অক্ষম করা আছে।
সংজ্ঞায়িত করে
জাম সনাক্তকরণ সক্ষম করতে, OPENTHREAD_CONFIG_JAM_DETECTION_ENABLE
নির্মাণের আগে, /src/core/config/openthread-core-default-config.h
ফাইলে /src/core/config/openthread-core-default-config.h
1
হিসাবে সংজ্ঞায়িত করুন:
#ifndef OPENTHREAD_CONFIG_JAM_DETECTION_ENABLE #define OPENTHREAD_CONFIG_JAM_DETECTION_ENABLE 1 #endif
সুইচ দ্বারা
অন্যথা, ব্যবহার JAM_DETECTION=1
যখন বিল্ড সুইচ OpenThread বিল্ডিং :
make -f examples/Makefile-<platform> JAM_DETECTION=1
পরামিতি
জ্যাম সনাক্তকরণ পরামিতি শুধুমাত্র OpenThread এপিআই, স্পিনেল প্রোটোকল বা মাধ্যমে কনফিগার করা যেতে পারে wpanctl
, wpantund
নেটওয়ার্ক কো-প্রসেসর (এনসিপি) পরিচালনার জন্য কমান্ড লাইন টুল। ডিফল্ট মানগুলি প্রয়োগ করা হয় যদি পরবর্তী কনফিগারেশন ছাড়াই বৈশিষ্ট্যটি সক্ষম করা থাকে।
নিম্নলিখিত পরামিতি ব্যবহার করে এই বৈশিষ্ট্যটি কাস্টমাইজ করুন:
পরামিতি | |||||
---|---|---|---|---|---|
আরএসএসআই থ্রেশহোল্ড |
| ||||
উইন্ডো সনাক্ত করুন |
| ||||
ব্যস্ত সময়কাল |
|
এপিআই
ওপেনথ্রেড
আপনার ওপেন ট্র্যাড অ্যাপ্লিকেশনটিতে জাম সনাক্তকরণ বৈশিষ্ট্যটি পরিচালনা করতে জাম ডিটেকশন এপিআই ব্যবহার করুন। ওপেনথ্রেড এপিআই নিম্নলিখিত কার্যকারিতা সরবরাহ করে:
- বৈশিষ্ট্যটি শুরু করুন এবং বন্ধ করুন
- জাম সনাক্তকরণ রাজ্য দেখুন
- সমস্ত পরামিতি পরিচালনা করুন
- বর্তমান জাম সনাক্তকরণের ইতিহাস বিটম্যাপটি পুনরুদ্ধার করুন
- যখন কোনও জ্যাম সনাক্ত হয় তখনের জন্য একটি কলব্যাক ফাংশন নিবন্ধ করুন
স্পিনেল
স্পিনেল প্রোটোকল একটি এনসিপির সাথে সরাসরি যোগাযোগ করতে একটি হোস্ট ডিভাইসকে সক্ষম করে। এই প্রোটোকলটি /src/lib/spinel/spinel.h
জাম সনাক্তকরণ বৈশিষ্ট্যগুলি প্রকাশ করে যা নিম্নলিখিত কার্যকারিতা সরবরাহ করে:
- বৈশিষ্ট্যটি শুরু করুন এবং বন্ধ করুন
- জাম সনাক্তকরণ রাজ্য দেখুন
- সমস্ত পরামিতি পরিচালনা করুন
- বর্তমান জাম সনাক্তকরণের ইতিহাস বিটম্যাপটি পুনরুদ্ধার করুন
সিএলআই
ওপেনথ্রেড
এই বৈশিষ্ট্য সম্পর্কিত কোনও ওপেনথ্রেড সি এল আই কমান্ড নেই।
wpantund
ওপেনথ্রেড এনসিপি কনফিগারেশনের জন্য জাম সনাক্তকরণ বৈশিষ্ট্যটি পরিচালনা করতে wpanctl
CLI ব্যবহার করুন। wpantund
এনসিপি পুনরায় সেট করার পরে সমস্ত জাম সনাক্তকরণ কনফিগারেশন ধরে রাখে।
wpanctl
নিম্নলিখিত wpantund
বৈশিষ্ট্যে অ্যাক্সেস সরবরাহ করে:
সম্পত্তি | |||||
---|---|---|---|---|---|
JamDetection:Status |
| ||||
JamDetection:Enable |
| ||||
JamDetection:RssiThreshold |
| ||||
JamDetection:Window |
| ||||
JamDetection:BusyPeriod |
| ||||
JamDetection:Debug:HistoryBitmap |
|
উদাহরণস্বরূপ, এনসিপিতে জাম ডিটেকশন রাজ্য পেতে:
sudo wpanctl getprop JamDetection:Status
JamDetection:Status = false
এনসিপিতে জাম ডিটেকশন আরএসআইআই থ্রোসোল্ড -45 ডিবিএম সেট করতে:
sudo wpanctl setprop JamDetection:RssiThreshold -45
sudo wpanctl getprop JamDetection:RssiThreshold
JamDetection:RssiThreshold = -45
wpantund
বৈশিষ্ট্য সম্পর্কিত আরও তথ্যের জন্য wpantund
গিটহাবের সংগ্রহশালা দেখুন ।