اندروید ۱۶ ماژول مسافتیابی (Range) را معرفی کرد. این پروتکل و مشخصات بار مفید، توالی پیام و بار مفید ارتباط خارج از باند (OOB) را که برای تبادل پیکربندیهای مسافتیابی و شروع و توقف مسافتیابی بین آغازگر و دستگاه پاسخدهنده که در مسافتیابی شرکت میکنند، استفاده میشود، تعریف میکند. اندروید ۱۷ نسخه ۳ این مشخصات را معرفی میکند.
این صفحه به ارائهدهندگان دستگاههای غیراندرویدی امکان میدهد تا این مشخصات را پیادهسازی کنند تا دستگاههایشان با دستگاههای اندروید سازگار باشد.
پیادهسازی این مشخصات در زبان توصیف بسته (PDL) گوگل در GitHub موجود است. از این پیادهسازی، کامپایلر PDL میتواند کد سریالسازی و حذف سریالسازی را برای پیامهای تعریفشده در این مشخصات تولید کند. این مشخصات از زبانهای هدف متنوعی از جمله C++، Rust و Java پشتیبانی میکند.
چه چیزهایی در نسخه ۳ جدید است؟
نسخه ۳ مشخصات OOB تغییرات زیر را معرفی میکند:
- اعلان حرکت : پیامی که دستگاه تبلیغکننده برای اطلاعرسانی به دستگاه آغازگر در مورد تغییر حرکت استفاده میکند.
- پیکربندی مسافتیابی : شامل یک فیلد
Motion supportجدید است که به آغازگر میگوید هرگونه تغییر در حرکت محیطی از سوی پاسخدهنده را به پاسخدهنده اطلاع دهد. - پشتیبانی جدید از فناوری Wi-Fi PD در قابلیتهای مسافتیابی و پیکربندی مسافتیابی اضافه شد.
- فیلدهای
Supported BandwidthوSupported number of Receive chainsدرWi-Fi NAN RTT Ranging Capabilityمنسوخ شوند.
اندیان
مگر اینکه خلاف آن ذکر شده باشد، تمام فیلدهای عددی چند بایتی در پیامها به ترتیب little-endian هستند.
پیامها و توالی پیامها
این بخش پیامها و ترتیب تبادل پیام را شرح میدهد.
جدول زیر تمام پیامهای موجود در تبادل 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 |
شکلهای ۱ و ۲ نحوهی شروع تبادل پیام برای کانالهای ارتباطی مختلف را نشان میدهند.
برای کانالهای ارتباطی مبتنی بر اتصال مانند BLE GATT، تبادل پیام با ارسال Ranging Capability Request توسط دستگاه آغازگر به دستگاه پاسخدهنده آغاز میشود. دستگاه پاسخدهنده با ارسال Ranging Capability Response پاسخ میدهد، همانطور که در شکل 1 نشان داده شده است:

شکل ۱. تبادل پیام OOB با استفاده از یک کانال ارتباطی مبتنی بر اتصال.
برای کانالهای ارتباطی مبتنی بر تبلیغات، دستگاه پاسخدهنده با اعلان Ranging Capability Response شروع میکند. در این حالت، دستگاه آغازگر Ranging Capability Request ارسال نمیکند. در عوض، پس از شناسایی اعلان، هنگامی که دستگاه آغازگر (اسکنر اولیه) آماده است، با اعلان Ranging Configuration به عنوان اولین پیام خود پاسخ میدهد، همانطور که در شکل 2 نشان داده شده است:

