রেঞ্জিং: আউট-অফ-ব্যান্ড বার্তা ক্রম এবং পেলোড স্পেসিফিকেশন

অ্যান্ড্রয়েড ১৬ রেঞ্জিং মডিউল চালু করেছে। এই স্পেসিফিকেশনটি বার্তার ক্রম এবং আউট-অফ-ব্যান্ড (OOB) যোগাযোগের পেলোডকে সংজ্ঞায়িত করে। এই যোগাযোগটি রেঞ্জিংয়ে নিযুক্ত ইনিশিয়েটর এবং রেসপন্ডার ডিভাইসগুলির মধ্যে রেঞ্জিং কনফিগারেশন বিনিময় করে এবং রেঞ্জিং শুরু করে এবং থামে।

এই পৃষ্ঠার মূল লক্ষ্য হল নন-অ্যান্ড্রয়েড ডিভাইস সরবরাহকারীদের এই স্পেসিফিকেশনটি বাস্তবায়ন করতে সক্ষম করা যাতে তাদের ডিভাইসগুলি অ্যান্ড্রয়েড ডিভাইসের সাথে সামঞ্জস্যপূর্ণ হতে পারে।

গুগলের প্যাকেট ডেসক্রিপশন ল্যাঙ্গুয়েজ (PDL) তে এই স্পেসিফিকেশনের একটি বাস্তবায়ন GitHub এ উপলব্ধ। এই বাস্তবায়ন থেকে, PDL কম্পাইলার এই স্পেসিফিকেশনে সংজ্ঞায়িত বার্তাগুলির জন্য সিরিয়ালাইজেশন এবং ডিসিরিয়ালাইজেশন কোড তৈরি করতে পারে। এটি C++, রাস্ট এবং জাভা সহ বিভিন্ন লক্ষ্য ভাষা সমর্থন করে।

বার্তা এবং বার্তার ক্রম

এই অংশে বার্তা এবং বার্তা আদান-প্রদানের ক্রম বর্ণনা করা হয়েছে।

নিম্নলিখিত টেবিলটি OOB এক্সচেঞ্জে উপস্থিত সমস্ত বার্তা দেখায়:

বার্তা বার্তা আইডি
Ranging Capability Request ০x০
Ranging Capability Response ০x১
Ranging Configuration ০x২
Ranging Configuration Response (ঐচ্ছিক) ০x৩
Stop Ranging ০x৬
Stop Ranging Response (ঐচ্ছিক) ০x৭

চিত্র ১ এবং ২-তে দেখানো হয়েছে, বার্তা আদান-প্রদান কীভাবে শুরু হয় তা যোগাযোগ চ্যানেলের উপর নির্ভর করে।

সংযোগ-ভিত্তিক যোগাযোগ চ্যানেলগুলির জন্য, যেমন ব্লুটুথ লো এনার্জি (BLE) জেনেরিক অ্যাট্রিবিউট প্রোফাইল (GATT), বার্তা বিনিময় শুরু হয় যখন ইনিশিয়েটর ডিভাইসটি রেসপন্ডার ডিভাইসে একটি Ranging Capability Request পাঠায়। রেসপন্ডার ডিভাইসটি তখন একটি Ranging Capability Response পাঠিয়ে উত্তর দেয়, যেমন চিত্র 1 দেখায়:

সংযোগ-ভিত্তিক যোগাযোগ চ্যানেল প্রবাহ

চিত্র ১. সংযোগ-ভিত্তিক যোগাযোগ চ্যানেল ব্যবহার করে OOB বার্তা বিনিময়।

বিজ্ঞাপন-ভিত্তিক যোগাযোগ চ্যানেলের জন্য, রেসপন্ডার ডিভাইসটি Ranging Capability বিজ্ঞাপন দিয়ে শুরু করে। এই ক্ষেত্রে, ইনিশিয়েটিভ ডিভাইসটি Ranging Capability Request পাঠায় না। পরিবর্তে, বিজ্ঞাপন সনাক্ত করার পরে, ইনিশিয়েটিভ (প্রাথমিক স্ক্যানার) ডিভাইসটি তার প্রথম বার্তা হিসাবে Ranging Configuration বিজ্ঞাপন দিয়ে সাড়া দেয়, যেমন চিত্র 2 দেখায়:

বিজ্ঞাপন-ভিত্তিক যোগাযোগ চ্যানেল প্রবাহ

চিত্র ২। বিজ্ঞাপন-ভিত্তিক যোগাযোগ ব্যবহার করে OOB বার্তা বিনিময়।

বাকি বার্তা আদান-প্রদান উভয় ক্ষেত্রেই একই রকম। রেসপন্ডার ডিভাইসটি Ranging Configuration বার্তা পাওয়ার পরপরই রেঞ্জিং শুরু করে। Stop Ranging বার্তা পাওয়ার বা সনাক্ত করার পরে এটি রেঞ্জিং বন্ধ করে দেয়।

সংযোগ-ভিত্তিক প্রবাহে, রেসপন্ডার ডিভাইসটি শুধুমাত্র Ranging Capability Request বার্তায় অনুরোধ করা রেঞ্জিং প্রযুক্তির জন্য ক্ষমতা পূরণ করে। বিজ্ঞাপন প্রবাহে, রেসপন্ডার ডিভাইসটিকে অবশ্যই তার সমস্ত ক্ষমতা তালিকাভুক্ত করতে হবে, কারণ পূর্ববর্তী কোনও ক্ষমতা অনুরোধ বার্তা নেই।

ইনিশিয়েটর ডিভাইস ধরে নেয় যে এটি যে কোনও অনুরোধ বার্তার জন্য কেবল একটি প্রতিক্রিয়া পাবে। রেসপন্ডার ডিভাইসটি এমন কোনও অনুমান করা উচিত নয় যাতে এটি যে কোনও অনুরোধের যে কোনও ক্রমে প্রতিক্রিয়া জানাতে পারে। এটি যাচাই করতে সহায়তা করে যে রেসপন্ডার ডিভাইসটি ইনিশিয়েটর ডিভাইস থেকে একাধিক ধারাবাহিক Ranging Capability Request বার্তা বা অন্য কোনও অপ্রয়োজনীয় বার্তার প্রতিক্রিয়া জানাতে পারে।

