Android 16-এ রেঞ্জিং মডিউল চালু করা হয়েছে। এই প্রোটোকল ও পেলোড স্পেসিফিকেশন, রেঞ্জিং কনফিগারেশন এক্সচেঞ্জ করতে এবং রেঞ্জিং শুরু ও বন্ধ করতে, ইনিশিয়েটর ও রেসপন্ডার ডিভাইসের মধ্যে ব্যবহৃত আউট-অফ-ব্যান্ড (OOB) কমিউনিকেশনের মেসেজ সিকোয়েন্স ও পেলোডকে সংজ্ঞায়িত করে। Android 17 এই স্পেসিফিকেশনের ভার্সন 3 পরিচয় করায়।
এই পৃষ্ঠায় বর্ণনা করা হয়েছে যে কীভাবে Android নয় এমন ডিভাইস প্রদানকারী এই স্পেসিফিকেশন প্রয়োগ করতে পারেন যাতে তাদের ডিভাইস Android ডিভাইসের সাথে মানানসই হয়।
Google-এর প্যাকেট বিবরণ ভাষা (PDL)-এ এই স্পেসিফিকেশনের প্রয়োগ GitHub-এ উপলভ্য। এই ইমপ্লিমেন্টেশন থেকে, PDL কম্পাইলার এই স্পেসিফিকেশনে সংজ্ঞায়িত মেসেজের জন্য সিরিয়ালাইজেশন এবং ডিসিরিয়ালাইজেশন কোড তৈরি করতে পারে। এই স্পেসিফিকেশন C++, Rust এবং Java সহ বিভিন্ন ধরনের টার্গেট ভাষা সাপোর্ট করে।
ভার্সন ৩-এ নতুন কী আছে
OOB স্পেসিফিকেশনের ৩ নম্বর ভার্সনে নিম্নলিখিত পরিবর্তনগুলি করা হয়েছে:
- মোশন বিজ্ঞপ্তি: একটি মেসেজ যা বিজ্ঞাপনদাতার ডিভাইস ব্যবহার করে মোশন পরিবর্তনের সূচনা ডিভাইসকে বিজ্ঞপ্তি পাঠায়।
- রেঞ্জিং কনফিগারেশন: এতে একটি নতুন
Motion supportফিল্ড অন্তর্ভুক্ত থাকে যা ইনিশিয়েটরকে বলে যে রেসপন্ডারের পেরিফেরাল মুভমেন্টে কোনও পরিবর্তন হলে রেসপন্ডারকে যেন বিজ্ঞপ্তি পাঠানো হয়। - রেঞ্জিং ক্যাপাবিলিটি ও রেঞ্জিং কনফিগারেশনে নতুন ওয়াই-ফাই PD টেকনোলজি সহায়তা যোগ করা হয়েছে।
Wi-Fi NAN RTT Ranging Capability-এSupported BandwidthওSupported number of Receive chainsফিল্ড বাতিল করুন।
এন্ডিয়ানেস
অন্যভাবে নির্দিষ্ট করা না থাকলে, মেসেজের সমস্ত মাল্টি-বাইট নিউমেরিক ফিল্ড লিটল-এন্ডিয়ান অর্ডারে থাকে।
মেসেজ ও মেসেজের ক্রম
এই বিভাগে মেসেজ ও মেসেজ আদানপ্রদানের ক্রম বর্ণনা করা হয়েছে।
নিম্নলিখিত সারণীতে OOB এক্সচেঞ্জে উপস্থিত সমস্ত মেসেজ দেখানো হয়েছে:
| মেসেজ | মেসেজ আইডি |
|---|---|
Ranging Capability Request |
0x0 |
Ranging Capability Response |
0x1 |
Ranging Configuration |
0x2 |
Ranging Configuration Response (ঐচ্ছিক) |
0x3 |
Stop Ranging |
0x6 |
Stop Ranging Response (ঐচ্ছিক) |
0x7 |
Motion Notification |
0x8 |
ইনিশিয়েটর ডিভাইস রেসপন্ডার ডিভাইসে Ranging
Capability Request পাঠানোর মাধ্যমে মেসেজ আদানপ্রদান শুরু হয়। উত্তরদাতা ডিভাইস Ranging Capability Response পাঠিয়ে উত্তর দেয়, যেমনটি
ছবি ১-এ দেখানো হয়েছে:
ছবি ১. কানেকশন-ভিত্তিক যোগাযোগ চ্যানেল ব্যবহার করে OOB মেসেজ আদানপ্রদান।
Ranging
Configuration মেসেজ পাওয়ার সাথে সাথেই রেসপন্ডার ডিভাইস রেঞ্জিং শুরু করে দেয়। Stop Ranging মেসেজ পাওয়ার বা শনাক্ত করার পরে রেসপন্ডার ডিভাইস রেঞ্জিং বন্ধ করে দেয়।
উত্তরদাতা ডিভাইস শুধুমাত্র Ranging Capability Request
মেসেজে অনুরোধ করা রেঞ্জিং টেকনোলজির
ক্ষমতা পূরণ করে।
শুরু করা ডিভাইসটি আশা করে যে এটি যে কোনও অনুরোধ মেসেজের জন্য শুধুমাত্র একটি উত্তর পাবে
এটি পাঠায়। উত্তরদাতা ডিভাইসকে এই ধরনের কোনও অনুমান করা চলবে না, যাতে এটি
যেকোনও অনুরোধের উত্তর যেকোনও ক্রমে দিতে পারে। এটি যাচাই করে যে রেসপন্ডার ডিভাইসটি ইনিশিয়েটর ডিভাইস থেকে আসা একাধিক পরপর Ranging Capability Request মেসেজ বা কোনও
অন্যান্য এলোমেলো মেসেজের উত্তর দিতে
পারে কিনা।
প্রযুক্তিগত পরিবর্তন
OOB ভার্সন সেশন চলাকালীন ডিভাইসগুলিকে বিভিন্ন রেঞ্জিং টেকনোলজির মধ্যে ডায়নামিক ট্রানজিশন করতে দেয়। এটি সহজ করতে, ইনিশিয়েটর এগুলি করতে পারেন:
- নতুন প্রযুক্তি শুরু করতে একাধিক
Ranging Configurationমেসেজ পাঠান। - অ্যাক্টিভ প্রযুক্তি বন্ধ করতে একাধিক
Stop Rangingমেসেজ পাঠান।
এইসব মেসেজের ক্রম, উত্তরদাতার দ্বারা সমর্থিত ট্রানজিশনিং স্কিমের উপর নির্ভর করে আলাদা আলাদা হয়:
- ব্রেক-বিফোর-মেক: যিনি শুরু করছেন তিনি শুধুমাত্র
Stop Rangingমেসেজ দিয়ে প্রথমটি বন্ধ করেRanging Configurationমেসেজ দিয়ে দ্বিতীয়টি শুরু করার মাধ্যমে নতুন প্রযুক্তিতে ট্রানজিট করতে পারবেন। - মেক-বিফোর-ব্রেক: ইনিশিয়েটর
Ranging Configurationমেসেজ দিয়ে নতুন টেকনোলজি চালু করতে পারেন, তার পরেStop Rangingমেসেজ দিয়ে আগে থেকে থাকা টেকনোলজি বন্ধ করতে পারেন।
রেসপন্ডারকে অবশ্যই Ranging Capability Response-এ supported technology transitioning ফিল্ডের ভ্যালু
অনুযায়ী
এইসব ট্রানজিশন স্কিমের মধ্যে কোনও একটির জন্য সহায়তা প্রয়োগ করতে হবে।
রেঞ্জিং টেকনোলজি আইডি
রেঞ্জিং প্রযুক্তির আইডি নিম্নলিখিত টেবিলে তালিকাভুক্ত করা হয়েছে:
| রেঞ্জিং টেকনোলজি | আইডি |
|---|---|
| UWB | 0x0 |
| CS | 0x1 |
| ওয়াই-ফাই NAN RTT | 0x2 |
| RSSI | 0x3 |
| ওয়াই-ফাই PD | 0x4 |
| RFU | 0x5 - 0xFF |
এই পৃষ্ঠার টেবিলে এই আইডি ব্যবহার করা হয় যেখানে রেঞ্জিং টেকনোলজি আইডি প্রয়োজন। রেঞ্জিং টেকনোলজি বিটফিল্ড থাকা ফিল্ডের জন্য, সেই টেকনোলজি বিটফিল্ডে অন্তর্ভুক্ত থাকলে, টেকনোলজির ID-এর ইন্ডেক্সের সাথে সম্পর্কিত একটি বিট সেট করা হয়।
যেমন, RSSI-এর ID ভ্যালু ৩, কিন্তু রেঞ্জিং টেকনোলজি বিটফিল্ডে RSSI অন্তর্ভুক্ত থাকলে, ID (৩)-এর পজিশনের বিটটি অবশ্যই চালু করতে হবে (প্রথম বিটটি পজিশন ০-এ থাকে), এর ফলে বিটফিল্ডের ফলাফল 0x8 হয়। UWB ও RSSI, দুটিই অন্তর্ভুক্ত থাকলে, বিটফিল্ডের ভ্যালু হবে 0x0A (বিট 0 ও 3, দুটিই চালু করা আছে)।
মেসেজ ফর্ম্যাট
প্রতিটি মেসেজে একটি হেডার ও পে-লোড থাকে।
ছবি ৩। মেসেজ ফর্ম্যাট।
হেডার
সাইজ: ২ বাইট
বিবরণ: সব মেসেজ জুড়ে সাধারণ, হেডার হল প্রথম অংশ যা মেসেজে যায়। হেডারে মেসেজ টাইপের ভার্সন ও আইডি থাকে। মেসেজের কন্টেন্ট এই স্পেসিফিকেশনের যে ভার্সন মেনে চলে, ভার্সন ফিল্ডে সেটি উল্লেখ করা হয়। বিভিন্ন ভার্সনের ডিভাইসের মধ্যে কীভাবে ভার্সনিং ব্যবহার করা হয় সেই সম্পর্কে আরও জানতে, ভার্সনিং দেখুন। হেডার বিভিন্ন ভার্সন জুড়ে ব্যাকওয়ার্ড-কম্প্যাটিবল থাকে, যার অর্থ হল, মেসেজের ভার্সন ও আইডি নির্ধারণ করতে ইউজ কেস সবসময় এটি পার্স করতে পারে।
নিম্নলিখিত সারণীতে হেডার সংক্ষিপ্তভাবে তুলে ধরা হয়েছে:
| অক্টেট | ডেটার ধরন | বর্ণনা | মান |
|---|---|---|---|
| 0 | uint8 | ভার্সন |
|
| 1 | uint8 | মেসেজ আইডি |
|
পেলোড
সাইজ: আলাদা আলাদা (মেসেজের ধরনের উপর নির্ভর করে)
বিবরণ: পে-লোড হল মেসেজের শেষ অংশ, যা হেডারের পরে থাকে। মেসেজের ধরনের উপর পে-লোড নির্ভর করে। প্রতিটি আলাদা মেসেজ ধরনের পেলোডের ফর্ম্যাট নিম্নলিখিত বিভাগে বর্ণনা করা হয়েছে।
রেঞ্জিংয়ের ক্ষমতা সংক্রান্ত অনুরোধের মেসেজ পেলোড
সাইজ (হেডার সাইজ অন্তর্ভুক্ত নয়): ২ বাইট
বিবরণ: মেসেজ আদানপ্রদান শুরু করার জন্য ইনিশিয়েটর ডিভাইস থেকে পাঠানো হয়।
Ranging Capability Request মেসেজ পেলোডটি নিম্নলিখিত
টেবিলে সংক্ষিপ্তসার করা হয়েছে:
| অক্টেট | ডেটার ধরন | বর্ণনা | মান |
|---|---|---|---|
| 0 | uint8*2 | রেঞ্জিং টেকনোলজির বিটফিল্ড সংক্রান্ত অনুরোধ |
|
রেঞ্জিং ক্যাপাবিলিটি রেসপন্স মেসেজ পেলোড
সাইজ (হেডারের সাইজ অন্তর্ভুক্ত নয়): আলাদা আলাদা (সাধারণ অংশ ২ বাইট এবং অন্তর্ভুক্ত প্রতিটি রেঞ্জিং টেকনোলজির বাইটের সাইজ)
বিবরণ: Ranging Capability
Request মেসেজের উত্তরে উত্তরদাতা পাঠিয়েছেন। এই মেসেজ পেলোডে সাধারণ অংশ এবং রেঞ্জিং
টেকনোলজি-নির্দিষ্ট অংশ (BLE CS, Wi-Fi NAN RTT, BLE RSSI) থাকে, যা
নিম্নলিখিত সারণীতে দেখানো হয়েছে। রেঞ্জিং প্রযুক্তি-নির্দিষ্ট প্রতিটি অংশ শুধুমাত্র তখনই যোগ করতে হবে যদি
সেই রেঞ্জিং প্রযুক্তি উত্তরদাতা ডিভাইসের মাধ্যমে কাজ করে এবং Ranging Capability Request মেসেজে
অনুরোধ করা হয়।
সাধারণ Ranging Capability Response মেসেজ পেলোড নিম্নলিখিত টেবিলে
সংক্ষিপ্ত করা হয়েছে:
| অক্টেট | ডেটার ধরন | বর্ণনা | মান |
|---|---|---|---|
| 0 | uint৮*২ | রেঞ্জিং টেকনোলজি বিটফিল্ড কাজ করে। পে-লোডের বাকি অংশে যেসব রেঞ্জিং টেকনোলজি আছে সেগুলির ক্ষমতার সেট নির্দেশ করে। |
|
| 2 | বাইট অ্যারে | রেঞ্জিং টেকনোলজি কেপেবিলিটি বাইট। | প্রতিটি প্রযুক্তির জন্য সংজ্ঞায়িত স্ট্রাক্টের পুনরাবৃত্ত ব্লক। |
| পার্থক্য হয় | uint8 | প্রযুক্তিগত ট্রানজিশন সংক্রান্ত সহায়তা নির্দেশ করে। |
|
| পার্থক্য হয় | uint16 | উত্তরদাতা ডিভাইসের ধরন বোঝায়। |
|
UWB Ranging Capability Response মেসেজ পেলোড নিম্নলিখিত টেবিলে
সংক্ষিপ্ত করা হয়েছে:
| অক্টেট | ডেটার ধরন | বর্ণনা | মান |
|---|---|---|---|
| 0 | uint8 | রেঞ্জিং টেকনোলজি আইডি | 0x0 - UWB |
| 1 | uint8 | আকার | UWB ক্যাপাবিলিটি বাইটের সাইজ (এর মধ্যে টেকনোলজি আইডি ও সাইজ ফিল্ড অন্তর্ভুক্ত) বাইটে। |
| 2 | uint৮*২ | UWB অ্যাড্রেস | ২ বাইট ডিভাইস UWB অ্যাড্রেস। |
| 4 | uint8*4 | কাজ করে এমন চ্যানেলের বিটফিল্ড | সাপোর্ট করা চ্যানেলের বিটফিল্ড। বিট ০ হিসেবে সেট করা থাকলে বুঝতে হবে যে এটি কাজ করে না এবং ১ হিসেবে সেট করা থাকলে বুঝতে হবে যে এটি কাজ করে। বিট ০, চ্যানেল ০-এর সাথে সম্পর্কিত।LSB == channel 0MSB == channel 31 |
| 8 | uint8*4 | কাজ করে এমন প্রিম্বেল ইনডেক্স বিটফিল্ড | কাজ করে এমন প্রিঅ্যাম্বেল ইন্ডেক্সের বিটফিল্ড। বিট ০ হিসেবে সেট করা থাকলে বুঝতে হবে যে এটি কাজ করে না এবং ১ হিসেবে সেট করা থাকলে বুঝতে হবে যে এটি কাজ করে। বিট ০ প্রারম্ভিক নির্দেশাবলী ইন্ডেক্স ১-এর সাথে সম্পর্কিত।LSB == preamble index 1MSB == preamble index 32 |
| 12 | uint8*4 | কাজ করে এমন কনফিগারেশন আইডি বিটফিল্ড | কাজ করে এমন UWB কনফিগারেশন আইডির বিটফিল্ড। বিট ০-তে সেট করা থাকলে তা কাজ করবে না, ১-এ সেট করা থাকলে কাজ করবে।LSB == config Id 0MSB == config Id 31 |
| 16 | uint8*2 | কাজ করে এমন ন্যূনতম রেঞ্জিং ইন্টারভ্যাল | মিলিসেকেন্ডে দ্রুততম সমর্থিত রেঞ্জিং ইন্টারভাল নির্দেশ করে। অনুমোদিত মান (মিলি সেকেন্ডে):
|
| 18 | uint8 | সাপোর্ট করে এমন ন্যূনতম স্লটের সময়সীমা | মিলিসেকেন্ডে সবচেয়ে ছোট স্লটের সময়সীমা নির্দেশ করে। যেমন, ডিভাইস যদি ১ মি.সে. রিটার্ন করে, তাহলে ধরে নেওয়া হয় যে এটি ২ মি.সে. বা তার বেশি স্লট ডিউরেশনও সাপোর্ট করে। অনুমোদিত মান (মিলি সেকেন্ডে):
|
| 19 | uint8 | কাজ করে এমন UWB ডিভাইসের ভূমিকা সংক্রান্ত বিটফিল্ড | কাজ করে এমন UWB রোলের বিটফিল্ড। যেমন, দু'টিই কাজ করলে, ফাইনাল ফিল্ড ভ্যালু হল 0x3.
|
BLE CS Ranging Capability Response মেসেজ পেলোড নিম্নলিখিত টেবিলে
সংক্ষিপ্ত করা হয়েছে:
| অক্টেট | ডেটার ধরন | বর্ণনা | মান |
|---|---|---|---|
| 0 | uint8 | রেঞ্জিং টেকনোলজি আইডি | 0x1 - BLE CS |
| 1 | uint8 | আকার | বাইট হিসেবে BLE CS ক্যাপাবিলিটি বাইটের সাইজ (টেকনোলজি আইডি ও সাইজ ফিল্ড সহ)। |
| 2 | uint8 | কাজ করে এমন নিরাপত্তা সংক্রান্ত বিটফিল্ডের ধরন | BLE CS-এর জন্য কাজ করে এমন নিরাপত্তা সংক্রান্ত ধরনের বিটফিল্ড।
|
| 3 | uint8*6 | ডিভাইসের ঠিকানা | BLE CS-এর জন্য ব্যবহৃত ডিভাইসের ঠিকানা; বিগ-এন্ডিয়ান ক্রমে। |
Wi-Fi NAN RTT Ranging Capability Response মেসেজ পেলোড নিম্নলিখিত সারণীতে
সংক্ষিপ্ত করা হয়েছে:
| অক্টেট | ডেটার ধরন | বর্ণনা | মান |
|---|---|---|---|
| 0 | uint8 | রেঞ্জিং টেকনোলজি আইডি | 0x2 - Wi-Fi NAN RTT |
| 1 | uint8 | আকার | বাইট হিসেবে ওয়াই-ফাই NAN RTT ক্ষমতার সাইজ (টেকনোলজি আইডি ও সাইজ ফিল্ড সহ)। |
| 2 | uint8 | কাজ করে এমন ফিচারের বিটফিল্ড | কাজ করে এমন ফিচারের বিটফিল্ড।
|
| 3 | uint8 | পিরিয়ডিক রেঞ্জিং কাজ করে |
|
| 4 | uint8 | কাজ করে এমন ব্যান্ডউইথ | ডেপ্রিকেট করা হয়েছে: এই তথ্য Wi-Fi NAN ব্যবহার করে রেঞ্জিংয়ের ক্ষেত্রে
অর্জনযোগ্য নির্ভুলতা নির্ধারণ করতে সাহায্য করে এবং রেঞ্জিংয়ের জন্য UWB, BLE CS, BLE RSSI নাকি Wi-Fi NAN ব্যবহার করা হবে তা নির্ধারণ করতে অ্যাপকে সাহায্য করতে পারে।
|
| 5 | uint8 | কাজ করে এমন রিসিভ চেনের সংখ্যা | পুরনো হয়ে গেছে: এই তথ্য ওয়াই-ফাই NAN ব্যবহার করে অর্জনযোগ্য রেঞ্জিংয়ের নির্ভুলতা পেতে সাহায্য করে এবং রেঞ্জিংয়ের জন্য UWB, BLE CS, BLE RSSI বা ওয়াই-ফাই NAN ব্যবহার করা উচিত কিনা তা নির্ধারণ করতে অ্যাপকে সাহায্য করতে পারে।
|
BLE RSSI Ranging Capability Response মেসেজ পেলোডকে নিম্নলিখিত
টেবিলে সংক্ষিপ্তসার করা হয়েছে:
| অক্টেট | ডেটার ধরন | বর্ণনা | মান |
|---|---|---|---|
| 0 | uint8 | রেঞ্জিং টেকনোলজি আইডি | 0x3 - BLE RSSI |
| 1 | uint8 | আকার | BLE RSSI ক্ষমতার বাইটের সাইজ (টেকনোলজি আইডি এবং সাইজ ফিল্ড সহ) বাইটে |
| 2 | uint8*6 | ডিভাইসের ঠিকানা | BLE RSSI-এর জন্য ব্যবহৃত ডিভাইসের অ্যাড্রেস; বিগ-এন্ডিয়ান অর্ডারে |
Wi-Fi PD Ranging Capability Response মেসেজ পেলোডকে নিম্নলিখিত
টেবিলে সংক্ষিপ্তসার করা হয়েছে:
| অক্টেট | ডেটার ধরন | বর্ণনা | মান |
|---|---|---|---|
| 0 | uint8 | রেঞ্জিং টেকনোলজি আইডি | 0x4 - Wi-Fi PD |
| 1 | uint8 | আকার | ওয়াই-ফাই PD ক্ষমতার বাইটের সাইজ (টেকনোলজি আইডি এবং সাইজ ফিল্ড সহ) বাইটে |
| 2 | uint8 | যেসব ফিচার কাজ করে | বিটম্যাপ
|
| 3 | uint8 | PASN মোড | বিটম্যাপ
|
| 4 | uint8*6 | ডিভাইসের ঠিকানা | ওয়াই-ফাই PD-র জন্য ব্যবহৃত ডিভাইসের অ্যাড্রেস; বিগ-এন্ডিয়ান অর্ডারে। |
| 10 | uint8*2 | ন্যূনতম রেঞ্জিং ইন্টারভ্যাল 802.11mc | 11mc-এর জন্য বিগ-এন্ডিয়ান ফর্ম্যাটে কাজ করে এমন ন্যূনতম রেঞ্জিং ইন্টারভ্যাল |
| 12 | uint8*2 | ন্যূনতম রেঞ্জিং ইন্টারভ্যাল 802.11az | 11az-এর জন্য বিগ-এন্ডিয়ান ফর্ম্যাটে কাজ করে এমন ন্যূনতম রেঞ্জিং ইন্টারভ্যাল |
| 14 | uint8 | সর্বাধিক প্রিম্বেল ধরন |
এটি ধরে নেয় যে সব লোয়ার প্রারম্ভিক নির্দেশাবলীর ধরন কাজ করে। |
| 15 | uint8 | চ্যানেলের সর্বাধিক প্রস্থ |
এর অর্থ হল, সব কম চ্যানেল উইডথ কাজ করে। |
| 16 | uint৮*২ | কাজ করে এমন চ্যানেল ফ্রিকোয়েন্সি |
|
রেঞ্জিং কনফিগারেশন মেসেজ পেলোড
সাইজ (হেডার সাইজ অন্তর্ভুক্ত নয়): পরিবর্তিত হয় (সাধারণ অংশ ৪ বাইট এবং অন্তর্ভুক্ত প্রতিটি রেঞ্জিং টেকনোলজি বাইটের সাইজ)।
বিবরণ: এই মেসেজটি ইনিশিয়েটর পাঠায় এবং এতে সেইসব কনফিগারেশন থাকে যেগুলি দিয়ে রেঞ্জিং টেকনোলজি রেঞ্জিং শুরু করতে পারে। এই মেসেজ পাওয়ার পরে, রেসপন্ডার ডিভাইসকে অবশ্যই প্রতিটি নির্দেশিত রেঞ্জিং প্রযুক্তির সাথে রেঞ্জিং শুরু করার চেষ্টা করতে হবে। এই মেসেজ পেলোডের মধ্যে সাধারণ অংশ এবং রেঞ্জিং টেকনোলজি-নির্দিষ্ট অংশ (UWB, BLE CS, Wi-Fi NAN RTT, BLE RSSI) থাকে, যা নিম্নলিখিত সারণীতে দেখানো হয়েছে।
সাধারণ Ranging Configuration মেসেজ পেলোডকে নিম্নলিখিত
টেবিলে সংক্ষিপ্তসার করা হয়েছে:
| অক্টেট | ডেটার ধরন | বর্ণনা | মান |
|---|---|---|---|
| 0 | uint8*2 | রেঞ্জিং টেকনোলজি কনফিগারেশন সেট বিটফিল্ড | এই মেসেজে যে রেঞ্জিং টেকনোলজির কনফিগারেশন ডেটা আছে এবং যে কনফিগারেশন প্যারামিটার সেট করতে হবে তার বিটফিল্ড।
|
| 2 | uint8*2 | বিটফিল্ড | RFU. রেঞ্জিং টেকনোলজি কনফিগারেশন সেট বিটফিল্ড ফিল্ডের মতো একই ভ্যালুতে সেট করতে হবে। |
| 4 | বাইট অ্যারে | রেঞ্জিং টেকনোলজি কনফিগারেশন বাইট | প্রতিটি প্রযুক্তির জন্য সংজ্ঞায়িত স্ট্রাক্টের পুনরাবৃত্তি ব্লক |
| পার্থক্য হয় | uint8 | মোশন সহায়তা | Motion Notification অনুরোধ করা হয়েছে
|
UWB Ranging Configuration মেসেজ পেলোডকে নিম্নলিখিত
টেবিলে সংক্ষিপ্তসার করা হয়েছে:
| অক্টেট | ডেটার ধরন | বর্ণনা | মান |
|---|---|---|---|
| 0 | uint8 | রেঞ্জিং টেকনোলজি আইডি | 0x0 - UWB |
| 1 | uint8 | আকার | UWB কনফিগারেশনের সাইজ (টেকনোলজি আইডি এবং সাইজ ফিল্ড সহ) বাইটে |
| 2 | uint৮*২ | UWB অ্যাড্রেস | ২ বাইট ডিভাইস UWB অ্যাড্রেস |
| 4 | uint8*4 | সেশন আইডি | জেনারেট করা সেশন আইডি। ফোন ও পেরিফেরালের মধ্যে রেঞ্জিং সেশনের জন্য সেশন আইডি হল অনন্য শনাক্তকারী। |
| 8 | uint8 | বেছে নেওয়া কনফিগারেশন আইডি | ইন্টিজারে config ID নম্বর বেছে নেওয়া হয়েছে। কনফিগারেশন আইডি, UWB রেঞ্জিং সেশনের জন্য ব্যবহার করতে হবে এমন টাইমিং প্যারামিটার ও নিরাপত্তার ধরন নির্দিষ্ট করে। |
| 9 | uint8 | বেছে নেওয়া চ্যানেল | UWB রেঞ্জিং সেশনের জন্য বেছে নেওয়া চ্যানেল |
| 10 | uint8 | বেছে নেওয়া প্রস্তাবনার ইন্ডেক্স | UWB রেঞ্জিং সেশনের জন্য বেছে নেওয়া প্রারম্ভিক নির্দেশাবলীর ইন্ডেক্স |
| 11 | uint8*2 | বেছে নেওয়া রেঞ্জিং ইন্টারভ্যাল | মিলিসেকেন্ডে বেছে নেওয়া রেঞ্জিং ইন্টারভ্যাল রেট। অনুমোদিত মান (মিলি সেকেন্ডে):
|
| 13 | uint8 | বেছে নেওয়া স্লটের সময়সীমা | বেছে নেওয়া স্লটের সময়সীমা মিলিসেকেন্ডে। অনুমোদিত মান (মিলি সেকেন্ডে):
|
| 14 | uint8 | সেশন কী-এর দৈর্ঘ্য | বাইটে সেশন কী-এর দৈর্ঘ্য |
| 15 | বাইট অ্যারে | সেশন কী | সেশন কী। S-STS ব্যবহার করা হলে, প্রথম দুটি বাইট হল VENDOR ID এবং পরের ছয়টি বাইট হল STATIC STS IV. P-STS ব্যবহার করা হলে, এটি ১৬ বাইট বা ৩২ বাইট সেশন কী হয়। কোন ধরনের নিরাপত্তা ব্যবহার করা হবে তা কনফিগারেশন আইডি থেকে জানা যায়। |
| আলাদা আলাদা হয় | 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 | আকার | ওয়াই-ফাই NAN RTT কনফিগারেশনের সাইজ (টেকনোলজি আইডি এবং সাইজ ফিল্ড সহ) বাইটে |
| 2 | uint8 | পরিষেবার নামের দৈর্ঘ্য | বাইটে পরিষেবার নামের ফিল্ডের দৈর্ঘ্য। Wi-Fi Aware স্পেসিফিকেশন v4.0 বিভাগ ১.৩.৩ টেবিল ১ দেখুন। সংজ্ঞা। |
| 3 | বাইট অ্যারে | পরিষেবার নাম | পরিষেবার নাম। Wi-Fi Aware স্পেসিফিকেশন v4.0 বিভাগ ১.৩.৩ টেবিল ১ দেখুন। সংজ্ঞা। |
| আলাদা আলাদা হয় | uint8 | ডিভাইসের ভূমিকা |
|
| আলাদা আলাদা হয় | uint8 | নির্দিষ্ট সময় অন্তর রেঞ্জিং ব্যবহার করুন |
|
BLE RSSI Ranging Configuration মেসেজ পেলোডকে নিম্নলিখিত
টেবিলে সংক্ষিপ্তসার করা হয়েছে:
| অক্টেট | ডেটার ধরন | বর্ণনা | মান |
|---|---|---|---|
| 0 | uint8 | রেঞ্জিং টেকনোলজি আইডি | 0x3 - BLE RSSI |
| 1 | uint8 | আকার | BLE RSSI কনফিগারেশনের সাইজ (টেকনোলজি আইডি এবং সাইজ ফিল্ড সহ) বাইটে |
| 2 | uint8*6 | ডিভাইসের ঠিকানা | BLE RSSI-এর জন্য ব্যবহৃত ডিভাইসের অ্যাড্রেস; বিগ-এন্ডিয়ান অর্ডারে |
Wi-Fi PD Ranging Configuration মেসেজ পেলোডকে নিম্নলিখিত
টেবিলে সংক্ষিপ্তসার করা হয়েছে:
| অক্টেট | ডেটার ধরন | বর্ণনা | মান |
|---|---|---|---|
| 0 | uint8 | রেঞ্জিং টেকনোলজি আইডি | 0x4 - Wi-Fi PD |
| 1 | uint8 | আকার | বাইট হিসেবে ওয়াই-ফাই PD কনফিগারেশনের সাইজ (টেকনোলজি আইডি ও সাইজ ফিল্ড সহ) |
| 2 | uint8 | ফিচার |
|
| 3 | uint8*6 | MAC অ্যাড্রেস | ইনিশিয়েটরের MAC অ্যাড্রেস |
| 9 | uint8*2 | রেঞ্জিং ইন্টার্ভাল | মিলিসেকেন্ডে রেঞ্জিং ইন্টারভ্যাল |
| 11 | uint8 | বেছে নেওয়া প্রস্তাবনা |
|
| 12 | uint8 | বেছে নেওয়া চ্যানেলের প্রস্থ |
|
| 13 | uint8 | বেছে নেওয়া চ্যানেল |
|
| 14 | uint8 | বেছে নেওয়া PASN মোড |
|
| 15 | বাইট অ্যারে | ডিভাইস আইডেন্টিটি কী | ১৬ বাইট ফিক্সড অ্যারে মনে রাখবেন: এই ফিল্ড শুধুমাত্র যাচাই করা PASN মোডের জন্য বৈধ, যাচাই না করা PASN মোডের জন্য সেট করা যাবে না |
| ৩১ | uint8 | পাসওয়ার্ডের দৈর্ঘ্য | পাসওয়ার্ডের দৈর্ঘ্য। মনে রাখবেন: এই ফিল্ড শুধুমাত্র যাচাই করা PASN মোডের জন্য বৈধ, যাচাই না করা PASN মোডের জন্য সেট করা যাবে না। |
| আলাদা আলাদা হয় | বাইট অ্যারে | পাসওয়ার্ড | বাইট অ্যারে হিসেবে পাসওয়ার্ড।
মনে রাখবেন: এই ফিল্ড শুধুমাত্র যাচাই করা PASN মোডের জন্য বৈধ, যাচাই না করা PASN মোডের জন্য সেট করা যাবে না। |
রেঞ্জিং কনফিগারেশন সংক্রান্ত উত্তরের মেসেজ পেলোড
সাইজ (হেডারের সাইজ অন্তর্ভুক্ত নয়): ২ বাইট
বিবরণ: এই মেসেজটি উত্তরদাতা Ranging Configuration মেসেজের উত্তর হিসেবে পাঠিয়েছেন। এই মেসেজটি ঐচ্ছিক; এটি শুধুমাত্র তখনই প্রয়োজন হয়
যখন ব্যবহৃত যোগাযোগ চ্যানেলে প্রতিটি অনুরোধের জন্য একটি স্পষ্ট উত্তর
প্রয়োজন হয়।
Ranging Configuration Response মেসেজ পেলোডের সারসংক্ষেপ নিচের
টেবিলে দেওয়া হল:
| অক্টেট | ডেটার ধরন | বর্ণনা | মান |
|---|---|---|---|
| 0 | uint৮*২ | রেঞ্জিং টেকনোলজি কনফিগারেশন সফলভাবে সেট করা হয়েছে বিটফিল্ড | সফলভাবে সেট করা রেঞ্জিং টেকনোলজির বিটফিল্ড। প্রযুক্তি অনুরোধ করা হলে এবং সেটি সফলভাবে সেট করা হলে, বিটফিল্ড রেঞ্জিং টেকনোলজি বিটকে ১ হিসেবে সেট করে এবং অন্যথায় ০ হিসেবে সেট করে।
|
রেঞ্জিং মেসেজ পেলোড বন্ধ করা
সাইজ (হেডার সাইজ অন্তর্ভুক্ত নয়): ২ বাইট
বিবরণ: নির্দিষ্ট রেঞ্জিং টেকনোলজি ব্যবহার করে রেঞ্জিং বন্ধ করার সময় হলে, ইনিশিয়েটর ডিভাইস এই মেসেজ পাঠায়।
Stop Ranging মেসেজ পেলোড নিম্নলিখিত টেবিলে সংক্ষিপ্ত আকারে দেওয়া হল:
| অক্টেট | ডেটার ধরন | বর্ণনা | মান |
|---|---|---|---|
| 0 | uint8*2 | বিটফিল্ড বন্ধ করার জন্য রেঞ্জিং প্রযুক্তি | রেঞ্জিং টেকনোলজির বিটফিল্ড যা অবশ্যই রেঞ্জিং বন্ধ করবে। বিট ১-এ সেট করা থাকলে তা নির্দেশ করে যে রেঞ্জিং প্রযুক্তিকে অবশ্যই রেঞ্জিং বন্ধ করতে হবে এবং ০ নির্দেশ করে যে রেঞ্জিং প্রযুক্তি প্রথম স্থানে রেঞ্জিং করছিল না বা এটি আগে থেকেই রেঞ্জিং করলে অবশ্যই রেঞ্জিং চালিয়ে যেতে হবে। কিছু রেঞ্জিং টেকনোলজির (যেমন CS) ক্ষেত্রে এটি কোনও অপারেশন নয় কারণ রেঞ্জিং শুধুমাত্র ইনিশিয়েটরের দিকেই শুরু ও বন্ধ করা হয়।
|
রেঞ্জিং রেসপন্স মেসেজ পেলোড বন্ধ করুন
সাইজ (হেডারের সাইজ অন্তর্ভুক্ত নয়): ২ বাইট
বিবরণ: এই মেসেজটি উত্তরদাতা
Stop Ranging মেসেজের উত্তর হিসেবে পাঠিয়েছেন। এই মেসেজটি ঐচ্ছিক, এটি শুধুমাত্র তখনই প্রয়োজন হয় যখন
ব্যবহৃত যোগাযোগ চ্যানেলের প্রতিটি অনুরোধের জন্য একটি স্পষ্ট উত্তর প্রয়োজন হয়।
Stop Ranging Response মেসেজ পেলোডের সারসংক্ষেপ নিম্নলিখিত
টেবিলে দেওয়া হল:
| অক্টেট | ডেটার ধরন | বর্ণনা | মান |
|---|---|---|---|
| 0 | uint৮*২ | Ranging প্রযুক্তি সফলভাবে বন্ধ করা হয়েছে বিটফিল্ড | রেঞ্জিং টেকনোলজির বিটফিল্ড যা সফলভাবে রেঞ্জিং বন্ধ করেছে। টেকনোলজি বন্ধ করার অনুরোধ করা হলে এবং সেটি সফলভাবে বন্ধ হয়ে গেলে, বিটফিল্ড রেঞ্জিং টেকনোলজি বিটকে ১ হিসেবে সেট করে এবং অন্যথায় ০ হিসেবে সেট করে।
|
মোশন বিজ্ঞপ্তি মেসেজ পেলোড
সাইজ (হেডার সাইজ অন্তর্ভুক্ত নয়): ১ বাইট
বিবরণ: রেসপন্ডার ডিভাইসটি এই মেসেজটি পাঠিয়ে ইনিশিয়েটিং ডিভাইসকে তার মোশন স্ট্যাটাসে হওয়া যেকোনও পরিবর্তন সম্পর্কে জানায়।
| অক্টেট | ডেটার ধরন | বর্ণনা | মান |
|---|---|---|---|
| 0 | uint8 | মোশন |
|
ভার্সনিং
প্রতিটি মেসেজের হেডারে স্পেসিফিকেশনের ভার্সন থাকে।
এই বিভাগে, কীভাবে কমিউনিকেশন পরিচালনা করা হয় তা সংজ্ঞায়িত করা হয়েছে যখন ডিভাইসগুলির মধ্যে একটি
(ইনিশিয়েটর বা রেসপন্ডার) অন্য
ডিভাইসের চেয়ে পুরনো ভার্সনে থাকে। Ranging Capability Request হল ডিভাইস থেকে পাঠানো প্রথম মেসেজ
যা কথোপকথন শুরু করেছে।
ইনিশিয়েটর নতুন ভার্সনে কাজ করে, রেসপন্ডার স্পেসিফিকেশনের পুরনো ভার্সনে কাজ করে
ইনিশিয়েটর ডিভাইস Ranging Capability Request মেসেজটি
নতুন ভার্সনের সাথে পাঠায়। প্রতিক্রিয়া প্রদানকারী ডিভাইসে শুধুমাত্র পুরনো ভার্সন কাজ করে, তাই সেটি
সেটি দিয়েই উত্তর দেয় এবং তারপরে মেসেজ আদানপ্রদানের বাকি অংশের জন্য প্রতিক্রিয়া
প্রদানকারী ডিভাইসের পুরনো ভার্সন ব্যবহার করা হয়। এর অর্থ হল, Ranging Capability Request
মেসেজ ব্যাকওয়ার্ড কম্প্যাটিবল হতে হবে।
ইনিশিয়েটর পুরনো ভার্সনে কাজ করে, রেসপন্ডার স্পেসিফিকেশনের নতুন ভার্সনে কাজ করে
রেসপন্ডার ডিভাইস দেখে যে ইনিশিয়েটর ডিভাইসটি নতুন ভার্সন ব্যবহার করতে পারছে না, তাই এটি শুধুমাত্র ইনিশিয়েটর ডিভাইসের মাধ্যমে প্রাথমিকভাবে অনুরোধ করা পুরনো ভার্সন ব্যবহার করে মেসেজ পাঠায়।
মেসেজ যাতে আগের ভার্সনের সাথে মানানসই হয় তা নিশ্চিত করতে, এই স্পেসিফিকেশনের পরবর্তী ভার্সনে যোগ করা যেকোনও নতুন ফিল্ডকে অবশ্যই পেলোডের শেষে যোগ করতে হবে এবং আগে থেকে থাকা কোনও ফিল্ড পরিবর্তন করা যাবে না। কনফিগারেশন পার্স করার সময়, উল্লেখ করা সাইজ প্রত্যাশিত সাইজের চেয়ে বড় হলে, স্পেসিফিকেশনের শুধু পুরনো ভার্সন বুঝতে পারে এমন যেকোনও ডিভাইসকে অতিরিক্ত ফিল্ড অবশ্যই উপেক্ষা করতে হবে।
ফ্র্যাগমেন্টেশন
এই স্পেসিফিকেশন কমিউনিকেশন চ্যানেল অ্যাগনস্টিক, তাই এটি নির্ধারণ করে না যে কীভাবে মেসেজ পেলোড ফ্র্যাগমেন্ট করতে হবে, যদি কোনও একটি মেসেজ এতটাই বড় হয় যে সেটি ব্যবহৃত কমিউনিকেশন চ্যানেলের ট্রান্সফার প্যাকেটে ফিট না করে। রেঞ্জিং মডিউল প্রতিটি মেসেজ সম্পূর্ণ ফর্মে পেতে চায়। OOB কমিউনিকেশন চ্যানেল ইমপ্লিমেন্টকারীর উপর ফ্র্যাগমেন্টেশন সংক্রান্ত দায়িত্ব বর্তায়।
Ranging-technology-specifics
এই বিভাগে রেঞ্জিং টেকনোলজি সম্পর্কিত নির্দিষ্ট বিবরণ রয়েছে।
আলট্রা-ওয়াইডব্যান্ড (UWB) সংক্রান্ত নির্দিষ্ট তথ্য
এই বিভাগে আল্ট্রা-ওয়াইডব্যান্ড সংক্রান্ত নির্দিষ্ট বিবরণ দেওয়া আছে।
কনফিগারেশন আইডি
UWB-এর জন্য এক্সচেঞ্জ করা OOB কনফিগারেশন ডেটাতে UWB রেঞ্জিং সেশন শুরু করার জন্য UWB-এর প্রয়োজনীয় উপলভ্য কনফিগার করা যায় এমন প্যারামিটারের সম্পূর্ণ সেট নেই। এর কারণ হল, বেছে নেওয়া কনফিগারেশন আইডির মাধ্যমে কিছু প্যারামিটার পরোক্ষভাবে বেছে নেওয়া হয়।
প্রতিটি কনফিগারেশন আইডি হল আগে থেকে নির্ধারিত UWB কনফিগারেশন প্যারামিটারের একটি সেট যা
UwbRangingParams-এ
ডকুমেন্ট করা আছে। উত্তর
প্রদানকারী ডিভাইস, কাজ করার উপযুক্ত
প্রতিক্রিয়া মেসেজের অংশ হিসেবে, কাজ করে এমন সবকটি কনফিগারেশন আইডির একটি তালিকা পাঠায় এবং শুরুকারী ডিভাইস কাজ করে এমন
কনফিগারেশন আইডির মধ্যে থেকে একটি বেছে নেয় যেটি ব্যবহার করা হয়। এর ফলে OOB চলাকালীন কনফিগারেশন প্যারামিটারের একটি ছোট সেট
এক্সচেঞ্জ করা যায়। এছাড়াও, এটি UWB-এর সাথে রেঞ্জিংয়ের জন্য ব্যবহার করা যেতে পারে এমন প্যারামিটারের সম্ভাব্য কম্বিনেশনের সংখ্যা সীমিত করে, যা শুধুমাত্র প্যারামিটারের অনুমোদিত কম্বিনেশনের পরীক্ষা করা সম্ভব করে তোলে।
প্রতিটি UWB সেশনের পরে ক্ষমতা অনুরোধ করা
আগে থেকে থাকা UWB সেশন বন্ধ করার পরে এবং নতুন UWB সেশন শুরু করার আগে, ইনিশিয়েটর ডিভাইসকে অবশ্যই রেসপন্ডার ডিভাইসের ক্ষমতা সম্পর্কে অনুরোধ করতে হবে এবং কনফিগারেশন প্যারামিটার আবার সেট করতে হবে, কারণ বর্তমান রেঞ্জিং সেশন শেষ হওয়ার সাথে সাথেই UWB অ্যাড্রেস পরিবর্তন হতে পারে।
BLE চ্যানেল সাউন্ডিং (CS) সংক্রান্ত নির্দিষ্ট তথ্য
এই বিভাগে চ্যানেল সাউন্ডিং সংক্রান্ত নির্দিষ্ট বিবরণ দেওয়া আছে।
ডিভাইসগুলির মধ্যে লিঙ্ক এনক্রিপশন প্রয়োজন
চ্যানেল সাউন্ডিং ব্যবহার করে রেঞ্জিং কাজ করার জন্য ইনিশিয়েটর ও রেসপন্ডার ডিভাইসের মধ্যে আগে থেকেই বন্ড থাকতে হবে। এই স্পেসিফিকেশন ডিভাইসের মধ্যে বন্ড তৈরি করার কোনও উপায় প্রদান করে না। রেঞ্জিং API ব্যবহার করার সময় আপনাকে ডিভাইসের মধ্যে এই বন্ড তৈরি করতে হবে।
CS-এর জন্য উত্তরদাতার দিক থেকে ব্যবস্থা নিতে হবে
UWB-তে, UWB রেঞ্জিং শুরু ও বন্ধ করার API স্পষ্টভাবে কল করার জন্য দুটি ডিভাইসেরই প্রয়োজন। অন্যদিকে, CS-এর ক্ষেত্রে, BT স্ট্যাক কল করে CS রেঞ্জিং শুরু করার জন্য
শুধুমাত্র ইনিশিয়েটর ডিভাইস প্রয়োজন। বাকি
ইনিশিয়ালাইজেশন রেসপন্ডারের দিকে ব্যান্ডে BT-এর মাধ্যমে হয়। এর অর্থ হল
CS-এর জন্য Ranging Configuration মেসেজ বা Stop Ranging মেসেজ
পাওয়ার পরে, BT চালু থাকলে রেসপন্ডারের দিকে আর কিছু করতে হয় না। উত্তরদাতা ডিভাইস UI আপডেট করার জন্য সেইসব মেসেজকে ট্রিগার হিসেবে ব্যবহার করতে পারে অথবা, যেমন
ডিভাইসের LED আলো ব্লিঙ্ক করতে পারে।