В Android 16 был представлен модуль Ranging . Эта спецификация протокола и полезной нагрузки определяет последовательность сообщений и полезную нагрузку внеполосной (OOB) связи, используемой для обмена конфигурациями измерения расстояния, а также для запуска и остановки измерения расстояния между устройством-инициатором и устройством-ответчиком, участвующими в измерении расстояния. В Android 16 QPR3 представлена версия 2 этой спецификации.
Основная цель этой страницы — дать возможность производителям устройств, не работающих под управлением Android, внедрить данную спецификацию, чтобы их устройства были совместимы с устройствами Android.
An implementation of this specification in Google's Packet Description Language (PDL) is available on GitHub . From this implementation, the PDL compiler can generate serialization and deserialization code for the messages defined in this specification. It supports a variety of target languages including C++, Rust, and Java.
Что нового в версии 2?
Вторая версия спецификации OOB вносит следующие изменения:
- Технологический переход : Позволяет динамически переключаться между технологиями измерения расстояния во время активной сессии без прерывания потока данных.
- Реагирование на изменение дальности действия
- Включает новое поле
Supported technology transitioning, для указания поддержки первоочередных технологических переходов. - Включает новое поле
Device type, которое инициатор может использовать для оптимизации энергопотребления между устройствами.
- Включает новое поле
Эндианность
Если не указано иное, все многобайтовые числовые поля в сообщениях представлены в порядке байтов 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 |
Как показано на рисунках 1 и 2, способ запуска обмена сообщениями зависит от канала связи.
В каналах связи, основанных на установлении соединения, таких как BLE GATT, обмен сообщениями начинается с того, что устройство-инициатор отправляет Ranging Capability Request устройству-ответчику (Registered Device). Устройство-ответчик отвечает, отправляя ответ на Ranging Capability Response ), как показано на рисунке 1:

Рисунок 1. Обмен сообщениями внеполосным способом с использованием канала связи на основе соединения.
For advertisement-based communication channels, the responder device starts by advertising Ranging Capability . In this case, Ranging Capability Request isn't sent from the initiating device. Instead, after detecting the advertisement, when the initiating (initial scanner) device is ready, it responds by advertising Ranging Configuration as its first message, as shown in Figure 2:

Рисунок 2. Обмен сообщениями вне системы с использованием рекламной коммуникации.
The rest of the message exchange is the same in both cases. The responder device starts ranging immediately after receiving the Ranging Configuration message. The responder device stops ranging after it receives or detects the Stop Ranging message.
В потоке, основанном на подключении, устройство-ответчик заполняет только возможности технологий определения расстояния, запрошенных в сообщении Ranging Capability Request , тогда как в потоке, основанном на объявлении, устройство-ответчик должно перечислить все свои возможности, поскольку предшествующего сообщения запроса возможностей нет.
The initiator device assumes it will receive only one response to any request message it sends. The responder device must not make any such assumption so that it can respond to any request in any order. This verifies that the responder device can respond to multiple consecutive Ranging Capability Request messages, or any other out of order messages, from the initiator device.
Технологический переход
Спецификация OOB версии 2 вводит явную поддержку переключения между технологиями. Это позволяет устройствам динамически переключаться между различными технологиями измерения расстояния в течение сеанса. Для этого инициатор может:
- Для запуска новых технологий отправьте несколько сообщений
Ranging Configuration. - Отправьте несколько сообщений
Stop Ranging, чтобы остановить работу активных технологий.
Порядок этих сообщений варьируется в зависимости от схемы перехода, поддерживаемой отвечающим лицом:
- Принцип «разрыв прежде замыкания»: инициатор может перейти к новой технологии только остановив первую с помощью сообщения
Stop Rangingпрежде чем запустить вторую с помощью сообщенияRanging Configuration. - Принцип «сначала запусти, потом прерви»: инициатор может запустить новую технологию, используя сообщение
Ranging Configurationпрежде чем остановить существующие технологии с помощью сообщенияStop Ranging.
Ответственный за предоставление ресурсов должен обеспечить поддержку одной из этих схем перехода в соответствии со значением supported technology transitioning указанным в его Capability Response .
Идентификаторы технологий определения дальности
Идентификаторы технологий измерения расстояний приведены в следующей таблице:
| Технология определения дальности | ИДЕНТИФИКАТОР |
|---|---|
| UWB | 0x0 |
| КС | 0x1 |
| Wi-Fi NAN RTT | 0x2 |
| РССИ | 0x3 |
| РФУ | 0x4 - 0xFF |
Эти идентификаторы используются в следующих таблицах, где требуется идентификатор технологии измерения расстояний. Для полей, содержащих битовое поле «Технология измерения расстояний», устанавливается бит, соответствующий индексу идентификатора технологии, если эта технология включена в битовое поле.
Например, RSSI имеет значение ID 3, но если RSSI включен в битовое поле технологии определения расстояния, то бит с позицией ID (3) должен быть включен (первый бит находится в позиции 0), что делает результирующее значение битового поля равным 0x8. Если включены и UWB, и RSSI, то значение битового поля равно 0x0A (оба бита 0 и 3 включены).
Формат сообщения
Каждое сообщение состоит из заголовка и полезной нагрузки.