রেঞ্জিং টেকনোলজি আইডি

এই বিভাগে বিভিন্ন ধরণের প্রযুক্তির আইডি তালিকাভুক্ত করা হয়েছে: আল্ট্রা ওয়াইডব্যান্ড (UWB) , ব্লুটুথ লো এনার্জি (BLE) চ্যানেল সাউন্ডিং (CS) , ওয়াই-ফাই নেবার অ্যাওয়ারনেস নেটওয়ার্কিং (NAN) রাউন্ড-ট্রিপ টাইম (RTT) , এবং রিসিভড সিগন্যাল স্ট্রেংথ ইন্ডিকেটর (RSSI)

নিম্নলিখিত টেবিলগুলিতে আইডিগুলি ব্যবহার করা হয়েছে যেখানে রেঞ্জিং প্রযুক্তি আইডি প্রয়োজন। রেঞ্জিং প্রযুক্তি বিটফিল্ড ধারণকারী ক্ষেত্রগুলির জন্য, প্রযুক্তির আইডির সূচকের সাথে সম্পর্কিত একটি বিট সেট করা হয় যখন সেই প্রযুক্তিটি বিটফিল্ডে অন্তর্ভুক্ত করা হয়।

উদাহরণস্বরূপ, RSSI এর একটি ID মান 3। যদি RSSI রেঞ্জিং টেকনোলজি বিটফিল্ডে অন্তর্ভুক্ত করা হয়, তাহলে ID (3) এর অবস্থান সহ বিটটি চালু করতে হবে (প্রথম বিটটি 0 অবস্থানে থাকে), যার ফলে বিটফিল্ডের ফলাফলের মান 0x8 হয়। যদি UWB এবং RSSI উভয়ই অন্তর্ভুক্ত করা হয়, তাহলে বিটফিল্ডের মান 0x0A হবে (উভয় বিট 0 এবং 3 চালু আছে)।

রেঞ্জিং প্রযুক্তির আইডিগুলি নিম্নলিখিত সারণীতে তালিকাভুক্ত করা হয়েছে:

রেঞ্জিং টেকনোলজি আইডি
ইউডব্লিউবি ০x০
সিএস ০x১
ওয়াই-ফাই NAN RTT ০x২
আরএসএসআই ০x৩
আরএফইউ ০x৪ - ০xএফএফ

বার্তার ফর্ম্যাট

প্রতিটি বার্তায় একটি হেডার এবং একটি পেলোড থাকে।

বার্তার ফর্ম্যাট

চিত্র ৩। বার্তার বিন্যাস।

আকার: ২ বাইট

বর্ণনা: সকল বার্তায় সাধারণ, হেডার হল বার্তার প্রথম অংশ যা একটি বার্তায় যায়। হেডারে একটি সংস্করণ এবং বার্তার ধরণের আইডি থাকে। সংস্করণ ক্ষেত্রটি এই স্পেসিফিকেশনের কোন সংস্করণের সাথে মেলে তা নির্দিষ্ট করে। এই স্পেসিফিকেশনের বর্তমান সংস্করণ হল 1 বিভিন্ন সংস্করণের ডিভাইসগুলির মধ্যে ভার্সনিং কীভাবে ব্যবহার করা হয় সে সম্পর্কে আরও তথ্যের জন্য, ভার্সনিং দেখুন। হেডারটি বিভিন্ন সংস্করণে পশ্চাদমুখী সামঞ্জস্যপূর্ণ থাকে, যার অর্থ ব্যবহারের ক্ষেত্রে সর্বদা বার্তার সংস্করণ এবং আইডি নির্ধারণ করতে এটি পার্স করতে পারে।

শিরোনামটি নিম্নলিখিত সারণীতে সংক্ষেপে দেওয়া হয়েছে:

অক্টেট ডেটা টাইপ বিবরণ মূল্য
0 uint8 সংস্করণ 0x1 - বর্তমান সংস্করণ
ইউনিট৮ বার্তা আইডি
  • 0x0 - Ranging Capability Request মেসেজ
  • 0x1 - Ranging Capability Response বার্তা
  • 0x2 - Ranging Configuration বার্তা
  • 0x3 - Ranging Configuration Response মেসেজ (ঐচ্ছিক)
  • 0x6 - Stop Ranging বার্তা
  • 0x7 - Stop Ranging Response মেসেজ (ঐচ্ছিক)
  • ০x৪-০x৫, ০x৮ - ০xএফএফ আরএফইউ

পেলোড

আকার: পরিবর্তিত হয় (বার্তার ধরণের উপর নির্ভর করে)

বর্ণনা: পেলোড হল বার্তার শেষ অংশ, হেডারের পরে। পেলোড বার্তার ধরণের উপর নির্ভর করে। প্রতিটি পৃথক বার্তার ধরণের পেলোডের ফর্ম্যাট নিম্নলিখিত বিভাগগুলিতে সংজ্ঞায়িত করা হয়েছে।

রেঞ্জিং ক্যাপাবিলিটি রিকোয়েস্ট মেসেজ পেলোড

আকার (শিরোনামের আকার অন্তর্ভুক্ত নয়): 2 বাইট

বর্ণনা: বার্তা বিনিময় শুরু করার জন্য ইনিশিয়েটর ডিভাইস দ্বারা পাঠানো হয়। যোগাযোগ চ্যানেল বিজ্ঞাপনের উপর ভিত্তি করে তৈরি হলে এই বার্তাটি ঐচ্ছিক, এই ক্ষেত্রে রেসপন্ডার ডিভাইসকে প্রথম ধাপ হিসেবে একটি Ranging Capability বার্তার বিজ্ঞাপন দিতে হবে। ইনিশিয়েটর ডিভাইস (প্রাথমিক স্ক্যানার) বিজ্ঞাপনটি পড়ে এবং সরাসরি একটি Ranging Capability বার্তার মাধ্যমে প্রতিক্রিয়া জানায়, এই বার্তার প্রয়োজন এড়িয়ে।