شکل ۲. تبادل پیام OOB با استفاده از یک ارتباط مبتنی بر تبلیغات.
بقیهی تبادل پیام در هر دو مورد یکسان است. دستگاه پاسخدهنده بلافاصله پس از دریافت پیام Ranging Configuration شروع به مسافتیابی میکند. دستگاه پاسخدهنده پس از دریافت یا تشخیص پیام Stop Ranging مسافتیابی را متوقف میکند.
در جریان مبتنی بر اتصال، دستگاه پاسخدهنده فقط قابلیتهای فناوریهای مسافتیابی درخواستشده در پیام Ranging Capability Request را جمعآوری میکند، در حالی که در جریان اعلان، دستگاه پاسخدهنده باید تمام قابلیتهای خود را فهرست کند زیرا هیچ پیام درخواست قابلیت قبلی وجود ندارد.
دستگاه آغازگر فرض میکند که فقط یک پاسخ به هر پیام درخواستی که ارسال میکند، دریافت خواهد کرد. دستگاه پاسخدهنده نباید چنین فرضی داشته باشد تا بتواند به هر درخواستی با هر ترتیبی پاسخ دهد. این امر تأیید میکند که دستگاه پاسخدهنده میتواند به چندین پیام Ranging Capability Request متوالی یا هر پیام خارج از ترتیب دیگری از دستگاه آغازگر پاسخ دهد.
انتقال فناوری
نسخه OOB به دستگاهها اجازه میدهد تا در طول یک جلسه، به صورت پویا بین فناوریهای مختلف فاصلهیابی جابهجا شوند. برای تسهیل این امر، آغازگر میتواند:
- برای شروع فناوریهای جدید، چندین پیام
Ranging Configurationارسال کنید. - برای متوقف کردن فناوریهای فعال، چندین پیام
Stop Rangingارسال کنید.
ترتیب این پیامها بسته به طرح انتقال پشتیبانی شده توسط پاسخدهنده متفاوت است:
- شکستن قبل از ایجاد: آغازگر میتواند تنها با متوقف کردن اولی با پیام
Stop Rangingقبل از شروع دومی با پیامRanging Configurationبه فناوری جدید منتقل شود. - ایجاد قبل از قطع: آغازگر میتواند با استفاده از پیام
Ranging Configurationفناوری جدیدی را آغاز کند و سپس فناوریهای موجود را با پیامStop Rangingمتوقف کند.
سازمان پاسخگو باید مطابق با ارزش حوزه supported technology transitioning در Ranging Capability Response خود، از یکی از این طرحهای انتقال پشتیبانی کند.
شناسههای فناوری مسافتیابی
شناسههای فناوریهای مختلف در جدول زیر فهرست شدهاند:
| فناوری مسافتیابی | شناسه |
|---|---|
| اینترنت پرسرعت (UWB) | 0x0 |
| سی اس | 0x1 |
| وایفای NAN RTT | 0x2 |
| RSSI | 0x3 |
| وای فای پی دی | 0x4 |
| آر اف یو | 0x5 - 0xFF |
این شناسهها در جداول زیر که در آنها شناسه فناوری مسافتیابی مورد نیاز است، استفاده میشوند. برای فیلدهای حاوی فیلد بیتی فناوری مسافتیابی، بیتی مربوط به اندیس شناسه فناوری، زمانی که آن فناوری در فیلد بیتی گنجانده شده باشد، تنظیم میشود.
برای مثال، RSSI دارای مقدار شناسه ۳ است، اما اگر RSSI در فناوری فاصلهیابی میدان بیتی گنجانده شود، بیتی که موقعیت شناسه (۳) را دارد باید روشن شود (بیت اول در موقعیت ۰ باشد)، که باعث میشود مقدار حاصل از میدان بیتی ۰x۸ باشد. اگر هر دو UWB و RSSI گنجانده شوند، مقدار میدان بیتی ۰x۰A خواهد بود (هر دو بیت ۰ و ۳ روشن هستند).
قالب پیام
هر پیام از یک هدر (header) و یک فایل داده (payload) تشکیل شده است.

