অ্যান্ড্রয়েড 16 রেঞ্জিং মডিউল চালু করেছে। এই প্রোটোকল এবং পেলোড স্পেসিফিকেশন রেঞ্জিং কনফিগারেশন বিনিময় করতে এবং সূচনাকারী এবং প্রতিক্রিয়াকারী ডিভাইসের মধ্যে যে রেঞ্জিং এ জড়িত তাদের মধ্যে বার্তা ক্রম এবং আউট-অফ-ব্যান্ড (OOB) যোগাযোগের পেলোড সংজ্ঞায়িত করে।
এই পৃষ্ঠাটির মূল লক্ষ্য হল নন-অ্যান্ড্রয়েড ডিভাইস প্রদানকারীদের এই স্পেসিফিকেশনটি কার্যকর করতে সক্ষম করা যাতে তাদের ডিভাইসগুলি Android ডিভাইসের সাথে সামঞ্জস্যপূর্ণ হতে পারে।
বার্তা এবং বার্তা ক্রম
এই বিভাগটি বার্তা এবং বার্তা বিনিময়ের ক্রম বর্ণনা করে।
নিম্নলিখিত টেবিলটি OOB এক্সচেঞ্জে উপস্থিত সমস্ত বার্তাগুলি দেখায়:
বার্তা | মেসেজ আইডি |
---|---|
Ranging Capability Request | 0x0 |
Ranging Capability Response | 0x1 |
Ranging Configuration | 0x2 |
Ranging Configuration Response (ঐচ্ছিক) | 0x3 |
Stop Ranging | 0x6 |
Stop Ranging Response (ঐচ্ছিক) | 0x7 |
চিত্র 1 এবং 2 এ দেখানো হয়েছে, কিভাবে বার্তা বিনিময় শুরু হয় তা নির্ভর করে যোগাযোগ চ্যানেলের উপর।
BLE GATT-এর মতো সংযোগ-ভিত্তিক যোগাযোগের চ্যানেলগুলির জন্য, বার্তা বিনিময় শুরু হয় ইনিশিয়েটর ডিভাইসের মাধ্যমে, যার মাধ্যমে Ranging Capability Request
রেসপন্ডার ডিভাইসে পাঠানো হয়। Ranging Capability Response
পাঠিয়ে প্রতিক্রিয়াকারী ডিভাইস উত্তর দেয়, যেমন চিত্র 1-এ দেখানো হয়েছে:
চিত্র 1. একটি সংযোগ-ভিত্তিক যোগাযোগ চ্যানেল ব্যবহার করে OOB বার্তা বিনিময়।
বিজ্ঞাপন-ভিত্তিক যোগাযোগের চ্যানেলগুলির জন্য, Ranging Capability
বিজ্ঞাপনের মাধ্যমে প্রতিক্রিয়াকারী ডিভাইসটি শুরু হয়। এই ক্ষেত্রে, সূচনাকারী ডিভাইস থেকে Ranging Capability Request
পাঠানো হয় না। পরিবর্তে, বিজ্ঞাপন শনাক্ত করার পরে, যখন সূচনাকারী (প্রাথমিক স্ক্যানার) ডিভাইসটি প্রস্তুত হয়, তখন এটি চিত্র 2-তে দেখানো হিসাবে Ranging Configuration
প্রথম বার্তা হিসাবে বিজ্ঞাপনের মাধ্যমে প্রতিক্রিয়া জানায়:
চিত্র 2. একটি বিজ্ঞাপন-ভিত্তিক যোগাযোগ ব্যবহার করে OOB বার্তা বিনিময়।
বাকি বার্তা বিনিময় উভয় ক্ষেত্রেই একই। Ranging Configuration
বার্তা পাওয়ার সাথে সাথেই রেসপন্ডার ডিভাইসটি রেঞ্জ করা শুরু করে। Stop Ranging
বার্তাটি গ্রহণ বা সনাক্ত করার পরে প্রতিক্রিয়াকারী ডিভাইসটি রেঞ্জিং বন্ধ করে দেয়।
সংযোগ-ভিত্তিক প্রবাহে, Ranging Capability Request
মেসেজে অনুরোধ করা রেঞ্জিং টেকনোলজির জন্য রেসপন্ডার ডিভাইসটি কেবলমাত্র সীমাবদ্ধতার ক্ষমতাগুলিকে পপুলেট করে, যখন বিজ্ঞাপনের প্রবাহে, উত্তরদাতা ডিভাইসটিকে অবশ্যই তার সমস্ত ক্ষমতা তালিকাভুক্ত করতে হবে কারণ পূর্বে কোন ক্ষমতার অনুরোধ বার্তা নেই।
ইনিশিয়েটর ডিভাইসটি অনুমান করে যে এটি পাঠানো যেকোনো অনুরোধ বার্তার জন্য এটি শুধুমাত্র একটি প্রতিক্রিয়া পাবে। উত্তরদাতা ডিভাইসটি এমন কোন অনুমান করা উচিত নয় যাতে এটি যেকোন ক্রমে যেকোন অনুরোধে সাড়া দিতে পারে। এটি নিশ্চিত করে যে উত্তরদাতা ডিভাইসটি ইনিশিয়েটর ডিভাইস থেকে একাধিক পরপর Ranging Capability Request
মেসেজ বা অন্য যেকোন ক্রমবর্ধমান বার্তায় সাড়া দিতে পারে।
রেঞ্জিং প্রযুক্তি আইডি
রেঞ্জিং প্রযুক্তির আইডিগুলি নিম্নলিখিত টেবিলে তালিকাভুক্ত করা হয়েছে:
রেঞ্জিং প্রযুক্তি | আইডি |
---|---|
UWB | 0x0 |
সিএস | 0x1 |
Wi-Fi NAN RTT | 0x2 |
আরএসএসআই | 0x3 |
আরএফইউ | 0x4 - 0xFF |
এই আইডিগুলি নিম্নলিখিত সারণীগুলিতে ব্যবহৃত হয় যেখানে রেঞ্জিং প্রযুক্তি আইডি প্রয়োজন৷ রেঞ্জিং প্রযুক্তি বিটফিল্ড সম্বলিত ক্ষেত্রগুলির জন্য, যখন সেই প্রযুক্তিটি বিটফিল্ডে অন্তর্ভুক্ত করা হয় তখন প্রযুক্তির আইডির সূচীর সাথে কিছুটা সংগতিপূর্ণ।
উদাহরণস্বরূপ, RSSI-এর একটি আইডি মান 3 আছে, কিন্তু যদি RSSI-কে রেঞ্জিং টেকনোলজি বিটফিল্ডে অন্তর্ভুক্ত করা হয়, তাহলে আইডি (3) এর অবস্থান সহ বিটটি চালু করতে হবে (প্রথম বিটটি 0 অবস্থানে রয়েছে), যা বিটফিল্ডের ফলস্বরূপ মান 0x8 করে। যদি UWB এবং RSSI উভয়ই অন্তর্ভুক্ত করা হয়, তাহলে বিটফিল্ডের মান হল 0x0A (উভয় বিট 0 এবং 3 সুইচ অন)।
বার্তা বিন্যাস
প্রতিটি বার্তা একটি শিরোনাম এবং একটি পেলোড নিয়ে গঠিত।
চিত্র 3 । বার্তা বিন্যাস.
হেডার
আকার: 2 বাইট
বর্ণনা: সমস্ত বার্তা জুড়ে সাধারণ, শিরোনাম হল প্রথম অংশ যা একটি বার্তায় যায়। শিরোনামে একটি সংস্করণ এবং বার্তা প্রকারের আইডি রয়েছে। সংস্করণ ক্ষেত্রটি এই স্পেসিফিকেশনের সংস্করণটি নির্দিষ্ট করে যা বার্তার বিষয়বস্তুগুলি মেনে চলে। এই স্পেসিফিকেশনের বর্তমান সংস্করণ হল 1
. বিভিন্ন সংস্করণে ডিভাইসগুলির মধ্যে সংস্করণ কীভাবে ব্যবহার করা হয় সে সম্পর্কে আরও তথ্যের জন্য, সংস্করণ দেখুন। শিরোনামটি বিভিন্ন সংস্করণ জুড়ে পশ্চাদমুখী সামঞ্জস্যপূর্ণ থাকে, যার অর্থ বার্তাটির সংস্করণ এবং আইডি নির্ধারণ করতে ব্যবহারের ক্ষেত্রে সর্বদা এটিকে পার্স করতে পারে।
শিরোনামটি নিম্নলিখিত টেবিলে সংক্ষিপ্ত করা হয়েছে:
অক্টেট | ডেটা টাইপ | বর্ণনা | মান |
---|---|---|---|
0 | uint8 | সংস্করণ | 0x1 - বর্তমান সংস্করণ |
1 | ইউনিট8 | মেসেজ আইডি |
|
পেলোড
আকার: পরিবর্তিত হয় (বার্তার ধরনের উপর নির্ভর করে)
বর্ণনা: হেডারের পরে পেলোড হল বার্তার শেষ অংশ। পেলোড বার্তার ধরনের উপর নির্ভর করে। প্রতিটি পৃথক বার্তা প্রকারের পেলোডের বিন্যাস নিম্নলিখিত বিভাগে সংজ্ঞায়িত করা হয়েছে।
রেঞ্জিং ক্ষমতা অনুরোধ বার্তা পেলোড
আকার (হেডারের আকার অন্তর্ভুক্ত নয়): 2 বাইট
বর্ণনা: বার্তা বিনিময় শুরু করতে ইনিশিয়েটর ডিভাইস দ্বারা প্রেরিত। এই বার্তাটি ঐচ্ছিক যখন যোগাযোগের চ্যানেলটি বিজ্ঞাপনের উপর ভিত্তি করে থাকে, এই ক্ষেত্রে প্রতিক্রিয়াকারী ডিভাইসটিকে প্রথম ধাপ হিসাবে একটি Ranging Capability
বার্তার বিজ্ঞাপন দিতে হবে৷ ইনিশিয়েটর ডিভাইস (প্রাথমিক স্ক্যানার) বিজ্ঞাপনটি পড়ে এবং এই বার্তাটির প্রয়োজনীয়তা এড়িয়ে সরাসরি একটি Ranging Capability
বার্তা দিয়ে প্রতিক্রিয়া জানায়।
Ranging Capability Request
মেসেজ পেলোড নিম্নলিখিত টেবিলে সংক্ষিপ্ত করা হয়েছে:
অক্টেট | ডেটা টাইপ | বর্ণনা | মান |
---|---|---|---|
0 | uint8*2 | বিটফিল্ডের রেঞ্জিং প্রযুক্তির জন্য অনুরোধ করা হয়েছে |
|
রেঞ্জিং ক্যাপাবিলিটি রেসপন্স মেসেজ পেলোড
আকার (হেডারের আকার অন্তর্ভুক্ত নয়): পরিবর্তিত হয় (সাধারণ অংশ 2 বাইট এবং প্রতিটি অন্তর্ভুক্ত প্রযুক্তি বাইটের আকার)
বর্ণনা: Ranging Capability Request
মেসেজের প্রতিক্রিয়া হিসেবে উত্তরদাতার পাঠানো। এই বার্তার পেলোডটি সাধারণ অংশ এবং প্রযুক্তি-নির্দিষ্ট অংশগুলি নিয়ে গঠিত (BLE CS, Wi-Fi NAN RTT CS, BLE RSSI), যা নিম্নলিখিত টেবিলে দেখানো হয়েছে। প্রতিটি রেঞ্জিং প্রযুক্তি-নির্দিষ্ট অংশ শুধুমাত্র তখনই যোগ করতে হবে যদি সেই রেঞ্জিং প্রযুক্তিটি প্রতিক্রিয়াকারী ডিভাইস দ্বারা সমর্থিত হয় এবং Ranging Capability Request
বার্তায় অনুরোধ করা হয়। একটি বিজ্ঞাপন যোগাযোগ চ্যানেলের ক্ষেত্রে, সমস্ত সমর্থিত রেঞ্জিং প্রযুক্তি অবশ্যই অন্তর্ভুক্ত করতে হবে।
সাধারণ Ranging Capability Response
পেলোড নিম্নলিখিত সারণীতে সংক্ষিপ্ত করা হয়েছে:
অক্টেট | ডেটা টাইপ | বর্ণনা | মান |
---|---|---|---|
0 | uint8*2 | সমর্থিত রেঞ্জিং প্রযুক্তি বিটফিল্ড। রেঞ্জিং প্রযুক্তির ক্ষমতার সেট নির্দেশ করে যা বাকি পেলোডে অনুসরণ করে। |
|
2 | বাইট অ্যারে | রেঞ্জিং প্রযুক্তি ক্ষমতা বাইট। | প্রযুক্তির প্রতি সংজ্ঞায়িত স্ট্রাকটের বারবার ব্লক। |
UWB Ranging Capability Response
পেলোড নিম্নলিখিত টেবিলে সংক্ষিপ্ত করা হয়েছে:
অক্টেট | ডেটা টাইপ | বর্ণনা | মান |
---|---|---|---|
0 | uint8 | রেঞ্জিং প্রযুক্তি আইডি | 0x0 - UWB |
1 | uint8 | আকার | বাইটে UWB ক্ষমতার বাইটের আকার ( টেকনোলজি আইডি এবং সাইজ ফিল্ড সহ)। |
2 | uint8*2 | UWB ঠিকানা | 2 বাইট ডিভাইস UWB ঠিকানা। |
4 | uint8*4 | সমর্থিত চ্যানেল বিটফিল্ড | সমর্থিত চ্যানেলের বিটফিল্ড। 0 তে সেট করা বিট সমর্থিত নয় নির্দেশ করে, 1 সমর্থিত নির্দেশ করে। বিট 0 চ্যানেল 0 এর সাথে মিলে যায়।LSB == channel 0 MSB == channel 31 |
8 | uint8*4 | সমর্থিত প্রস্তাবনা সূচক বিটফিল্ড | সমর্থিত প্রস্তাবনা সূচির বিটফিল্ড। 0 তে সেট করা বিট সমর্থিত নয় নির্দেশ করে, 1 সমর্থিত নির্দেশ করে। বিট 0 প্রস্তাবনা সূচক 1 এর সাথে মিলে যায়।LSB == preamble index 1 MSB == preamble index 32 |
12 | uint8*4 | সমর্থিত কনফিগার আইডি বিটফিল্ড | সমর্থিত UWB কনফিগার আইডিগুলির বিটফিল্ড। 0 তে সেট করা বিট সমর্থিত নয় নির্দেশ করে, 1 সমর্থিত নির্দেশ করে।LSB == config Id 0 > MSB == config Id 31 |
16 | uint8*2 | সমর্থিত ন্যূনতম রেঞ্জিং ব্যবধান | মিলিসেকেন্ডে দ্রুততম সমর্থিত রেঞ্জিং ব্যবধান নির্দেশ করে। অনুমোদিত মান (এমএসে):
|
18 | uint8 | সমর্থিত ন্যূনতম স্লট সময়কাল | মিলিসেকেন্ডে ক্ষুদ্রতম সমর্থিত স্লট সময়কাল নির্দেশ করে। উদাহরণস্বরূপ, যদি ডিভাইসটি 1 ms ফেরত দেয় তাহলে ধরে নেওয়া হয় এটি 2 ms+ স্লট সময়কাল সমর্থন করে। অনুমোদিত মান (এমএসে):
|
19 | সমর্থিত UWB ডিভাইস ভূমিকা বিটফিল্ড | সমর্থিত UWB ভূমিকার বিটফিল্ড। উদাহরণস্বরূপ, যদি উভয়ই সমর্থিত হয় চূড়ান্ত ক্ষেত্রের মান 0x3।
|
BLE CS Ranging Capability Request
মেসেজ পেলোড নিম্নলিখিত সারণীতে সংক্ষিপ্ত করা হয়েছে:
অক্টেট | ডেটা টাইপ | বর্ণনা | মান |
---|---|---|---|
0 | uint8 | রেঞ্জিং প্রযুক্তি আইডি | 0x1 - BLE CS |
1 | uint8 | আকার | BLE CS ক্ষমতার বাইটের আকার ( টেকনোলজি আইডি এবং সাইজ ক্ষেত্র সহ) বাইটে। |
2 | uint8 | সমর্থিত নিরাপত্তা টাইপ বিটফিল্ড | BLE CS এর জন্য সমর্থিত নিরাপত্তা ধরনের বিটফিল্ড।
|
3 | uint8*6 | ডিভাইসের ঠিকানা | BLE CS এর জন্য ব্যবহৃত ডিভাইসের ঠিকানা; বড় এন্ডিয়ান অর্ডারে। |
Wi-Fi NAN RTT CS Ranging Capability Request
মেসেজ পেলোড নিম্নলিখিত সারণীতে সংক্ষিপ্ত করা হয়েছে:
অক্টেট | ডেটা টাইপ | বর্ণনা | মান |
---|---|---|---|
0 | uint8 | রেঞ্জিং প্রযুক্তি আইডি | 0x2 - Wi-Fi NAN RTT |
1 | uint8 | আকার | BLE RSSI ক্ষমতার বাইটের আকার ( টেকনোলজি আইডি এবং সাইজ ক্ষেত্র সহ) বাইটে। |
2 | uint8 | সমর্থিত বৈশিষ্ট্য বিটফিল্ড | সমর্থিত বৈশিষ্ট্যের বিটফিল্ড।
|
3 | uint8 | পর্যায়ক্রমিক পরিসীমা সমর্থন করে |
|
4 | uint8 | সমর্থিত ব্যান্ডউইথ | এই তথ্যটি Wi-Fi NAN ব্যবহার করে অর্জনযোগ্য রেঞ্জিং নির্ভুলতা অর্জনে সহায়তা করে এবং রেঞ্জের জন্য UWB, BLE CS, BLE RSSI, বা Wi-Fi NAN ব্যবহার করতে হবে কিনা তা নির্ধারণ করতে অ্যাপগুলিকে সাহায্য করতে পারে৷
|
5 | uint8 | প্রাপ্ত চেইন সমর্থিত সংখ্যা | এই তথ্যটি Wi-Fi NAN ব্যবহার করে অর্জনযোগ্য রেঞ্জিং নির্ভুলতা অর্জনে সহায়তা করে এবং রেঞ্জের জন্য UWB, BLE CS, BLE RSSI, বা Wi-Fi NAN ব্যবহার করতে হবে কিনা তা নির্ধারণ করতে অ্যাপগুলিকে সাহায্য করতে পারে৷
|
BLE RSSI Ranging Capability Request
মেসেজ পেলোড নিম্নলিখিত সারণীতে সংক্ষিপ্ত করা হয়েছে:
অক্টেট | ডেটা টাইপ | বর্ণনা | মান |
---|---|---|---|
0 | uint8 | রেঞ্জিং প্রযুক্তি আইডি | 0x3 - BLE CS |
1 | uint8 | আকার | বাইটে BLE RSSI ক্ষমতার বাইটের আকার ( টেকনোলজি আইডি এবং সাইজ ফিল্ড সহ) |
2 | uint8*6 | ডিভাইসের ঠিকানা | BLE RSSI-এর জন্য ব্যবহৃত ডিভাইসের ঠিকানা; বড় এন্ডিয়ান অর্ডারে |
রেঞ্জিং কনফিগারেশন বার্তা পেলোড
আকার (হেডারের আকার অন্তর্ভুক্ত নয়): পরিবর্তিত হয় (সাধারণ অংশ 4 বাইট এবং প্রতিটি অন্তর্ভুক্ত প্রযুক্তি বাইটের আকার)।
বর্ণনা: এই বার্তাটি সূচনাকারীর দ্বারা পাঠানো হয়েছে এবং এতে এমন কনফিগারেশন রয়েছে যা প্রতিটি রেঞ্জিং প্রযুক্তির সাথে শুরু হতে পারে। এই বার্তাটি পাওয়ার পর প্রতিক্রিয়াকারী ডিভাইসটিকে অবশ্যই প্রতিটি নির্দেশিত রেঞ্জিং প্রযুক্তির সাথে রেঞ্জিং শুরু করার চেষ্টা করতে হবে। এই বার্তার পেলোডটি সাধারণ অংশ এবং প্রযুক্তি-নির্দিষ্ট অংশগুলি নিয়ে গঠিত (UWB, BLE CS, Wi-Fi NAN RTT, BLE RSSI), যা নিম্নলিখিত টেবিলে দেখানো হয়েছে।
সাধারণ Ranging Configuration
বার্তা পেলোড নিম্নলিখিত সারণীতে সংক্ষিপ্ত করা হয়েছে:
অক্টেট | ডেটা টাইপ | বর্ণনা | মান |
---|---|---|---|
0 | uint8*2 | রেঞ্জিং প্রযুক্তি কনফিগারেশন সেট বিটফিল্ড | রেঞ্জিং প্রযুক্তির বিটফিল্ড যা এই বার্তাটিতে কনফিগারেশন ডেটা রয়েছে এবং যার জন্য কনফিগারেশন প্যারামিটার সেট করা আবশ্যক৷
|
2 | uint8*2 | বিটফিল্ড | আরএফইউ। রেঞ্জিং টেকনোলজিস কনফিগারেশন সেট বিটফিল্ড ফিল্ডের মতো একই মান সেট করা আবশ্যক। |
4 | বাইট অ্যারে | রেঞ্জিং প্রযুক্তি কনফিগারেশন বাইট | প্রযুক্তির প্রতি সংজ্ঞায়িত স্ট্রাকটের বারবার ব্লক |
UWB Ranging Configuration
বার্তা পেলোড নিম্নলিখিত সারণীতে সংক্ষিপ্ত করা হয়েছে:
অক্টেট | ডেটা টাইপ | বর্ণনা | মান |
---|---|---|---|
0 | uint8 | রেঞ্জিং প্রযুক্তি আইডি | 0x0 - UWB |
1 | uint8 | আকার | বাইটে UWB কনফিগারেশনের সাইজ ( টেকনোলজি আইডি এবং সাইজ ফিল্ড সহ) |
2 | uint8*2 | UWB ঠিকানা | 2 বাইট ডিভাইস UWB ঠিকানা |
4 | uint8*4 | সেশন আইডি | সেশন আইডি তৈরি করা হয়েছে। সেশন আইডি হল ফোন এবং পেরিফেরালের মধ্যে রেঞ্জিং সেশনের জন্য একটি অনন্য শনাক্তকারী। |
8 | uint8 | নির্বাচিত কনফিগার আইডি | পূর্ণসংখ্যায় নির্বাচিত কনফিগার আইডি নম্বর। কনফিগার আইডি টাইমিং প্যারামিটার এবং নিরাপত্তার ধরন নির্দিষ্ট করে যা UWB রেঞ্জিং সেশনের জন্য ব্যবহার করা আবশ্যক। |
9 | uint8 | নির্বাচিত চ্যানেল | UWB রেঞ্জিং সেশনের জন্য নির্বাচিত চ্যানেল |
10 | uint8 | নির্বাচিত প্রস্তাবনা সূচক | UWB রেঞ্জিং সেশনের জন্য নির্বাচিত প্রস্তাবনা সূচক |
11 | uint8*2 | নির্বাচিত রেঞ্জিং ব্যবধান | মিলিসেকেন্ডে ব্যবধানের হার বেছে নেওয়া হয়েছে। অনুমোদিত মান (এমএসে):
|
13 | uint8 | নির্বাচিত স্লট সময়কাল | মিলিসেকেন্ডে নির্বাচিত স্লট সময়কাল। অনুমোদিত মান (এমএসে):
|
14 | uint8 | সেশন কী দৈর্ঘ্য | বাইটে সেশন কী এর দৈর্ঘ্য |
15 | বাইট অ্যারে | সেশন কী | সেশন কী। যদি S-STS ব্যবহার করা হয় তাহলে প্রথম দুটি বাইট হল VENDOR ID এবং পরের ছয়টি বাইট হল STATIC STS IV। যদি P-STS ব্যবহার করা হয়, এটি হয় একটি 16 বাইট বা 32 বাইট সেশন কী। ব্যবহৃত নিরাপত্তার ধরন কনফিগার আইডি দ্বারা নির্ধারিত হয়। |
পরিবর্তিত হয় | uint8*2 | দেশের কোড | ISO 3166-1 alpha-2 দেশের কোড, দুটি ASCII অক্ষর দ্বারা উপস্থাপিত৷ |
পরিবর্তিত হয় | uint8 | নির্বাচিত ডিভাইস ভূমিকা |
|
পরিবর্তিত হয় | uint8 | নির্বাচিত ডিভাইস মোড |
|
BLE CS Ranging Configuration
বার্তা পেলোড নিম্নলিখিত সারণীতে সংক্ষিপ্ত করা হয়েছে:
অক্টেট | ডেটা টাইপ | বর্ণনা | মান |
---|---|---|---|
0 | uint8 | রেঞ্জিং প্রযুক্তি আইডি | 0x1 - BLE CS |
1 | uint8 | আকার | BLE CS কনফিগারেশনের সাইজ ( টেকনোলজি আইডি এবং সাইজ ফিল্ড সহ) বাইটে |
2 | uint8 | নির্বাচিত নিরাপত্তা প্রকার | নির্বাচিত নিরাপত্তা প্রকার। অনুমোদিত মান:
|
3 | uint8*6 | ডিভাইসের ঠিকানা | BLE CS এর জন্য ব্যবহৃত ডিভাইসের ঠিকানা; বড় এন্ডিয়ান অর্ডারে |
Wi-Fi NAN RTT Ranging Configuration
মেসেজ পেলোড নিম্নলিখিত সারণীতে সংক্ষিপ্ত করা হয়েছে:
অক্টেট | ডেটা টাইপ | বর্ণনা | মান |
---|---|---|---|
0 | uint8 | রেঞ্জিং প্রযুক্তি আইডি | 0x2 - Wi-Fi NAN RTT |
1 | uint8 | আকার | বাইটে Wi-Fi NAN RTT কনফিগারেশনের সাইজ ( টেকনোলজি আইডি এবং সাইজ ফিল্ড সহ) |
2 | uint8 | পরিষেবার নামের দৈর্ঘ্য | বাইটে পরিষেবার নাম ক্ষেত্রের দৈর্ঘ্য। Wi-Fi অ্যাওয়ার স্পেসিফিকেশন v4.0 বিভাগ 1.3.3 সারণি 1. সংজ্ঞা দেখুন। |
3 | বাইট অ্যারে | পরিষেবার নাম | পরিষেবার নাম। Wi-Fi অ্যাওয়ার স্পেসিফিকেশন v4.0 বিভাগ 1.3.3 সারণি 1. সংজ্ঞা দেখুন। |
পরিবর্তিত হয় | uint8 | ডিভাইসের ভূমিকা |
|
পরিবর্তিত হয় | uint8 | পর্যায়ক্রমিক পরিসীমা ব্যবহার করুন |
|
BLE RSSI Ranging Configuration
বার্তা পেলোড নিম্নলিখিত সারণীতে সংক্ষিপ্ত করা হয়েছে:
অক্টেট | ডেটা টাইপ | বর্ণনা | মান |
---|---|---|---|
0 | uint8 | রেঞ্জিং প্রযুক্তি আইডি | 0x3 - BLE RSSI |
1 | uint8 | আকার | BLE RSSI কনফিগারেশনের সাইজ ( টেকনোলজি আইডি এবং সাইজ ফিল্ড সহ) বাইটে |
2 | uint8*6 | ডিভাইসের ঠিকানা | BLE RSSI-এর জন্য ব্যবহৃত ডিভাইসের ঠিকানা; বড় এন্ডিয়ান অর্ডারে |
রেঞ্জিং কনফিগারেশন প্রতিক্রিয়া বার্তা পেলোড
আকার (হেডারের আকার অন্তর্ভুক্ত নয়): 2 বাইট
বর্ণনা: Ranging Configuration
বার্তার প্রতিক্রিয়া হিসাবে এই বার্তাটি উত্তরদাতা দ্বারা পাঠানো হয়। এই বার্তাটি ঐচ্ছিক, এটি শুধুমাত্র তখনই প্রয়োজন যখন ব্যবহৃত যোগাযোগ চ্যানেলের প্রতিটি অনুরোধের জন্য একটি স্পষ্ট প্রতিক্রিয়া প্রয়োজন।
Ranging Configuration Response
বার্তা পেলোড নিম্নলিখিত সারণীতে সংক্ষিপ্ত করা হয়েছে:
অক্টেট | ডেটা টাইপ | বর্ণনা | মান |
---|---|---|---|
0 | uint8*2 | রেঞ্জিং প্রযুক্তি কনফিগারেশন সফলভাবে বিটফিল্ড সেট করা হয়েছে | সফলভাবে সেট করা হয়েছে এমন বিস্তৃত প্রযুক্তির বিটফিল্ড। বিটফিল্ড রেঞ্জিং টেকনোলজি বিটকে 1 এ সেট করে যদি প্রযুক্তিটি অনুরোধ করা হয় এবং সফলভাবে সেট করা হয়, এবং অন্যথায় 0।
|
বার্তা পেলোড রেঞ্জিং বন্ধ করুন
আকার (হেডারের আকার অন্তর্ভুক্ত নয়): 2 বাইট
বর্ণনা: এই বার্তাটি ইনিশিয়েটর ডিভাইস দ্বারা পাঠানো হয় যখন নির্দিষ্ট রেঞ্জিং প্রযুক্তির সাথে রেঞ্জিং বন্ধ করার সময় হয়।
Stop Ranging
মেসেজ পেলোড নিম্নলিখিত সারণীতে সংক্ষিপ্ত করা হয়েছে:
অক্টেট | ডেটা টাইপ | বর্ণনা | মান |
---|---|---|---|
0 | uint8*2 | বিটফিল্ড বন্ধ করতে প্রযুক্তির রেঞ্জিং | রেঞ্জিং প্রযুক্তির বিটফিল্ড যা অবশ্যই রেঞ্জিং বন্ধ করতে হবে। বিট 1 তে সেট করা নির্দেশ করে রেঞ্জিং টেকনোলজিকে অবশ্যই রেঞ্জিং বন্ধ করতে হবে, এবং 0 ইঙ্গিত করে যে রেঞ্জিং টেকনোলজি হয় প্রথম স্থানে ছিল না, অথবা যদি এটি ইতিমধ্যেই রেঞ্জিং হয়ে থাকে তবে এটি অবশ্যই রেঞ্জিং চালিয়ে যেতে হবে। কিছু রেঞ্জিং প্রযুক্তির জন্য (যেমন CS) এটি একটি নো-অপ কারণ রেঞ্জিং শুরু করা হয় এবং শুধুমাত্র সূচনাকারীর পক্ষে বন্ধ করা হয়।
|
রেঞ্জিং প্রতিক্রিয়া বার্তা পেলোড বন্ধ করুন
আকার (হেডারের আকার অন্তর্ভুক্ত নয়): 2 বাইট
বর্ণনা: এই বার্তাটি উত্তরদাতা দ্বারা Stop Ranging
বার্তার প্রতিক্রিয়া হিসাবে পাঠানো হয়। এই বার্তাটি ঐচ্ছিক, এটি শুধুমাত্র তখনই প্রয়োজন যখন ব্যবহৃত যোগাযোগ চ্যানেলের প্রতিটি অনুরোধের জন্য একটি স্পষ্ট প্রতিক্রিয়া প্রয়োজন।
Stop Ranging Response
বার্তা পেলোড নিম্নলিখিত সারণীতে সংক্ষিপ্ত করা হয়েছে:
অক্টেট | ডেটা টাইপ | বর্ণনা | মান |
---|---|---|---|
0 | uint8*2 | রেঞ্জিং প্রযুক্তি সফলভাবে বিটফিল্ড বন্ধ করে দিয়েছে | রেঞ্জিং প্রযুক্তির বিটফিল্ড যা সফলভাবে রেঞ্জিং বন্ধ করে দিয়েছে। বিটফিল্ড রেঞ্জিং টেকনোলজি বিটকে 1 এ সেট করে যদি প্রযুক্তিটিকে থামানোর অনুরোধ করা হয় এবং যদি এটি সফলভাবে বন্ধ হয়ে যায়, এবং অন্যথায় 0।
|
সংস্করণ করা
স্পেসিফিকেশনের সংস্করণ প্রতিটি বার্তার শিরোনামে রয়েছে। এই বিভাগটি সংজ্ঞায়িত করে যে কীভাবে যোগাযোগ পরিচালিত হয় যখন একটি ডিভাইস (হয় শুরুকারী বা প্রতিক্রিয়াদাতা) অন্য ডিভাইসের তুলনায় একটি পুরানো সংস্করণে থাকে।
কেস 1: সংযোগ-ভিত্তিক যোগাযোগ চ্যানেল
এই বিভাগটি এমন ঘটনাগুলি বর্ণনা করে যেগুলি একটি সংযোগ-ভিত্তিক যোগাযোগ চ্যানেল ব্যবহার করে, যেখানে Ranging Capability Request
ইনিশিয়েটর ডিভাইস দ্বারা প্রেরিত প্রথম বার্তা।
কেস 1.a: ইনিশিয়েটর নতুন সংস্করণ সমর্থন করে, উত্তরদাতা স্পেসিফিকেশনের পুরানো সংস্করণ সমর্থন করে।
ইনিশিয়েটর ডিভাইস নতুন সংস্করণের সাথে Ranging Capability Request
বার্তা পাঠায়। উত্তরদাতা ডিভাইসটি শুধুমাত্র পুরানো সংস্করণকে সমর্থন করে, তাই এটি সেই সাথে সাড়া দেয় এবং তারপর উত্তরদাতার পুরোনো সংস্করণটি মেসেজ এক্সচেঞ্জের বাকি জন্য ব্যবহার করা হয়। এর মানে হল Ranging Capability Request
মেসেজটি ব্যাকওয়ার্ড সামঞ্জস্যপূর্ণ হতে হবে।
কেস 1.b: ইনিশিয়েটর পুরানো সংস্করণ সমর্থন করে, প্রতিক্রিয়াকারী স্পেসিফিকেশনের নতুন সংস্করণ সমর্থন করে।
উত্তরদাতা ডিভাইসটি দেখে যে সূচনাকারী ডিভাইসটি নতুন সংস্করণ ব্যবহার করতে সক্ষম নয় তাই এটি শুধুমাত্র সূচনাকারী ডিভাইস দ্বারা প্রাথমিকভাবে অনুরোধ করা পুরানো সংস্করণ ব্যবহার করে বার্তা পাঠায়।
কেস 2: বিজ্ঞাপন-ভিত্তিক যোগাযোগ চ্যানেল
এই বিভাগটি এমন ঘটনাগুলি বর্ণনা করে যা একটি বিজ্ঞাপন-ভিত্তিক যোগাযোগ চ্যানেল ব্যবহার করে, যেখানে প্রতিক্রিয়াকারী ডিভাইস প্রাথমিক অনুরোধ ছাড়াই সরাসরি Ranging Capability Request
বিজ্ঞাপন দেয়।
কেস 2.a: ইনিশিয়েটর নতুন সংস্করণ সমর্থন করে, প্রতিক্রিয়াকারী স্পেসিফিকেশনের পুরানো সংস্করণ সমর্থন করে।
Ranging Capability Response
বিজ্ঞাপনে সেট করা পুরোনো সংস্করণটি বাকি যোগাযোগের জন্য ব্যবহার করা হয়।
কেস 2.b: ইনিশিয়েটর পুরানো সংস্করণ সমর্থন করে, প্রতিক্রিয়াকারী স্পেসিফিকেশনের নতুন সংস্করণ সমর্থন করে।
Ranging Capability Response
বিজ্ঞাপনের নতুন সংস্করণটি অবশ্যই পিছিয়ে সামঞ্জস্যপূর্ণ হতে হবে যাতে ইনিশিয়েটর ডিভাইসটি নতুন সংস্করণ ব্যবহার করলেও বার্তাটি পড়তে পারে। সূচনাকারী ডিভাইসটি তখন এটি সমর্থন করে এমন পুরানো সংস্করণ ব্যবহার করে Ranging Configuration
বার্তা পাঠায়। এটি সেই সংস্করণ যা বাকি যোগাযোগের জন্য ব্যবহৃত হয়।
Ranging Capability Response
সামঞ্জস্যপূর্ণ কিনা তা নিশ্চিত করতে, Ranging Capability Response
মেসেজ পেলোডে এই স্পেসিফিকেশনের পরবর্তী সংস্করণে যোগ করা যেকোন নতুন ক্ষেত্র অবশ্যই পেলোডের শেষে যুক্ত করতে হবে এবং বিদ্যমান ক্ষেত্রগুলির কোনোটিই পরিবর্তন করা যাবে না। কনফিগারেশন পার্স করার সময়, যদি নির্দেশিত আকার প্রত্যাশিত আকারের চেয়ে বড় হয়, অতিরিক্ত ক্ষেত্রগুলিকে উপেক্ষা করা আবশ্যক যে কোনও ডিভাইস যা শুধুমাত্র স্পেসিফিকেশনের পুরানো সংস্করণ বুঝতে পারে।
ফ্র্যাগমেন্টেশন
এই স্পেসিফিকেশনটি যোগাযোগ চ্যানেল অজ্ঞেয়বাদী, তাই এটি সংজ্ঞায়িত করে না কিভাবে বার্তা পেলোডকে খণ্ডিত করা যায় এমন ক্ষেত্রে যেখানে একটি একক বার্তা ব্যবহার করা যোগাযোগ চ্যানেলের ট্রান্সফার প্যাকেটে ফিট করার জন্য খুব বড়। রেঞ্জিং মডিউল প্রতিটি বার্তা তার পূর্ণ আকারে পাওয়ার আশা করে। বিভক্তকরণের দায়িত্ব OOB যোগাযোগ চ্যানেলের বাস্তবায়নকারীর উপর বর্তায়।
রেঞ্জিং-প্রযুক্তি-নির্দিষ্ট
এই বিভাগে বিস্তৃত প্রযুক্তির নির্দিষ্ট বিবরণ রয়েছে।
আল্ট্রা-ওয়াইডব্যান্ড (UWB) সুনির্দিষ্ট
এই বিভাগটি অতি-ওয়াইডব্যান্ড নির্দিষ্ট বিবরণ বর্ণনা করে।
আইডি কনফিগার করুন
UWB-এর জন্য বিনিময় করা OOB কনফিগারেশন ডেটাতে উপলব্ধ কনফিগারযোগ্য প্যারামিটারগুলির একটি সম্পূর্ণ সেট থাকে না যা UWB-এর একটি UWB রেঞ্জিং সেশন শুরু করার জন্য প্রয়োজন। এর কারণ হল কিছু পরামিতি পরোক্ষভাবে নির্বাচিত কনফিগার আইডি দ্বারা নির্বাচিত হয়।
প্রতিটি কনফিগার আইডি হল পূর্বনির্ধারিত UWB কনফিগারেশন প্যারামিটারের একটি সেট যা UwbRangingParams
এ নথিভুক্ত করা হয়েছে। প্রতিক্রিয়াকারী ডিভাইসটি সক্ষমতার প্রতিক্রিয়া বার্তার অংশ হিসাবে সমর্থন করে এমন সমস্ত কনফিগার আইডিগুলির একটি তালিকা পাঠায় এবং সূচনাকারী ব্যবহার করা সমর্থিত কনফিগার আইডিগুলির একটি নির্বাচন করে। এটি OOB এর সময় কনফিগার পরামিতিগুলির একটি ছোট সেট বিনিময় করার অনুমতি দেয়। এটি পরামিতিগুলির সম্ভাব্য সংমিশ্রণের পরিমাণকেও সীমিত করে যা UWB এর সাথে পরিসরের জন্য ব্যবহার করা যেতে পারে, যা শুধুমাত্র পরামিতিগুলির অনুমোদিত সংমিশ্রণগুলির পরীক্ষাকে সম্ভব করে তোলে।
প্রতিটি UWB সেশনের পরে ক্ষমতার অনুরোধ করা
একটি বিদ্যমান UWB সেশন বন্ধ করার পরে এবং একটি নতুন UWB সেশন শুরু করার আগে, ইনিশিয়েটর ডিভাইসটিকে অবশ্যই প্রতিক্রিয়াকারী ডিভাইসের ক্ষমতার জন্য অনুরোধ করতে হবে এবং কনফিগারেশন প্যারামিটারগুলি আবার সেট করতে হবে, কারণ বর্তমান রেঞ্জিং সেশন শেষ হওয়ার সাথে সাথে UWB ঠিকানাটি ঘুরতে পারে।
BLE চ্যানেল সাউন্ডিং (CS) সুনির্দিষ্ট
এই বিভাগে চ্যানেলের নির্দিষ্ট বিবরণ বর্ণনা করে।
ডিভাইসের মধ্যে প্রয়োজনীয় বন্ধন
কাজ করার জন্য চ্যানেল সাউন্ডিং ব্যবহার করে রেঞ্জিংয়ের জন্য সূচনাকারী এবং প্রতিক্রিয়াকারী ডিভাইসের মধ্যে একটি বিদ্যমান বন্ধন প্রয়োজন। এই স্পেসিফিকেশন ডিভাইসগুলির মধ্যে একটি বন্ধন তৈরি করার জন্য একটি উপায় প্রদান করে না। রেঞ্জিং API-এর ব্যবহারকারীকে অবশ্যই ডিভাইসগুলির মধ্যে এই বন্ধনটি স্থাপন করতে হবে।
CS এর জন্য উত্তরদাতার পক্ষের দ্বারা প্রয়োজনীয় ব্যবস্থা
UWB-তে, উভয় ডিভাইসের জন্যই UWB স্টার্ট রেঞ্জিং কল করতে হবে এবং স্পষ্টভাবে রেঞ্জিং API বন্ধ করতে হবে। বিপরীতে, CS এর জন্য, Bluetooth (BT) স্ট্যাক কল করে CS রেঞ্জিং শুরু করার জন্য শুধুমাত্র সূচনাকারী ডিভাইসের প্রয়োজন হয়। রেসপন্ডার সাইডে বাকিটা শুরু করা হয় BT এর মাধ্যমে ব্যান্ডে। এর মানে হল Ranging Configuration
বার্তা বা CS-এর জন্য Stop Ranging
বার্তা পাওয়ার পরে, BT সক্রিয় থাকলে উত্তরদাতা পক্ষকে কিছু করতে হবে না। উত্তরদাতা ডিভাইস সেই বার্তাগুলিকে UI আপডেট করতে ট্রিগার হিসাবে ব্যবহার করতে পারে বা, উদাহরণস্বরূপ, ডিভাইসের LED গুলিকে ব্লিঙ্ক করতে পারে৷