Рисунок 3. Формат сообщения.
Заголовок
Размер: 2 байта
Описание: Заголовок, общий для всех сообщений, является первой частью сообщения. Заголовок содержит версию и идентификатор типа сообщения. Поле версии указывает версию данной спецификации, которой соответствует содержимое сообщения. Текущая версия данной спецификации — 2 Дополнительную информацию об использовании версионирования между устройствами разных версий см. в разделе «Версионирование» . Заголовок сохраняет обратную совместимость между различными версиями, что означает, что в сценарии использования его всегда можно проанализировать, чтобы определить версию и идентификатор сообщения.
Заголовок представлен в следующей таблице:
| Октет | Тип данных | Описание | Ценить |
|---|---|---|---|
| 0 | uint8 | Версия |
|
| 1 | блок8 | Идентификатор сообщения |
|
Полезная нагрузка
Размер: Варьируется (зависит от типа сообщения)
Описание: Полезная нагрузка — это последняя часть сообщения, после заголовка. Полезная нагрузка зависит от типа сообщения. Формат полезной нагрузки для каждого типа сообщения определен в следующих разделах.
Полезная нагрузка сообщения запроса на определение дальности
Размер (без учета размера заголовка): 2 байта
Описание: Отправляется устройством-инициатором для начала обмена сообщениями. Это сообщение является необязательным, если канал связи основан на рекламе, в этом случае устройство-ответчик должно в качестве первого шага отправить сообщение Ranging Capability . Устройство-инициатор (первичный сканер) считывает это сообщение и напрямую отвечает сообщением Ranging Capability , избегая необходимости в этом сообщении.
В следующей таблице приведена сводная информация о содержимом сообщения Ranging Capability Request :
| Октет | Тип данных | Описание | Ценить |
|---|---|---|---|
| 0 | uint8*2 | Запрашиваемые технологии определения диапазона битового поля |
|
Полезная нагрузка сообщения ответа о возможностях определения дальности
Размер (без учета размера заголовка): Варьируется (общий размер части 2 плюс размер каждого включенного байта технологии определения дальности).
Описание: Отправляется ответчиком в ответ на сообщение Ranging Capability Request . Полезная нагрузка этого сообщения состоит из общей части и частей, специфичных для конкретной технологии определения дальности (BLE CS, Wi-Fi NAN RTT, BLE RSSI), как показано в следующих таблицах. Каждая часть, специфичная для конкретной технологии определения дальности, должна быть добавлена только в том случае, если эта технология поддерживается устройством-ответчиком и запрашивается в сообщении Ranging Capability Request . В случае использования рекламного канала связи необходимо включить все поддерживаемые технологии определения дальности.
В следующей таблице приведена сводная информация о стандартном содержимом сообщения Ranging Capability Response :
| Октет | Тип данных | Описание | Ценить |
|---|---|---|---|
| 0 | uint8*2 | Поддерживаемые технологии определения расстояния (битовое поле). Указывает набор возможностей технологий определения расстояния, используемых в остальной части полезной нагрузки. |
|
| 2 | массив байтов | Байты возможностей технологии определения дальности. | Повторяющиеся блоки структур, определенные для каждой технологии. |
| Различный | uint8 | Выражает поддержку переходу на новые технологии . |
|
| Различный | uint16 | Указывает тип устройства реагирования. |
|
В следующей таблице приведена сводная информация о содержимом сообщения UWB Ranging Capability Response :
| Октет | Тип данных | Описание | Ценить |
|---|---|---|---|
| 0 | uint8 | Идентификатор технологии определения дальности | 0x0 - UWB |
| 1 | uint8 | Размер | Размер параметров UWB в байтах (включая поля «Идентификатор технологии» и «Размер» ). |
| 2 | uint8*2 | UWB-адрес | 2-байтовый UWB-адрес устройства. |
| 4 | uint8*4 | Поддерживаемые каналы bitfield | Битовое поле поддерживаемых каналов. Бит, установленный в 0, указывает на отсутствие поддержки, бит, установленный в 1, указывает на поддержку. Бит 0 соответствует каналу 0.LSB == channel 0MSB == channel 31 |
| 8 | uint8*4 | Поддерживаемое битовое поле индекса преамбулы | Битовое поле поддерживаемых индексов преамбулы. Бит, установленный в 0, указывает на отсутствие поддержки, бит 1 — на поддержку. Бит 0 соответствует индексу преамбулы 1.LSB == preamble index 1MSB == preamble index 32 |
| 12 | uint8*4 | Поддерживаемые идентификаторы конфигурации bitfield | Битовое поле с поддерживаемыми идентификаторами конфигурации UWB. Бит, установленный в 0, означает, что не поддерживается, 1 — что поддерживается.LSB == config Id 0> MSB == config Id 31 |
| 16 | uint8*2 | Поддерживаемый минимальный интервал измерения диапазона | Указывает максимально возможный поддерживаемый интервал измерения расстояния в миллисекундах. Допустимые значения (в мс):
|
| 18 | uint8 | Поддерживаемая минимальная продолжительность слота | Указывает наименьшую поддерживаемую длительность слота в миллисекундах. Например, если устройство возвращает 1 мс, предполагается, что оно также поддерживает длительность слота 2 мс и более. Допустимые значения (в мс):
|
| 19 | Поддерживаемые битовые поля роли устройств 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; в порядке байтов big-endian. |
В следующей таблице приведена сводная информация о содержимом сообщения Wi-Fi NAN RTT Ranging Capability Response :
| Октет | Тип данных | Описание | Ценить |
|---|---|---|---|
| 0 | uint8 | Идентификатор технологии определения дальности | 0x2 - Wi-Fi NAN RTT |
| 1 | uint8 | Размер | Размер параметров BLE RSSI в байтах (включая поля Technology ID и Size ). |
| 2 | uint8 | Поддерживаемые функции bitfield | Битовое поле поддерживаемых функций.
|
| 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 Response :
| Октет | Тип данных | Описание | Ценить |
|---|---|---|---|
| 0 | uint8 | Идентификатор технологии определения дальности | 0x3 - BLE RSSI |
| 1 | uint8 | Размер | Размер параметров BLE RSSI в байтах (включая поля Technology ID и Size ) |
| 2 | uint8*6 | Адрес устройства | Адрес устройства, используемого для BLE RSSI; в порядке байтов big-endian. |
Полезная нагрузка сообщения конфигурации дальности
Размер (без учета размера заголовка): Варьируется (общий размер части 4 плюс размер каждого включенного байта технологии определения дальности).
Описание: Это сообщение отправляется инициатором и содержит конфигурации, с которыми может начаться измерение расстояния каждая технология. После получения этого сообщения устройство-ответчик должно попытаться начать измерение расстояния с использованием каждой указанной технологии. Полезная нагрузка сообщения состоит из общей части и частей, специфичных для каждой технологии измерения расстояния (UWB, BLE CS, Wi-Fi NAN RTT, BLE RSSI), как показано в следующих таблицах.
В следующей таблице приведена сводная информация о стандартном содержимом сообщения Ranging Configuration :
| Октет | Тип данных | Описание | Ценить |
|---|---|---|---|
| 0 | uint8*2 | Битовое поле набора настроек технологий определения дальности | Битовое поле технологий определения расстояния, для которых данное сообщение содержит данные конфигурации и для которых необходимо установить параметры конфигурации.
|
| 2 | uint8*2 | Битфилд | RFU. Должен иметь то же значение, что и поле битового поля набора параметров конфигурации технологий определения дальности . |
| 4 | массив байтов | Конфигурации технологий определения дальности (байты) | Повторяющиеся блоки структур, определенные для каждой технологии. |
В следующей таблице приведена сводная информация о Ranging Configuration UWB:
| Октет | Тип данных | Описание | Ценить |
|---|---|---|---|
| 0 | uint8 | Идентификатор технологии определения дальности | 0x0 - UWB |
| 1 | uint8 | Размер | Размер конфигурации UWB (включая поля Technology ID и Size ) в байтах. |
| 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), а следующие шесть байтов — это статический ключ STS IV. Если используется P-STS, то это либо 16-байтовый, либо 32-байтовый ключ сессии. Тип используемой безопасности определяется идентификатором конфигурации (config ID). |
| варьируется | uint8*2 | Код страны | Код страны ISO 3166-1 alpha-2, представленный двумя символами ASCII. |
| варьируется | uint8 | Выбранная роль устройства |
|
| варьируется | uint8 | Выбранный режим устройства |
|
В следующей таблице приведена сводная информация о содержимом сообщения Ranging Configuration BLE CS:
| Октет | Тип данных | Описание | Ценить |
|---|---|---|---|
| 0 | uint8 | Идентификатор технологии определения дальности | 0x1 - BLE CS |
| 1 | uint8 | Размер | Размер конфигурации BLE CS (включая поля Technology ID и Size ) в байтах. |
| 2 | uint8 | Выбранный тип безопасности | Выбранный тип безопасности. Допустимые значения:
|
| 3 | uint8*6 | Адрес устройства | Адрес устройства, используемого для BLE CS; в порядке байтов big-endian. |
В следующей таблице приведена сводная информация о содержимом сообщения Wi-Fi NAN RTT Ranging Configuration :
| Октет | Тип данных | Описание | Ценить |
|---|---|---|---|
| 0 | uint8 | Идентификатор технологии определения дальности | 0x2 - Wi-Fi NAN RTT |
| 1 | uint8 | Размер | Размер конфигурации Wi-Fi NAN RTT (включая поля Technology ID и Size ) в байтах. |
| 2 | uint8 | длина названия услуги | Длина поля «Имя службы» в байтах. См. раздел 1.3.3 «Таблица 1. Определения» спецификации Wi-Fi Aware версии 4.0. |
| 3 | массив байтов | Название услуги | Название службы. См. раздел 1.3.3 «Таблица 1. Определения» спецификации Wi-Fi Aware версии 4.0. |
| варьируется | uint8 | роль устройства |
|
| варьируется | uint8 | Используйте периодический диапазон измерений. |
|
В следующей таблице приведена сводная информация о Ranging Configuration BLE RSSI:
| Октет | Тип данных | Описание | Ценить |
|---|---|---|---|
| 0 | uint8 | Идентификатор технологии определения дальности | 0x3 - BLE RSSI |
| 1 | uint8 | Размер | Размер конфигурации BLE RSSI (включая поля Technology ID и Size ) в байтах. |
| 2 | uint8*6 | Адрес устройства | Адрес устройства, используемого для BLE RSSI; в порядке байтов big-endian. |
Полезная нагрузка сообщения ответа на запрос конфигурации дальности
Размер (без учета размера заголовка): 2 байта
Описание: Это сообщение отправляется ответчиком в ответ на сообщение Ranging Configuration . Это сообщение необязательно и требуется только в том случае, если используемый канал связи требует явного ответа на каждый запрос.
В следующей таблице приведена сводная информация о содержимом сообщения Ranging Configuration Response :
| Октет | Тип данных | Описание | Ценить |
|---|---|---|---|
| 0 | uint8*2 | Конфигурация технологий определения дальности успешно установлена в битовом поле. | Битовое поле, отображающее успешно установленные технологии измерения расстояний. В этом битовом поле бит технологии измерения расстояний устанавливается в 1, если технология была запрошена и успешно установлена, и в 0 в противном случае.
|
Полезная нагрузка сообщения "Остановить определение дальности"
Размер (без учета размера заголовка): 2 байта
Описание: Это сообщение отправляется устройством-инициатором, когда приходит время прекратить измерение расстояния с использованием указанной технологии.
В следующей таблице приведена сводная информация о содержимом сообщения Stop Ranging :
| Октет | Тип данных | Описание | Ценить |
|---|---|---|---|
| 0 | uint8*2 | Различные технологии для предотвращения битового поля | Битовое поле технологий измерения расстояния, указывающее на необходимость прекращения измерения. Бит, установленный в 1, означает, что технология измерения расстояния должна прекратить измерение, а 0 означает, что технология измерения расстояния либо вообще не проводила измерение, либо должна продолжить измерение, если оно уже проводилось. Для некоторых технологий измерения расстояния (например, CS) это не оказывает никакого воздействия, поскольку измерение инициируется и останавливается только на стороне инициатора.
|
Полезная нагрузка сообщения ответа на запрос определения дальности (Stop Ranging Response message payload)
Размер (без учета размера заголовка): 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, не содержат полного набора доступных настраиваемых параметров, необходимых для начала сеанса измерения расстояния UWB. Это связано с тем, что некоторые параметры выбираются неявно в зависимости от выбранного идентификатора конфигурации.
Каждый идентификатор конфигурации представляет собой набор предопределенных параметров конфигурации UWB, описанных в UwbRangingParams . Устройство-ответчик отправляет список всех поддерживаемых им идентификаторов конфигурации в составе сообщения ответа о возможности, а инициатор выбирает один из поддерживаемых идентификаторов конфигурации для использования. Это позволяет обмениваться меньшим набором параметров конфигурации во время OOB. Это также ограничивает количество возможных комбинаций параметров, которые можно использовать для определения расстояния с помощью UWB, что позволяет тестировать только разрешенные комбинации параметров.
Запрос возможностей после каждой сессии UWB
После завершения существующей UWB-сессии и перед началом новой UWB-сессии устройство-инициатор должно запросить у устройства-ответчика информацию о его возможностях и заново установить параметры конфигурации, поскольку UWB-адрес может измениться сразу после завершения текущей сессии измерения расстояния.
Специфика зондирования канала BLE (CS)
В этом разделе описываются специфические детали, касающиеся зондирования каналов.
Необходимо обеспечить соединение между устройствами.
Для работы определения расстояния с помощью зондирования канала необходимо наличие существующей связи между устройством-инициатором и устройством-ответчиком. Данная спецификация не предусматривает способа создания связи между устройствами. Пользователь API определения расстояния должен установить эту связь между устройствами самостоятельно.
Действия, необходимые со стороны службы реагирования для CS
В UWB оба устройства должны явно вызывать API запуска и остановки измерения расстояния UWB. В отличие от этого, в CS только инициирующее устройство должно запустить измерение расстояния CS, вызвав стек Bluetooth (BT). Остальная инициализация на стороне ответчика происходит в полосе частот через BT. Это означает, что после получения сообщения Ranging Configuration или сообщения Stop Ranging для CS, стороне ответчика ничего не нужно делать, если BT включен. Устройство-ответчик может использовать эти сообщения в качестве триггера для обновления пользовательского интерфейса или, например, для мигания светодиодов устройства.