Ranging Capability Request মেসেজ পেলোড নিম্নলিখিত সারণীতে সংক্ষেপিত করা হয়েছে:

অক্টেট ডেটা টাইপ বিবরণ মূল্য
0 uint8*2 অনুরোধকৃত রেঞ্জিং প্রযুক্তি বিটফিল্ড
  • ০x০১ - ইউডব্লিউবি
  • 0x02 - BLE চ্যানেলের শব্দ
  • 0x04 - ওয়াই-ফাই NAN RTT
  • ০x০৮ - বিএলই আরএসএসআই
  • আরএফইউ

রেঞ্জিং ক্যাপাবিলিটি রেসপন্স মেসেজ পেলোড

আকার (শিরোনামের আকার অন্তর্ভুক্ত নয়): পরিবর্তিত হয় (সাধারণ অংশ 2 বাইট এবং প্রতিটি অন্তর্ভুক্ত রেঞ্জিং প্রযুক্তি বাইটের আকার)

বর্ণনা: Ranging Capability Request বার্তার প্রতিক্রিয়া হিসেবে উত্তরদাতা কর্তৃক প্রেরিত। এই বার্তা পেলোডে সাধারণ অংশ এবং রেঞ্জিং প্রযুক্তি-নির্দিষ্ট অংশ (BLE CS, Wi-Fi NAN RTT, BLE RSSI) রয়েছে, যেমনটি নিম্নলিখিত টেবিলে দেখানো হয়েছে। প্রতিটি রেঞ্জিং প্রযুক্তি-নির্দিষ্ট অংশ কেবল তখনই যোগ করতে হবে যদি সেই রেঞ্জিং প্রযুক্তিটি রেঞ্জিং ডিভাইস দ্বারা সমর্থিত হয় এবং Ranging Capability Request বার্তায় অনুরোধ করা হয়। একটি বিজ্ঞাপন যোগাযোগ চ্যানেলের ক্ষেত্রে, সমস্ত সমর্থিত রেঞ্জিং প্রযুক্তি অন্তর্ভুক্ত করতে হবে।

সাধারণ Ranging Capability Response মেসেজ পেলোড নিম্নলিখিত সারণীতে সংক্ষিপ্ত করা হয়েছে:

অক্টেট ডেটা টাইপ বিবরণ মূল্য
0 uint8*2 সমর্থিত রেঞ্জিং প্রযুক্তি বিটফিল্ড। বাকি পেলোডে অনুসরণকারী রেঞ্জিং প্রযুক্তির ক্ষমতার সেট নির্দেশ করে।
  • ০x০১ - ইউডব্লিউবি
  • 0x02 - BLE চ্যানেলের শব্দ
  • 0x04 - ওয়াই-ফাই NAN RTT
  • ০x০৮ - বিএলই আরএসএসআই
  • আরএফইউ
বাইট অ্যারে প্রযুক্তিগত সক্ষমতা বাইটগুলির পরিসর। প্রযুক্তি অনুসারে সংজ্ঞায়িত স্ট্রাকচারের পুনরাবৃত্ত ব্লক।

UWB Ranging Capability Response মেসেজ পেলোড নিম্নলিখিত সারণীতে সংক্ষিপ্ত করা হয়েছে:

অক্টেট ডেটা টাইপ বিবরণ মূল্য
0 uint8 রেঞ্জিং টেকনোলজি আইডি ০x০ - ইউডব্লিউবি
uint8 আকার UWB ক্ষমতার বাইটের আকার ( প্রযুক্তি আইডি এবং আকার ক্ষেত্র সহ) বাইটে।
uint8*2 UWB ঠিকানা ২ বাইট ডিভাইসের UWB ঠিকানা।
uint8*4 সমর্থিত চ্যানেল বিটফিল্ড সমর্থিত চ্যানেলের বিটফিল্ড। বিট ০ তে সেট করলে বোঝা যায় না যে সমর্থিত, ১ হলে বোঝা যায় যে সমর্থিত নয়। বিট ০ চ্যানেল ০ এর সাথে মিলে যায়।
LSB == channel 0
MSB == channel 31
uint8*4 সমর্থিত প্রস্তাবনা সূচক বিটফিল্ড সমর্থিত প্রস্তাবনা সূচকের বিটফিল্ড। বিট ০ তে সেট করলে বোঝা যায় না যে সমর্থিত, ১ সমর্থিত। বিট ০ প্রস্তাবনা সূচক ১ এর সাথে মিলে যায়।
LSB == preamble index 1
MSB == preamble index 32
১২ uint8*4 সমর্থিত কনফিগারেশন আইডি বিটফিল্ড সমর্থিত UWB কনফিগারেশন আইডিগুলির বিটফিল্ড। বিট 0 তে সেট করা হলে তা সমর্থিত নয় বলে বোঝায়, 1 সমর্থিত বলে বোঝায়।
LSB == config Id 0
> MSB == config Id 31
১৬ uint8*2 সমর্থিত ন্যূনতম রেঞ্জিং ব্যবধান মিলিসেকেন্ডে দ্রুততম সমর্থিত রেঞ্জিং ব্যবধান নির্দেশ করে। অনুমোদিত মান (মিলিসেকেন্ডে):
  • ৯৬
  • ১২০
  • ২৪০
  • ৬০০
১৮ uint8 সমর্থিত সর্বনিম্ন স্লট সময়কাল মিলিসেকেন্ডে সর্বনিম্ন সমর্থিত স্লট সময়কাল নির্দেশ করে। উদাহরণস্বরূপ, যদি ডিভাইসটি 1 ms ফেরত দেয় তবে ধরে নেওয়া হয় যে এটি 2 ms+ স্লট সময়কালও সমর্থন করে। অনুমোদিত মান (ms-এ):
১৯ সমর্থিত UWB ডিভাইস ভূমিকা বিটফিল্ড সমর্থিত UWB ভূমিকাগুলির বিটফিল্ড। উদাহরণস্বরূপ, যদি উভয়ই সমর্থিত হয় তবে চূড়ান্ত ক্ষেত্রের মান 0x3 হবে।
  • 0x1 - ইনিশিয়েটার ভূমিকা সমর্থিত
  • 0x2 - প্রতিক্রিয়াকারী ভূমিকা সমর্থিত