شکل ۳. قالب پیام.
سربرگ
اندازه: ۲ بایت
شرح: سرآیند (header) که در همه پیامها مشترک است، اولین بخشی است که وارد یک پیام میشود. سرآیند شامل یک نسخه و شناسه نوع پیام است. فیلد نسخه، نسخهای از این مشخصات را مشخص میکند که محتوای پیام با آن مطابقت دارد. برای اطلاعات بیشتر در مورد نحوه استفاده از نسخهبندی بین دستگاهها در نسخههای مختلف، به بخش نسخهبندی مراجعه کنید. سرآیند در نسخههای مختلف سازگار با نسخههای قبلی باقی میماند، به این معنی که مورد استفاده همیشه میتواند آن را تجزیه کند تا نسخه و شناسه پیام را تعیین کند.
سرفصل در جدول زیر خلاصه شده است:
| هشتتایی | نوع داده | توضیحات | ارزش |
|---|---|---|---|
| 0 | uint8 | نسخه |
|
| ۱ | uint8 | شناسه پیام |
|
بار مفید
اندازه: متغیر (بستگی به نوع پیام دارد)
شرح: بار مفید آخرین بخش پیام، پس از سرآیند آن است. بار مفید به نوع پیام بستگی دارد. قالب بار مفید هر نوع پیام در بخشهای بعدی تعریف شده است.
قابلیت مسافتیابی درخواست بار مفید پیام
اندازه (اندازه هدر شامل نمیشود): ۲ بایت
شرح: توسط دستگاه آغازگر برای شروع تبادل پیام ارسال میشود. این پیام زمانی اختیاری است که کانال ارتباطی مبتنی بر تبلیغات باشد، در این صورت دستگاه پاسخدهنده موظف است به عنوان اولین قدم، پیام Ranging Capability Response منتشر کند. دستگاه آغازگر (اسکنر اولیه) این پیام را میخواند و مستقیماً با پیام Ranging Capability Request پاسخ میدهد و از نیاز به این پیام اجتناب میکند.
خلاصهی پیام Ranging Capability Request ) در جدول زیر آمده است:
| هشتتایی | نوع داده | توضیحات | ارزش |
|---|---|---|---|
| 0 | uint8*2 | فناوریهای مسافتیابی درخواستی بیتفیلد |
|
قابلیت پیمایش، بار مفید پیام پاسخ
اندازه (اندازه هدر شامل نمیشود): متغیر است (۲ بایت بخش مشترک به علاوه اندازه هر بایت فناوری محدودهبندی شامل شده)
شرح: توسط پاسخدهنده به عنوان پاسخی به پیام Ranging Capability Request ارسال شده است. این پیام شامل بخش مشترک و بخشهای خاص فناوری مسافتیابی (BLE CS، Wi-Fi NAN RTT، BLE RSSI) است، همانطور که در جداول زیر نشان داده شده است. هر بخش خاص فناوری مسافتیابی فقط در صورتی باید اضافه شود که آن فناوری مسافتیابی توسط دستگاه پاسخدهنده پشتیبانی شود و در پیام Ranging Capability Request درخواست شده باشد. در مورد کانال ارتباطی تبلیغاتی، تمام فناوریهای مسافتیابی پشتیبانی شده باید گنجانده شوند.
محتوای پیام رایج Ranging Capability Response در جدول زیر خلاصه شده است:
| هشتتایی | نوع داده | توضیحات | ارزش |
|---|---|---|---|
| 0 | uint8*2 | فناوریهای مسافتیابی پشتیبانیشده در bitfield. نشاندهندهی مجموعهای از قابلیتهای فناوریهای مسافتیابی است که در ادامهی محمولهی داده دنبال میشوند. |
|
| ۲ | آرایه بایتی | بایتهای قابلیت فناوری مسافتیابی. | بلوکهای تکراری از سازهها که برای هر فناوری تعریف شدهاند. |
| متفاوت است | uint8 | نشان دهنده پشتیبانی از انتقال فناوری است. |
|
| متفاوت است | واحد۱۶ | نوع دستگاه پاسخ دهنده را نشان میدهد. |
|
خلاصه پیام Ranging Capability Response UWB در جدول زیر آمده است:
| هشتتایی | نوع داده | توضیحات | ارزش |
|---|---|---|---|
| 0 | uint8 | شناسه فناوری مسافتیابی | 0x0 - UWB |
| ۱ | uint8 | اندازه | اندازه بایتهای قابلیتهای UWB (شامل فیلدهای شناسه فناوری و اندازه ) بر حسب بایت. |
| ۲ | uint8*2 | آدرس UWB | آدرس UWB دستگاه ۲ بایتی. |
| ۴ | uint8*4 | کانالهای پشتیبانی شده توسط بیتفیلد | فیلد بیتی کانالهای پشتیبانیشده. بیت تنظیمشده روی ۰ نشان میدهد که پشتیبانی نمیشود، ۱ نشان میدهد که پشتیبانی میشود. بیت ۰ مربوط به کانال ۰ است.LSB == channel 0MSB == channel 31 |
| ۸ | uint8*4 | فیلد بیت شاخص مقدمه پشتیبانی شده | فیلد بیتی از اندیسهای مقدمه پشتیبانیشده. بیت تنظیمشده روی ۰ نشان میدهد که پشتیبانی نمیشود، ۱ نشان میدهد که پشتیبانی میشود. بیت ۰ مربوط به اندیس مقدمه ۱ است.LSB == preamble index 1MSB == preamble index 32 |
| ۱۲ | uint8*4 | شناسههای پیکربندی پشتیبانیشده bitfield | فیلد بیتی شناسههای پیکربندی UWB پشتیبانیشده. بیت تنظیمشده روی ۰ نشان میدهد که پشتیبانی نمیشود، ۱ نشان میدهد که پشتیبانی میشود.LSB == config Id 0MSB == config Id 31 |
| ۱۶ | uint8*2 | حداقل فاصلهی رنج پشتیبانیشده | سریعترین بازه مسافتیابی پشتیبانیشده را بر حسب میلیثانیه نشان میدهد. مقادیر مجاز (بر حسب میلیثانیه):
|
| ۱۸ | uint8 | حداقل مدت زمان اسلات پشتیبانی شده | کمترین مدت زمان اسلات پشتیبانی شده را بر حسب میلی ثانیه نشان میدهد. برای مثال، اگر دستگاه ۱ میلیثانیه را برگرداند، فرض بر این است که از مدت زمان اسلات ۲ میلیثانیه یا بالاتر نیز پشتیبانی میکند. مقادیر مجاز (بر حسب میلیثانیه):
|
| ۱۹ | نقش دستگاه UWB پشتیبانی شده در بیتفیلد | فیلد بیتی نقشهای UWB پشتیبانیشده. برای مثال، اگر هر دو پشتیبانی شوند، مقدار فیلد نهایی 0x3 است.
|
خلاصه پیام Ranging Capability Response BLE CS در جدول زیر آمده است:
| هشتتایی | نوع داده | توضیحات | ارزش |
|---|---|---|---|
| 0 | uint8 | شناسه فناوری مسافتیابی | 0x1 - BLE CS |
| ۱ | uint8 | اندازه | اندازه بایتهای قابلیتهای BLE CS (شامل فیلدهای شناسه فناوری و اندازه ) بر حسب بایت. |
| ۲ | uint8 | نوع امنیتی پشتیبانی شده: بیتفیلد | فیلد بیتی انواع امنیتی پشتیبانی شده برای BLE CS.
|
| ۳ | uint8*6 | آدرس دستگاه | آدرس دستگاه مورد استفاده برای BLE CS؛ به ترتیب big-endian. |
خلاصه پیام Ranging Capability Response Wi-Fi NAN RTT در جدول زیر آمده است:
| هشتتایی | نوع داده | توضیحات | ارزش |
|---|---|---|---|
| 0 | uint8 | شناسه فناوری مسافتیابی | 0x2 - وایفای NAN RTT |
| ۱ | uint8 | اندازه | اندازه بایتهای قابلیتهای RSSI در BLE (شامل فیلدهای شناسه فناوری و اندازه ) بر حسب بایت. |
| ۲ | uint8 | ویژگیهای پشتیبانیشده توسط بیتفیلد | فیلد بیتی از ویژگیهای پشتیبانی شده.
|
| ۳ | uint8 | پشتیبانی از اندازهگیریهای دورهای |
|
| ۴ | uint8 | پهنای باند پشتیبانی شده | منسوخ شده این اطلاعات به محاسبه دقت مسافتیابی قابل دستیابی با استفاده از Wi-Fi NAN کمک میکند و میتواند به برنامهها در تعیین اینکه آیا از UWB، BLE CS، BLE RSSI یا Wi-Fi NAN برای مسافتیابی استفاده کنند، کمک کند.
|
| ۵ | uint8 | تعداد زنجیرههای دریافتی پشتیبانی شده | منسوخ شده این اطلاعات به محاسبه دقت مسافتیابی قابل دستیابی با استفاده از Wi-Fi NAN کمک میکند و میتواند به برنامهها در تعیین اینکه آیا از UWB، BLE CS، BLE RSSI یا Wi-Fi NAN برای مسافتیابی استفاده کنند، کمک کند.
|
خلاصه پیام Ranging Capability Response BLE RSSI در جدول زیر آمده است:
| هشتتایی | نوع داده | توضیحات | ارزش |
|---|---|---|---|
| 0 | uint8 | شناسه فناوری مسافتیابی | 0x3 - RSSI خام |
| ۱ | uint8 | اندازه | اندازه بایتهای قابلیتهای RSSI در BLE (شامل فیلدهای شناسه فناوری و اندازه ) بر حسب بایت |
| ۲ | uint8*6 | آدرس دستگاه | آدرس دستگاه مورد استفاده برای BLE RSSI؛ به ترتیب big-endian |
خلاصه پیام Ranging Capability Response PD در Wi-Fi در جدول زیر آمده است:
| هشتتایی | نوع داده | توضیحات | ارزش |
|---|---|---|---|
| 0 | uint8 | شناسه فناوری مسافتیابی | 0x4 - وای فای پی دی |
| ۱ | uint8 | اندازه | اندازه بایتهای قابلیتهای Wi-Fi PD (شامل فیلدهای شناسه فناوری و اندازه ) بر حسب بایت |
| ۲ | uint8 | ویژگیهای پشتیبانیشده | بیتمپ
|
| ۳ | uint8 | حالت پان | بیتمپ
|
| ۴ | uint8*6 | آدرس دستگاه | آدرس دستگاه مورد استفاده برای Wi-Fi PD؛ به ترتیب بزرگ-پایانی. |
| ۱۰ | uint8*2 | حداقل فاصلهی اندازهگیری 802.11mc | حداقل فاصلهی اندازهگیری در قالب big-endian برای 11mc پشتیبانی میشود. |
| ۱۲ | uint8*2 | حداقل فاصله اندازهگیری 802.11az | حداقل فاصلهی اندازهگیری در قالب big-endian برای 11az پشتیبانی میشود |
| ۱۴ | uint8 | حداکثر نوع مقدمه |
|
| ۱۵ | uint8 | حداکثر عرض کانال |
|
| ۱۶ | uint8*2 | فرکانس کانال پشتیبانی شده |
|
بار مفید پیام پیکربندی محدودهبندی
اندازه (اندازه هدر شامل نمیشود): متغیر است (۴ بایت بخش مشترک به علاوه اندازه هر بایت فناوری محدودهبندی شامل شده).
شرح: این پیام توسط آغازگر ارسال میشود و شامل پیکربندیهایی است که هر فناوری مسافتیابی میتواند با آنها شروع به مسافتیابی کند. دستگاه پاسخدهنده باید پس از دریافت این پیام، سعی کند با هر فناوری مسافتیابی نشان داده شده، مسافتیابی را شروع کند. این پیام شامل بخش مشترک و بخشهای خاص فناوری مسافتیابی (UWB، BLE CS، Wi-Fi NAN RTT، BLE RSSI) است که در جداول زیر نشان داده شده است.
محتوای پیام رایج Ranging Configuration در جدول زیر خلاصه شده است:
| هشتتایی | نوع داده | توضیحات | ارزش |
|---|---|---|---|
| 0 | uint8*2 | پیکربندی فناوریهای مختلف، مجموعه بیتفیلد | حوزه بیتی فناوریهای مختلف که این پیام حاوی دادههای پیکربندی برای آنهاست و پارامترهای پیکربندی باید برای آنها تنظیم شوند.
|
| ۲ | uint8*2 | بیتفیلد | RFU. باید روی همان مقدار فیلد bitfield در مجموعه پیکربندی فناوریهای محدودهبندی تنظیم شود. |
| ۴ | آرایه بایتی | پیکربندی فناوریهای مختلف بایتها | بلوکهای تکراری از structها که برای هر فناوری تعریف شدهاند |
| متغیر است | uint8 | پشتیبانی از حرکت | Motion Notification درخواست شد
|
خلاصه پیام Ranging Configuration UWB در جدول زیر آمده است:
| هشتتایی | نوع داده | توضیحات | ارزش |
|---|---|---|---|
| 0 | uint8 | شناسه فناوری مسافتیابی | 0x0 - UWB |
| ۱ | uint8 | اندازه | اندازه پیکربندی UWB (شامل فیلدهای شناسه فناوری و اندازه ) بر حسب بایت |
| ۲ | uint8*2 | آدرس UWB | آدرس UWB دستگاه ۲ بایتی |
| ۴ | uint8*4 | شناسه جلسه | شناسه جلسه تولید شده. شناسه جلسه یک شناسه منحصر به فرد برای جلسه مسافتیابی بین تلفن و دستگاه جانبی است. |
| ۸ | uint8 | شناسه پیکربندی انتخاب شده | شماره شناسه پیکربندی انتخاب شده به صورت عدد صحیح. شناسه پیکربندی، پارامترهای زمانبندی و نوع امنیتی را که باید برای جلسه مسافتیابی UWB استفاده شود، مشخص میکند. |
| ۹ | uint8 | کانال انتخاب شده | کانال انتخاب شده برای جلسه فاصلهیابی UWB |
| ۱۰ | uint8 | فهرست مقدمه برگزیده | فهرست مقدماتی انتخاب شده برای جلسه مسافتیابی UWB |
| ۱۱ | uint8*2 | بازه انتخاب شده برای محدوده | نرخ بازه انتخاب شده برای اندازهگیری بر حسب میلیثانیه. مقادیر مجاز (بر حسب میلیثانیه):
|
| ۱۳ | uint8 | مدت زمان اسلات انتخاب شده | مدت زمان اسلات انتخاب شده بر حسب میلی ثانیه. مقادیر مجاز (بر حسب میلی ثانیه):
|
| ۱۴ | uint8 | طول کلید جلسه | طول کلید جلسه بر حسب بایت |
| ۱۵ | آرایه بایتی | کلید جلسه | کلید جلسه. اگر از S-STS استفاده شود، دو بایت اول شناسه فروشنده و شش بایت بعدی STATIC STS IV هستند. اگر از P-STS استفاده شود، این یک کلید جلسه ۱۶ بایتی یا ۳۲ بایتی است. نوع امنیت مورد استفاده توسط شناسه پیکربندی تعیین میشود. |
| متغیر است | uint8*2 | کد کشور | کد کشور ISO 3166-1 alpha-2، که با دو کاراکتر ASCII نمایش داده میشود |
| متغیر است | uint8 | نقش دستگاه انتخاب شده |
|
| متغیر است | uint8 | حالت دستگاه انتخاب شده |
|
خلاصه پیام Ranging Configuration BLE CS در جدول زیر آمده است:
| هشتتایی | نوع داده | توضیحات | ارزش |
|---|---|---|---|
| 0 | uint8 | شناسه فناوری مسافتیابی | 0x1 - BLE CS |
| ۱ | uint8 | اندازه | اندازه پیکربندی BLE CS (شامل فیلدهای شناسه فناوری و اندازه ) بر حسب بایت |
| ۲ | uint8 | نوع امنیتی انتخاب شده | نوع امنیتی انتخاب شده. مقادیر مجاز:
|
| ۳ | uint8*6 | آدرس دستگاه | آدرس دستگاه مورد استفاده برای BLE CS؛ به ترتیب big-endian |
خلاصه پیام Ranging Configuration Wi-Fi NAN RTT در جدول زیر آمده است:
| هشتتایی | نوع داده | توضیحات | ارزش |
|---|---|---|---|
| 0 | uint8 | شناسه فناوری مسافتیابی | 0x2 - وایفای NAN RTT |
| ۱ | uint8 | اندازه | اندازه پیکربندی Wi-Fi NAN RTT (شامل فیلدهای شناسه فناوری و اندازه ) بر حسب بایت |
| ۲ | uint8 | طول نام سرویس | طول فیلد نام سرویس بر حسب بایت. به بخش 1.3.3 از Wi-Fi Aware Specification نسخه 4.0 در جدول 1 مراجعه کنید. تعاریف. |
| ۳ | آرایه بایتی | نام سرویس | نام سرویس. به بخش ۱.۳.۳ از Wi-Fi Aware Specification نسخه ۴.۰ مراجعه کنید. جدول ۱. تعاریف. |
| متغیر است | uint8 | نقش دستگاه |
|
| متغیر است | uint8 | استفاده از محدودهبندی دورهای |
|
خلاصه پیام Ranging Configuration RSSI در BLE در جدول زیر آمده است:
| هشتتایی | نوع داده | توضیحات | ارزش |
|---|---|---|---|
| 0 | uint8 | شناسه فناوری مسافتیابی | 0x3 - RSSI خام |
| ۱ | uint8 | اندازه | اندازه پیکربندی BLE RSSI (شامل فیلدهای Technology ID و Size ) بر حسب بایت |
| ۲ | uint8*6 | آدرس دستگاه | آدرس دستگاه مورد استفاده برای BLE RSSI؛ به ترتیب big-endian |
خلاصه پیام Ranging Configuration PD در Wi-Fi در جدول زیر آمده است:
| هشتتایی | نوع داده | توضیحات | ارزش |
|---|---|---|---|
| 0 | uint8 | شناسه فناوری مسافتیابی | 0x4 - وای فای پی دی |
| ۱ | uint8 | اندازه | اندازه پیکربندی Wi-Fi NAN PD (شامل فیلدهای شناسه فناوری و اندازه ) بر حسب بایت |
| ۲ | uint8 | ویژگی |
|
| ۳ | uint8*6 | آدرس مک | آدرس مک آغازگر |
| ۹ | uint8*2 | فاصله زمانی | بازه اندازهگیری بر حسب میلیثانیه |
| ۱۱ | uint8 | مقدمه برگزیده |
|
| ۱۲ | uint8 | عرض کانال انتخاب شده |
|
| ۱۳ | uint8 | کانال انتخاب شده |
|
| ۱۴ | uint8 | حالت PASN انتخاب شده |
|
| ۱۵ | آرایه بایتی | کلید شناسایی دستگاه | آرایه ثابت ۱۶ بایتی توجه: این فیلد فقط برای حالت PASN احراز هویت شده معتبر است، نباید برای حالت PASN احراز هویت نشده تنظیم شود. |
| ۳۱ | uint8 | طول رمز عبور | طول رمز عبور. توجه: این فیلد فقط برای حالت PASN احراز هویت شده معتبر است و نباید برای حالت PASN احراز هویت نشده تنظیم شود. |
| متغیر است | آرایه بایتی | رمز عبور | رمز عبور به صورت آرایهای از بایتها. توجه: این فیلد فقط برای حالت PASN احراز هویت شده معتبر است و نباید برای حالت PASN احراز هویت نشده تنظیم شود. |
بار مفید پیام پاسخ پیکربندی محدودهبندی
اندازه (اندازه هدر شامل نمیشود): ۲ بایت
شرح: این پیام توسط پاسخدهنده به عنوان پاسخی به پیام Ranging Configuration ارسال میشود. این پیام اختیاری است؛ فقط زمانی لازم است که کانال ارتباطی مورد استفاده برای هر درخواست، پاسخ صریحی را درخواست کند.
خلاصهی پیام Ranging Configuration Response در جدول زیر آمده است:
| هشتتایی | نوع داده | توضیحات | ارزش |
|---|---|---|---|
| 0 | uint8*2 | پیکربندی فناوریهای متغیر با موفقیت در بیتفیلد تنظیم شد | فیلد بیتی فناوریهای مسافتیابی که با موفقیت تنظیم شدهاند. این فیلد بیتی، بیت فناوری مسافتیابی را در صورت درخواست و تنظیم موفقیتآمیز فناوری، روی ۱ و در غیر این صورت روی ۰ تنظیم میکند.
|
توقف ارسال پیام مسافتیابی
اندازه (اندازه هدر شامل نمیشود): ۲ بایت
شرح: این پیام توسط دستگاه آغازگر ارسال میشود، زمانی که زمان توقف مسافتیابی با فناوری مسافتیابی مشخص شده فرا رسیده است.
خلاصهی پیام Stop Ranging در جدول زیر آمده است:
| هشتتایی | نوع داده | توضیحات | ارزش |
|---|---|---|---|
| 0 | uint8*2 | فناوریهای متنوع برای متوقف کردن بیتفیلد | فیلد بیتی فناوریهای مسافتیابی که باید مسافتیابی را متوقف کنند. بیت تنظیمشده روی ۱ نشان میدهد که فناوری مسافتیابی باید مسافتیابی را متوقف کند، و ۰ نشان میدهد که فناوری مسافتیابی یا از ابتدا مسافتیابی نکرده است، یا اگر از قبل مسافتیابی میکرده، باید به مسافتیابی ادامه دهد. برای برخی از فناوریهای مسافتیابی (مانند CS) این یک گزینهی بیاثر است زیرا مسافتیابی فقط در سمت آغازگر آغاز و متوقف میشود.
|
توقف ارسال پیام پاسخ محدودهبندی
اندازه (اندازه هدر شامل نمیشود): ۲ بایت
شرح: این پیام توسط پاسخدهنده به عنوان پاسخی به پیام « Stop Ranging ارسال میشود. این پیام اختیاری است و فقط زمانی لازم است که کانال ارتباطی مورد استفاده برای هر درخواست، پاسخ صریحی را درخواست کند.
خلاصهی پیام Stop Ranging Response در جدول زیر آمده است:
| هشتتایی | نوع داده | توضیحات | ارزش |
|---|---|---|---|
| 0 | uint8*2 | فناوریهای مسافتیاب با موفقیت در بیتفیلد متوقف شدند | فیلد بیتی فناوریهای مسافتیابی که مسافتیابی را با موفقیت متوقف کردهاند. این فیلد بیتی، بیت فناوری مسافتیابی را در صورت درخواست توقف فناوری و توقف موفقیتآمیز آن، روی ۱ و در غیر این صورت روی ۰ تنظیم میکند.
|
بار مفید پیام هشدار حرکت
اندازه (اندازه هدر شامل نمیشود): ۱ بایت
شرح: دستگاه پاسخدهنده این پیام را ارسال میکند تا دستگاه آغازگر را از هرگونه تغییر در وضعیت حرکت خود مطلع سازد.
| هشتتایی | نوع داده | توضیحات | ارزش |
|---|---|---|---|
| 0 | uint8 | حرکت |
|
نسخهبندی
نسخه مشخصات در سربرگ هر پیام موجود است. این بخش نحوه انجام ارتباط را هنگامی که یکی از دستگاهها (چه آغازگر و چه پاسخدهنده) از نسخه قدیمیتری نسبت به دستگاه دیگر استفاده میکند، تعریف میکند.
مورد ۱: کانال ارتباطی مبتنی بر اتصال
این بخش مواردی را شرح میدهد که از کانال ارتباطی مبتنی بر اتصال استفاده میکنند، که در آن 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 اضافه میشود، باید به انتهای آن پیوست شود و هیچ یک از فیلدهای موجود قابل تغییر نیستند. هنگام تجزیه پیکربندی، اگر اندازه مشخص شده بزرگتر از حد انتظار باشد، فیلدهای اضافی باید توسط هر دستگاهی که فقط میتواند نسخه قدیمیتر مشخصات را درک کند، نادیده گرفته شوند.
تکهتکه شدن
این مشخصات مستقل از کانال ارتباطی است، بنابراین نحوه قطعه قطعه کردن بار پیام را در مواردی که یک پیام واحد برای جا شدن در یک بسته انتقال کانال ارتباطی مورد استفاده بسیار بزرگ است، تعریف نمیکند. ماژول محدودهبندی انتظار دارد هر پیام را به شکل کامل خود دریافت کند. مسئولیت قطعه قطعه کردن بر عهده مجری کانال ارتباطی OOB است.
مشخصات فناوری محدودهبندی
این بخش شامل جزئیاتی مربوط به فناوری فاصلهیابی است.
مشخصات فوق پهنباند (UWB)
این بخش جزئیات خاص پهنای باند فوق العاده وسیع را شرح میدهد.
شناسههای پیکربندی
دادههای پیکربندی OOB که برای UWB مبادله میشوند، شامل مجموعه کاملی از پارامترهای قابل تنظیم موجود که UWB برای شروع یک جلسه مسافتیابی UWB به آنها نیاز دارد، نیستند. دلیل این امر این است که برخی از پارامترها به طور ضمنی توسط شناسه پیکربندی انتخاب شده انتخاب میشوند.
هر شناسه پیکربندی مجموعهای از پارامترهای پیکربندی UWB از پیش تعریف شده است که در UwbRangingParams مستند شده است. دستگاه پاسخدهنده لیستی از تمام شناسههای پیکربندی که از آنها پشتیبانی میکند را به عنوان بخشی از شناسههای پیکربندی پشتیبانی شده توسط supports_technology_transitioning که استفاده میشود، ارسال میکند. این امر امکان تبادل مجموعه کوچکتری از پارامترهای پیکربندی را در طول OOB فراهم میکند. همچنین تعداد ترکیبات ممکن از پارامترهایی را که میتوان برای محدودهیابی با UWB استفاده کرد، محدود میکند، که آزمایش فقط ترکیبات مجاز پارامترها را ممکن میسازد.
درخواست قابلیتها پس از هر جلسه UWB
پس از متوقف کردن یک جلسه UWB موجود و قبل از شروع یک جلسه UWB جدید، دستگاه آغازگر باید قابلیتهای دستگاه پاسخدهنده را درخواست کرده و پارامترهای پیکربندی را دوباره تنظیم کند، زیرا آدرس UWB میتواند به محض پایان جلسه مسافتیابی فعلی، تغییر کند.
مشخصات کانال صوتی BLE (CS)
این بخش جزئیات خاص مربوط به کانالهای صوتی را شرح میدهد.
پیوند مورد نیاز بین دستگاهها
برای اینکه مسافتیابی با استفاده از کانالیابی کار کند، وجود یک پیوند بین آغازگر و دستگاه پاسخدهنده ضروری است. این مشخصات راهی برای ایجاد پیوند بین دستگاهها ارائه نمیدهد. کاربر APIهای مسافتیابی باید این پیوند را بین دستگاهها برقرار کند.
اقدام مورد نیاز از طرف پاسخدهنده برای CS
در UWB، هر دو دستگاه ملزم به فراخوانی صریح API شروع و پایان مسافتیابی UWB هستند. در مقابل، برای CS، فقط دستگاه آغازگر لازم است تا با فراخوانی پشته بلوتوث (BT) مسافتیابی CS را آغاز کند. بقیه مقداردهی اولیه در سمت پاسخدهنده در باند از طریق BT اتفاق میافتد. این بدان معناست که پس از دریافت پیام Ranging Configuration یا پیام Stop Ranging برای CS، در صورت فعال بودن BT، سمت پاسخدهنده نیازی به انجام کاری ندارد. دستگاه پاسخدهنده میتواند از این پیامها به عنوان یک محرک برای بهروزرسانی رابط کاربری یا به عنوان مثال، چشمک زدن LEDهای دستگاه استفاده کند.