اندروید ۱۶ ماژول مسافتیابی (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 |
تبادل پیام با ارسال Ranging Capability Request توسط دستگاه آغازگر به دستگاه پاسخدهنده آغاز میشود. دستگاه پاسخدهنده با ارسال Ranging Capability Response ) پاسخ میدهد، همانطور که در شکل 1 نشان داده شده است:

شکل ۱. تبادل پیام 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 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 | حداقل مدت زمان اسلات پشتیبانی شده | کمترین مدت زمان اسلات پشتیبانی شده را بر حسب میلی ثانیه نشان میدهد. برای مثال، اگر دستگاه ۱ میلیثانیه را برگرداند، فرض بر این است که از مدت زمان اسلات ۲ میلیثانیه یا بالاتر نیز پشتیبانی میکند. مقادیر مجاز (بر حسب میلیثانیه):
|
| ۱۹ | 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 | اندازه | اندازه قابلیتهای Wi-Fi NAN RTT (شامل فیلدهای شناسه فناوری و اندازه ) بر حسب بایت. |
| ۲ | 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 | حالت PASN | بیتمپ
|
| ۴ | 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 PD (شامل فیلدهای Technology ID و Size ) بر حسب بایت |
| ۲ | uint8 | ویژگی |
|
| ۳ | uint8*6 | آدرس مک | آدرس MAC آغازگر |
| ۹ | 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 باید با نسخههای قبلی سازگار باشد.
آغازگر از نسخه قدیمیتر و پاسخدهنده از نسخه جدیدتر مشخصات پشتیبانی میکنند
دستگاه پاسخدهنده متوجه میشود که دستگاه آغازگر قادر به استفاده از نسخه جدیدتر نیست، بنابراین فقط با استفاده از نسخه قدیمیتری که در ابتدا توسط دستگاه آغازگر درخواست شده بود، پیامها را ارسال میکند.
برای اطمینان از سازگاری پیامها با نسخههای قبلی، هر فیلد جدیدی که به نسخه بعدی این مشخصات اضافه میشود باید به انتهای فایل پیوست اضافه شود و هیچ یک از فیلدهای موجود قابل تغییر نیستند. هنگام تجزیه پیکربندی، اگر اندازه مشخص شده بزرگتر از حد انتظار باشد، فیلدهای اضافی باید توسط هر دستگاهی که فقط میتواند نسخه قدیمیتر مشخصات را درک کند، نادیده گرفته شوند.
تکهتکه شدن
این مشخصات مستقل از کانال ارتباطی است، بنابراین نحوه قطعه قطعه کردن بار پیام را در مواردی که یک پیام واحد برای جا شدن در یک بسته انتقال کانال ارتباطی مورد استفاده بسیار بزرگ است، تعریف نمیکند. ماژول محدودهبندی انتظار دارد هر پیام را به شکل کامل خود دریافت کند. مسئولیت قطعه قطعه کردن بر عهده مجری کانال ارتباطی OOB است.
مشخصات فناوری محدودهبندی
این بخش شامل جزئیاتی مربوط به فناوری فاصلهیابی است.
مشخصات فوق پهنباند (UWB)
این بخش جزئیات خاص پهنای باند فوق العاده وسیع را شرح میدهد.
شناسههای پیکربندی
دادههای پیکربندی OOB که برای UWB مبادله میشوند، شامل مجموعه کاملی از پارامترهای قابل تنظیم موجود که UWB برای شروع یک جلسه مسافتیابی UWB به آنها نیاز دارد، نیستند. دلیل این امر این است که برخی از پارامترها به طور ضمنی توسط شناسه پیکربندی انتخاب شده انتخاب میشوند.
هر شناسه پیکربندی مجموعهای از پارامترهای پیکربندی UWB از پیش تعریف شده است که در UwbRangingParams مستند شده است. دستگاه پاسخدهنده لیستی از تمام شناسههای پیکربندی که از آنها پشتیبانی میکند را به عنوان بخشی از پیام پاسخ قابلیت ارسال میکند و آغازگر یکی از شناسههای پیکربندی پشتیبانی شده مورد استفاده را انتخاب میکند. این امر امکان تبادل مجموعه کوچکتری از پارامترهای پیکربندی را در طول OOB فراهم میکند. همچنین تعداد ترکیبات ممکن از پارامترهایی را که میتوان برای محدودهیابی با UWB استفاده کرد، محدود میکند، که آزمایش فقط ترکیبات مجاز پارامترها را ممکن میسازد.
درخواست قابلیتها پس از هر جلسه UWB
پس از متوقف کردن یک جلسه UWB موجود و قبل از شروع یک جلسه UWB جدید، دستگاه آغازگر باید قابلیتهای دستگاه پاسخدهنده را درخواست کرده و پارامترهای پیکربندی را دوباره تنظیم کند، زیرا آدرس UWB میتواند به محض پایان جلسه مسافتیابی فعلی، تغییر کند.
مشخصات کانال صوتی BLE (CS)
این بخش جزئیات خاص مربوط به کانالهای صوتی را شرح میدهد.
رمزگذاری لینک مورد نیاز بین دستگاهها
برای اینکه مسافتیابی با استفاده از کانالیابی کار کند، وجود یک پیوند بین آغازگر و دستگاه پاسخدهنده ضروری است. این مشخصات راهی برای ایجاد پیوند بین دستگاهها ارائه نمیدهد. شما باید هنگام استفاده از APIهای مسافتیابی، این پیوند را بین دستگاهها برقرار کنید.
اقدام مورد نیاز از طرف پاسخدهنده برای CS
در UWB، هر دو دستگاه ملزم به فراخوانی صریح API شروع و پایان مسافتیابی UWB هستند. در مقابل، برای CS، فقط دستگاه آغازگر لازم است تا با فراخوانی پشته BT، مسافتیابی CS را آغاز کند. بقیه مقداردهی اولیه در سمت پاسخدهنده در باند از طریق BT اتفاق میافتد. این بدان معناست که پس از دریافت پیام Ranging Configuration یا پیام Stop Ranging برای CS، در صورت فعال بودن BT، سمت پاسخدهنده نیازی به انجام کاری ندارد. دستگاه پاسخدهنده میتواند از این پیامها به عنوان یک محرک برای بهروزرسانی رابط کاربری یا به عنوان مثال، چشمک زدن LEDهای دستگاه استفاده کند.