BLE CS Ranging Capability Response বার্তা পেলোড নিম্নলিখিত সারণীতে সংক্ষিপ্ত করা হয়েছে:

অক্টেট ডেটা টাইপ বিবরণ মূল্য
0 uint8 রেঞ্জিং টেকনোলজি আইডি ০x১ - বিএলই সিএস
uint8 আকার BLE CS ক্ষমতা বাইটের আকার ( প্রযুক্তি আইডি এবং আকার ক্ষেত্র সহ) বাইটে।
uint8 সমর্থিত নিরাপত্তা প্রকার বিটফিল্ড BLE CS-এর জন্য সমর্থিত নিরাপত্তা প্রকারের বিটফিল্ড।
  • ০x০১ - CS_SECURITY_LEVEL_UNKNOWN
  • ০x০২ - CS_SECURITY_LEVEL_ONE
  • ০x০৪ - CS_SECURITY_LEVEL_TWO
  • ০x০৮ - CS_SECURITY_LEVEL_THREE
  • ০x১০ - CS_SECURITY_LEVEL_FOUR
uint8*6 ডিভাইসের ঠিকানা BLE CS-এর জন্য ব্যবহৃত ডিভাইসের ঠিকানা; বড়-এন্ডিয়ান ক্রমে।

Wi-Fi NAN RTT Ranging Capability Response মেসেজ পেলোড নিম্নলিখিত সারণীতে সংক্ষিপ্ত করা হয়েছে:

অক্টেট ডেটা টাইপ বিবরণ মূল্য
0 uint8 রেঞ্জিং টেকনোলজি আইডি 0x2 - ওয়াই-ফাই NAN RTT
uint8 আকার BLE RSSI ক্ষমতা বাইটের আকার ( প্রযুক্তি আইডি এবং আকার ক্ষেত্র সহ) বাইটে।
uint8 সমর্থিত বৈশিষ্ট্য বিটফিল্ড সমর্থিত বৈশিষ্ট্যগুলির বিটফিল্ড।
  • 0x01 - 11mc সক্ষম
  • 0x02 - 11az সক্ষম
uint8 পর্যায়ক্রমিক পরিসর সমর্থন করে
  • 0x0 - পর্যায়ক্রমিক পরিসর সমর্থিত নয়
  • 0x1 - পিরিয়ড রেঞ্জিং সমর্থিত
uint8 সমর্থিত ব্যান্ডউইথ এই তথ্য Wi-Fi NAN ব্যবহার করে অর্জনযোগ্য রেঞ্জিং নির্ভুলতা অর্জন করতে সাহায্য করে এবং অ্যাপগুলিকে রেঞ্জিংয়ের জন্য UWB, BLE CS, BLE RSSI, নাকি Wi-Fi NAN ব্যবহার করতে হবে তা নির্ধারণ করতে সাহায্য করতে পারে।
  • ০x০০ ​​- ২০ মেগাহার্টজ
  • ০x০১ - ৪০ মেগাহার্টজ
  • ০x০২ - ৮০ মেগাহার্টজ
  • ০x০৩ - ১৬০ মেগাহার্টজ
  • ০x০৪ - ৮০+৮০ মেগাহার্টজ
  • ০x০৫ - ৩২০ মেগাহার্টজ
  • আরএফইউ
uint8 সমর্থিত রিসিভ চেইনের সংখ্যা এই তথ্য Wi-Fi NAN ব্যবহার করে অর্জনযোগ্য রেঞ্জিং নির্ভুলতা অর্জন করতে সাহায্য করে এবং অ্যাপগুলিকে রেঞ্জিংয়ের জন্য UWB, BLE CS, BLE RSSI, নাকি Wi-Fi NAN ব্যবহার করতে হবে তা নির্ধারণ করতে সাহায্য করতে পারে।
  • ০x০০ ​​- অনির্ধারিত
  • 0x01 - 1 RX চেইন
  • 0x02 - 2টি RX চেইন
  • 0x03 - 3টি RX চেইন
  • 0x04 - 4টি RX চেইন

BLE RSSI Ranging Capability Response বার্তা পেলোড নিম্নলিখিত সারণীতে সংক্ষিপ্ত করা হয়েছে:

অক্টেট ডেটা টাইপ বিবরণ মূল্য
0 uint8 রেঞ্জিং টেকনোলজি আইডি ০x৩ - BLE RSSI
uint8 আকার BLE RSSI ক্ষমতা বাইটের আকার ( প্রযুক্তি আইডি এবং আকার ক্ষেত্র সহ) বাইটে
uint8*6 ডিভাইসের ঠিকানা BLE RSSI-এর জন্য ব্যবহৃত ডিভাইসের ঠিকানা; বড়-এন্ডিয়ান ক্রমে

রেঞ্জিং কনফিগারেশন মেসেজ পেলোড

আকার (শিরোনামের আকার অন্তর্ভুক্ত নয়): পরিবর্তিত হয় (সাধারণ অংশ 4 বাইট এবং প্রতিটি অন্তর্ভুক্ত রেঞ্জিং প্রযুক্তি বাইটের আকার)।

বর্ণনা: এই বার্তাটি ইনিশিয়েটর দ্বারা পাঠানো হয় এবং এতে প্রতিটি রেঞ্জিং প্রযুক্তি যে কনফিগারেশন দিয়ে রেঞ্জিং শুরু করতে পারে তা রয়েছে। এই বার্তাটি পাওয়ার পর রেসপন্ডার ডিভাইসটিকে অবশ্যই প্রতিটি নির্দেশিত রেঞ্জিং প্রযুক্তি দিয়ে রেঞ্জিং শুরু করার চেষ্টা করতে হবে। এই বার্তা পেলোডে সাধারণ অংশ এবং রেঞ্জিং প্রযুক্তি-নির্দিষ্ট অংশ (UWB, BLE CS, Wi-Fi NAN RTT, BLE RSSI) রয়েছে, যেমনটি নিম্নলিখিত টেবিলে দেখানো হয়েছে।

সাধারণ Ranging Configuration বার্তা পেলোড নিম্নলিখিত সারণীতে সংক্ষিপ্ত করা হয়েছে:

অক্টেট ডেটা টাইপ বিবরণ মূল্য
0 uint8*2 রেঞ্জিং টেকনোলজিস কনফিগারেশন সেট বিটফিল্ড এই বার্তায় যেসব প্রযুক্তির কনফিগারেশন ডেটা রয়েছে এবং যার জন্য কনফিগারেশন প্যারামিটার সেট করতে হবে তার বিটফিল্ড।
  • ০x০১ - ইউডব্লিউবি
  • 0x02 - BLE চ্যানেলের শব্দ
  • 0x04 - ওয়াই-ফাই NAN RTT
  • ০x০৮ - বিএলই আরএসএসআই
  • আরএফইউ
uint8*2 বিটফিল্ড RFU। Ranging প্রযুক্তি কনফিগারেশন সেট বিটফিল্ড ক্ষেত্রের মতো একই মান সেট করতে হবে।
বাইট অ্যারে বাইটস কনফিগারেশনের ধরণ প্রযুক্তি অনুসারে সংজ্ঞায়িত স্ট্রাকচারের পুনরাবৃত্ত ব্লক

UWB Ranging Configuration বার্তা পেলোড নিম্নলিখিত সারণীতে সংক্ষিপ্ত করা হয়েছে:

অক্টেট ডেটা টাইপ বিবরণ মূল্য
0 uint8 রেঞ্জিং টেকনোলজি আইডি ০x০ - ইউডব্লিউবি
uint8 আকার UWB কনফিগারেশনের আকার ( প্রযুক্তি আইডি এবং আকার ক্ষেত্র সহ) বাইটে
uint8*2 UWB ঠিকানা ২ বাইট ডিভাইস UWB ঠিকানা
uint8*4 সেশন আইডি জেনারেটেড সেশন আইডি। সেশন আইডি হল ফোন এবং পেরিফেরাল এর মধ্যে রেঞ্জিং সেশনের জন্য একটি অনন্য শনাক্তকারী।
uint8 নির্বাচিত কনফিগারেশন আইডি পূর্ণসংখ্যায় নির্বাচিত কনফিগারেশন আইডি নম্বর। কনফিগারেশন আইডি টাইমিং প্যারামিটার এবং UWB রেঞ্জিং সেশনের জন্য যে ধরণের নিরাপত্তা ব্যবহার করতে হবে তা নির্দিষ্ট করে।
uint8 নির্বাচিত চ্যানেল UWB রেঞ্জিং সেশনের জন্য নির্বাচিত চ্যানেল
১০ uint8 নির্বাচিত প্রস্তাবনা সূচী UWB রেঞ্জিং সেশনের জন্য নির্বাচিত প্রস্তাবনা সূচক
১১ uint8*2 নির্বাচিত রেঞ্জিং ব্যবধান মিলিসেকেন্ডে নির্বাচিত রেঞ্জিং ইন্টারভাল রেট। অনুমোদিত মান (মিলিসেকেন্ডে):
  • ৯৬
  • ১২০
  • ২৪০
  • ৬০০
১৩ uint8 নির্বাচিত স্লট সময়কাল নির্বাচিত স্লট সময়কাল মিলিসেকেন্ডে। অনুমোদিত মান (মিলিসেকেন্ডে):
১৪ uint8 সেশন কী দৈর্ঘ্য বাইটে সেশন কী-এর দৈর্ঘ্য
১৫ বাইট অ্যারে সেশন কী সেশন কী। যদি S-STS ব্যবহার করা হয়, তাহলে প্রথম দুটি বাইট হল VENDOR ID এবং পরবর্তী ছয়টি বাইট হল STATIC STS IV। যদি P-STS ব্যবহার করা হয়, তাহলে এটি হয় 16 বাইট অথবা 32 বাইট সেশন কী। ব্যবহৃত নিরাপত্তার ধরণ কনফিগারেশন আইডি দ্বারা নির্ধারিত হয়।
পরিবর্তিত হয় uint8*2 দেশের কোড ISO 3166-1 আলফা-2 দেশের কোড, দুটি ASCII অক্ষর দ্বারা প্রতিনিধিত্ব করা হয়েছে
পরিবর্তিত হয় uint8 নির্বাচিত ডিভাইসের ভূমিকা
  • 0x01 - ইনিশিয়েটার
  • 0x02 - উত্তরদাতা
পরিবর্তিত হয় uint8 নির্বাচিত ডিভাইস মোড
  • 0x01 - কন্ট্রোলার
  • 0x02 - কন্ট্রোলি

BLE CS Ranging Configuration বার্তা পেলোড নিম্নলিখিত সারণীতে সংক্ষিপ্ত করা হয়েছে:

অক্টেট ডেটা টাইপ বিবরণ মূল্য
0 uint8 রেঞ্জিং টেকনোলজি আইডি ০x১ - বিএলই সিএস
uint8 আকার BLE CS কনফিগারেশনের আকার ( প্রযুক্তি আইডি এবং আকার ক্ষেত্র সহ) বাইটে
uint8 নির্বাচিত নিরাপত্তার ধরণ নির্বাচিত নিরাপত্তার ধরণ। অনুমোদিত মান:
  • ০x০ - CS_SECURITY_LEVEL_UNKNOWN
  • ০x১ - CS_SECURITY_LEVEL_ONE
  • ০x২ - CS_SECURITY_LEVEL_TWO
  • ০x৩ - CS_SECURITY_LEVEL_THREE
  • ০x৪ - CS_SECURITY_LEVEL_FOUR
uint8*6 ডিভাইসের ঠিকানা BLE CS-এর জন্য ব্যবহৃত ডিভাইসের ঠিকানা; বড়-এন্ডিয়ান ক্রমে

Wi-Fi NAN RTT Ranging Configuration বার্তা পেলোড নিম্নলিখিত সারণীতে সংক্ষিপ্ত করা হয়েছে:

অক্টেট ডেটা টাইপ বিবরণ মূল্য
0 uint8 রেঞ্জিং টেকনোলজি আইডি 0x2 - ওয়াই-ফাই NAN RTT
uint8 আকার Wi-Fi NAN RTT কনফিগারেশনের আকার ( প্রযুক্তি আইডি এবং আকার ক্ষেত্র সহ) বাইটে
uint8 পরিষেবার নামের দৈর্ঘ্য পরিষেবার নামের ক্ষেত্রের দৈর্ঘ্য বাইটে। Wi-Fi Aware Specification v4.0 বিভাগ 1.3.3 দেখুন। সারণি 1. সংজ্ঞা।
বাইট অ্যারে পরিষেবার নাম পরিষেবার নাম। Wi-Fi Aware স্পেসিফিকেশন v4.0 বিভাগ 1.3.3 দেখুন। সারণি 1. সংজ্ঞা।
পরিবর্তিত হয় uint8 ডিভাইসের ভূমিকা
  • 0x0 - প্রতিক্রিয়াকারী (NAN পরিষেবা প্রকাশক)
  • 0x1 - ইনিশিয়েটর (NAN পরিষেবা গ্রাহক)
পরিবর্তিত হয় uint8 পর্যায়ক্রমিক পরিসর ব্যবহার করুন
  • 0x0 - পর্যায়ক্রমিক পরিসর অক্ষম করা হয়েছে
  • 0x1 - পর্যায়ক্রমিক পরিসর সক্ষম করা হয়েছে

BLE RSSI Ranging Configuration বার্তা পেলোড নিম্নলিখিত সারণীতে সংক্ষিপ্ত করা হয়েছে:

অক্টেট ডেটা টাইপ বিবরণ মূল্য
0 uint8 রেঞ্জিং টেকনোলজি আইডি ০x৩ - BLE RSSI
uint8 আকার BLE RSSI কনফিগারেশনের আকার ( প্রযুক্তি আইডি এবং আকার ক্ষেত্র সহ) বাইটে
uint8*6 ডিভাইসের ঠিকানা BLE RSSI-এর জন্য ব্যবহৃত ডিভাইসের ঠিকানা; বড়-এন্ডিয়ান ক্রমে

রেঞ্জিং কনফিগারেশন রেসপন্স মেসেজ পেলোড

আকার (শিরোনামের আকার অন্তর্ভুক্ত নয়): 2 বাইট

বর্ণনা: এই বার্তাটি Ranging Configuration বার্তার প্রতিক্রিয়া হিসাবে উত্তরদাতা দ্বারা পাঠানো হয়। এই বার্তাটি ঐচ্ছিক, এটি কেবল তখনই প্রয়োজন যখন ব্যবহৃত যোগাযোগ চ্যানেলের প্রতিটি অনুরোধের জন্য একটি স্পষ্ট প্রতিক্রিয়া প্রয়োজন।

Ranging Configuration Response মেসেজ পেলোড নিম্নলিখিত সারণীতে সংক্ষিপ্ত করা হয়েছে:

অক্টেট ডেটা টাইপ বিবরণ মূল্য
0 uint8*2 রেঞ্জিং টেকনোলজিস কনফিগারেশন সফলভাবে বিটফিল্ড সেট করা হয়েছে সফলভাবে সেট করা রেঞ্জিং প্রযুক্তির বিটফিল্ড। বিটফিল্ড রেঞ্জিং প্রযুক্তি বিটকে 1 এ সেট করে যদি প্রযুক্তিটি অনুরোধ করা হয় এবং সফলভাবে সেট করা হয়, এবং অন্যথায় 0 এ সেট করে।
  • ০x০১ - ইউডব্লিউবি
  • 0x02 - BLE চ্যানেলের শব্দ
  • 0x04 - ওয়াই-ফাই NAN RTT
  • ০x০৮ - বিএলই আরএসএসআই
  • আরএফইউ

রেঞ্জিং মেসেজ পেলোড বন্ধ করুন

আকার (শিরোনামের আকার অন্তর্ভুক্ত নয়): 2 বাইট

বর্ণনা: নির্দিষ্ট রেঞ্জিং প্রযুক্তি ব্যবহার করে রেঞ্জিং বন্ধ করার সময় ইনিশিয়েটর ডিভাইস দ্বারা এই বার্তাটি পাঠানো হয়।

Stop Ranging মেসেজ পেলোড নিম্নলিখিত সারণীতে সংক্ষেপিত করা হয়েছে:

অক্টেট ডেটা টাইপ বিবরণ মূল্য
0 uint8*2 বিটফিল্ড বন্ধ করার জন্য বিভিন্ন প্রযুক্তি রেঞ্জিং প্রযুক্তির বিটফিল্ড যেখানে রেঞ্জিং বন্ধ করতে হবে। ১ তে সেট করা বিট ইঙ্গিত দেয় যে রেঞ্জিং প্রযুক্তি অবশ্যই রেঞ্জিং বন্ধ করতে হবে, এবং ০ ইঙ্গিত দেয় যে রেঞ্জিং প্রযুক্তি হয় প্রথমে রেঞ্জিং ছিল না, অথবা যদি এটি ইতিমধ্যেই রেঞ্জিং ছিল তবে এটি অবশ্যই রেঞ্জিং চালিয়ে যেতে হবে। কিছু রেঞ্জিং প্রযুক্তির (যেমন CS) ক্ষেত্রে এটি একটি নো-অপ কারণ রেঞ্জিং শুধুমাত্র ইনিশিয়েটারের দিকেই শুরু এবং বন্ধ করা হয়।
  • ০x০১ - ইউডব্লিউবি
  • 0x02 - BLE চ্যানেলের শব্দ
  • 0x04 - ওয়াই-ফাই NAN RTT
  • ০x০৮ - বিএলই আরএসএসআই
  • আরএফইউ

রেঞ্জিং রেসপন্স মেসেজ পেলোড বন্ধ করুন

আকার (শিরোনামের আকার অন্তর্ভুক্ত নয়): 2 বাইট

বর্ণনা: এই বার্তাটি উত্তরদাতা Stop Ranging বার্তার প্রতিক্রিয়া হিসেবে পাঠান। এই বার্তাটি ঐচ্ছিক, এটি কেবল তখনই প্রয়োজন যখন ব্যবহৃত যোগাযোগ চ্যানেলের প্রতিটি অনুরোধের জন্য একটি স্পষ্ট প্রতিক্রিয়া প্রয়োজন।

Stop Ranging Response মেসেজ পেলোড নিম্নলিখিত সারণীতে সংক্ষিপ্ত করা হয়েছে:

অক্টেট ডেটা টাইপ বিবরণ মূল্য
0 uint8*2 বিটফিল্ডে রেঞ্জিং প্রযুক্তি সফলভাবে বন্ধ হয়ে গেছে রেঞ্জিং প্রযুক্তির বিটফিল্ড যা সফলভাবে রেঞ্জিং বন্ধ করে দিয়েছে। বিটফিল্ড রেঞ্জিং প্রযুক্তি বিটকে 1 এ সেট করে যদি প্রযুক্তিটি বন্ধ করার অনুরোধ করা হয় এবং যদি এটি সফলভাবে বন্ধ হয়ে যায়, এবং অন্যথায় 0 এ সেট করে।
  • ০x০১ - ইউডব্লিউবি
  • 0x02 - BLE চ্যানেলের শব্দ
  • 0x04 - ওয়াই-ফাই NAN RTT
  • ০x০৮ - বিএলই আরএসএসআই
  • আরএফইউ

সংস্করণকরণ

প্রতিটি বার্তার শিরোনামে স্পেসিফিকেশনের সংস্করণটি অন্তর্ভুক্ত থাকে। এই বিভাগটি সংজ্ঞায়িত করে যে যখন কোনও একটি ডিভাইস (ইনিশিয়েটার বা রেসপন্ডার) অন্য ডিভাইসের চেয়ে পুরানো সংস্করণে থাকে তখন কীভাবে যোগাযোগ পরিচালিত হয়।

কেস ১: সংযোগ-ভিত্তিক যোগাযোগ চ্যানেল

এই বিভাগটি এমন কিছু ঘটনা বর্ণনা করে যেখানে সংযোগ-ভিত্তিক যোগাযোগ চ্যানেল ব্যবহার করা হয়, যেখানে Ranging Capability Request হল ইনিশিয়েটার ডিভাইস দ্বারা প্রেরিত প্রথম বার্তা।

কেস ১.ক: ইনিশিয়েটর নতুন সংস্করণ সমর্থন করে, রেসপন্ডার স্পেসিফিকেশনের পুরানো সংস্করণ সমর্থন করে।

ইনিশিয়েটর ডিভাইসটি নতুন ভার্সনের সাথে Ranging Capability Request বার্তা পাঠায়। রেসপন্ডার ডিভাইসটি শুধুমাত্র পুরোনো ভার্সনটিকে সমর্থন করে, তাই এটি সেই ভার্সনটি দিয়েই সাড়া দেয়, এবং তারপর বাকি মেসেজ আদান-প্রদানের জন্য রেসপন্ডারের পুরোনো ভার্সনটি ব্যবহার করা হয়। এর অর্থ হল Ranging Capability Request বার্তাটি ব্যাকওয়ার্ড সামঞ্জস্যপূর্ণ হতে হবে।

কেস ১.খ: ইনিশিয়েটর পুরোনো ভার্সন সাপোর্ট করে, রেসপন্ডার স্পেসিফিকেশনের নতুন ভার্সন সাপোর্ট করে।

রেসপন্ডার ডিভাইসটি দেখতে পায় যে ইনিশিয়েটার ডিভাইসটি নতুন সংস্করণ ব্যবহার করতে সক্ষম নয়, তাই এটি শুধুমাত্র ইনিশিয়েটার ডিভাইস দ্বারা প্রাথমিকভাবে অনুরোধ করা পুরোনো সংস্করণ ব্যবহার করে বার্তা পাঠায়।

কেস ২: বিজ্ঞাপন-ভিত্তিক যোগাযোগের মাধ্যম

এই বিভাগটি এমন কিছু ক্ষেত্রে বর্ণনা করে যেখানে বিজ্ঞাপন-ভিত্তিক যোগাযোগ চ্যানেল ব্যবহার করা হয়, যেখানে রেসপন্ডার ডিভাইসটি প্রাথমিক অনুরোধ ছাড়াই সরাসরি Ranging Capability Request বিজ্ঞাপন দেয়।

কেস ২.ক: ইনিশিয়েটর নতুন সংস্করণ সমর্থন করে, রেসপন্ডার স্পেসিফিকেশনের পুরানো সংস্করণ সমর্থন করে।

যোগাযোগের বাকি অংশের জন্য Ranging Capability Response বিজ্ঞাপনে সেট করা পুরোনো সংস্করণটি ব্যবহার করা হয়েছে।

কেস ২.খ: ইনিশিয়েটর পুরোনো ভার্সন সাপোর্ট করে, রেসপন্ডার স্পেসিফিকেশনের নতুন ভার্সন সাপোর্ট করে।

Ranging Capability Response বিজ্ঞাপনের নতুন সংস্করণটি অবশ্যই ব্যাকওয়ার্ড সামঞ্জস্যপূর্ণ হতে হবে যাতে ইনিশিয়েটর ডিভাইসটি নতুন সংস্করণ ব্যবহার করার পরেও বার্তাটি পড়তে পারে। তারপর ইনিশিয়েটর ডিভাইসটি তার সমর্থিত পুরানো সংস্করণটি ব্যবহার করে Ranging Configuration বার্তা পাঠায়। এটি সেই সংস্করণ যা যোগাযোগের বাকি অংশের জন্য ব্যবহৃত হয়।

Ranging Capability Response সামঞ্জস্যপূর্ণ কিনা তা নিশ্চিত করার জন্য, Ranging Capability Response বার্তা পেলোডে এই স্পেসিফিকেশনের পরবর্তী সংস্করণে যোগ করা যেকোনো নতুন ক্ষেত্র পেলোডের শেষে যুক্ত করতে হবে এবং বিদ্যমান কোনও ক্ষেত্র পরিবর্তন করা যাবে না। কনফিগারেশন পার্স করার সময়, যদি নির্দেশিত আকার প্রত্যাশার চেয়ে বড় হয়, তাহলে অতিরিক্ত ক্ষেত্রগুলি এমন যেকোনো ডিভাইস দ্বারা উপেক্ষা করা উচিত যা কেবল স্পেসিফিকেশনের পুরানো সংস্করণ বুঝতে পারে।

খণ্ডিতকরণ

এই স্পেসিফিকেশনটি যোগাযোগ চ্যানেল-স্বাধীন, তাই এটি এমন কোনও ক্ষেত্রে বার্তা পেলোডকে কীভাবে টুকরো টুকরো করতে হবে তা সংজ্ঞায়িত করে না যেখানে একটি একক বার্তা ব্যবহৃত যোগাযোগ চ্যানেলের ট্রান্সফার প্যাকেটে ফিট করার জন্য খুব বড়। Ranging মডিউল প্রতিটি বার্তাকে তার পূর্ণ আকারে গ্রহণ করার প্রত্যাশা করে। টুকরো টুকরো করার দায়িত্ব OOB যোগাযোগ চ্যানেলের বাস্তবায়নকারীর উপর বর্তায়।

বিভিন্ন প্রযুক্তির সুনির্দিষ্ট বৈশিষ্ট্য

এই বিভাগে বিস্তৃত প্রযুক্তি সম্পর্কিত বিশদ বিবরণ রয়েছে।

আল্ট্রা-ওয়াইডব্যান্ড (UWB) এর স্পেসিফিকেশন

এই বিভাগে আল্ট্রা-ওয়াইডব্যান্ড নির্দিষ্ট বিবরণ বর্ণনা করা হয়েছে।

কনফিগারেশন আইডি

UWB-এর জন্য বিনিময় করা OOB কনফিগারেশন ডেটাতে UWB-এর একটি UWB রেঞ্জিং সেশন শুরু করার জন্য প্রয়োজনীয় উপলব্ধ কনফিগারযোগ্য প্যারামিটারের সম্পূর্ণ সেট থাকে না। এর কারণ হল কিছু প্যারামিটার নির্বাচিত কনফিগারেশন আইডি দ্বারা পরোক্ষভাবে নির্বাচিত হয়।

প্রতিটি কনফিগ আইডি হল পূর্বনির্ধারিত UWB কনফিগারেশন প্যারামিটারের একটি সেট যা UwbRangingParams এ নথিভুক্ত। রেসপন্ডার ডিভাইসটি ক্যাপাবিলিটি রেসপন্স মেসেজের অংশ হিসেবে এটি সমর্থিত সমস্ত কনফিগ আইডির একটি তালিকা পাঠায় এবং ইনিশিয়েটর ব্যবহৃত সমর্থিত কনফিগ আইডিগুলির মধ্যে একটি নির্বাচন করে। এটি OOB চলাকালীন কনফিগ প্যারামিটারের একটি ছোট সেট বিনিময় করার অনুমতি দেয়। এটি UWB এর সাথে রেঞ্জিংয়ের জন্য ব্যবহার করা যেতে পারে এমন প্যারামিটারের সম্ভাব্য সংমিশ্রণের পরিমাণও সীমিত করে, যা কেবলমাত্র অনুমোদিত প্যারামিটারের সংমিশ্রণের পরীক্ষা সম্ভব করে তোলে।

প্রতিটি UWB সেশনের পরে অনুরোধের ক্ষমতা

একটি বিদ্যমান UWB সেশন বন্ধ করার পরে এবং একটি নতুন UWB সেশন শুরু করার আগে, ইনিশিয়েটার ডিভাইসটিকে অবশ্যই রেসপন্ডার ডিভাইসের ক্ষমতার জন্য অনুরোধ করতে হবে এবং কনফিগারেশন প্যারামিটারগুলি আবার সেট করতে হবে, কারণ বর্তমান রেঞ্জিং সেশন শেষ হওয়ার সাথে সাথে UWB ঠিকানাটি ঘোরানো যেতে পারে।

BLE চ্যানেল সাউন্ডিং (CS) এর সুনির্দিষ্ট বৈশিষ্ট্য

এই বিভাগটি চ্যানেল সাউন্ডিং এর নির্দিষ্ট বিবরণ বর্ণনা করে।

ডিভাইসগুলির মধ্যে প্রয়োজনীয় বন্ধন

চ্যানেল সাউন্ডিং ব্যবহার করে রেঞ্জিং কাজ করার জন্য ইনিশিয়েটর এবং রেসপন্ডার ডিভাইসের মধ্যে একটি বিদ্যমান বন্ধন প্রয়োজন। এই স্পেসিফিকেশন ডিভাইসগুলির মধ্যে একটি বন্ধন তৈরি করার কোনও উপায় প্রদান করে না। Ranging API ব্যবহারকারীকে ডিভাইসগুলির মধ্যে এই বন্ধন স্থাপন করতে হবে।

CS-এর জন্য রেসপন্ডার ডিভাইসের প্রয়োজনীয় পদক্ষেপ

UWB-তে, উভয় ডিভাইসকেই স্পষ্টভাবে UWB start ranging এবং stop ranging API কল করতে হবে। বিপরীতে, CS-এর ক্ষেত্রে, শুধুমাত্র ইনিশিয়েটর ডিভাইসকে ব্লুটুথ (BT) স্ট্যাক কল করে CS ranging শুরু করতে হবে। রেসপন্ডার সাইডে বাকি ইনিশিয়ালাইজেশন BT-এর মাধ্যমে ব্যান্ডে ঘটে। এর মানে হল যে Ranging Configuration বার্তা বা CS-এর জন্য Stop Ranging বার্তা পাওয়ার পরে, BT সক্রিয় থাকলে রেসপন্ডার সাইডকে কিছু করতে হবে না। রেসপন্ডার ডিভাইসটি UI আপডেট করার জন্য ট্রিগার হিসেবে সেই বার্তাগুলি ব্যবহার করতে পারে অথবা, উদাহরণস্বরূপ, ডিভাইসের LED গুলি ব্লিঙ্ক করতে পারে।