Получение RSSI из пакетов запроса сканирования / ответа сканирования

Я новичок в разработке Android, и я пишу приложение в качестве доказательства концепции исследовательского проекта с использованием BLE Google API. У меня есть два телефона Android, один из которых рекламирует какой-то маяк X, который передает ответ на сканирование Y, а второй телефон сканирует рекламу. Я хотел бы получить доступ к значениям RSSI, соответствующим пакетам ScanRequest и ScanReply, которые следуют за рекламой.

Во время обмена данными между устройством, когда на втором телефоне вызывается перезаписанный метод onScanCallback, я могу получить только одно значение RSSI, вызвав result.getRssi() для переданного ScanResult. Кроме того, как и ожидалось, соответствующий ScanRecord предоставляет два ServiceUuid, вызывая record.getServiceUuids, где первый UUID соответствует самому объявлению, а второй - запрограммированному ответу на сканирование.

До сих пор я не нашел никаких общедоступных методов для восстановления RSSI ScanReply. Есть ли другой способ получить доступ к этому второму RSSI? То же самое относится к RSSI ScanRequest, который автоматически отправляется подслушивающим устройством. Есть ли способ его восстановить?

Заранее большое спасибо, Иван Моралес


person Iván Morales    schedule 24.10.2019    source источник


Ответы (1)


RSSI в обратном вызове сканирования уже соответствует RSSI в пакете ответа на сканирование, а не в рекламном пакете. Стек Bluetooth Android отбрасывает значение RSSI для первого пакета. Зачем тебе это вообще нужно? Он должен быть более или менее таким же, как первый пакет, поскольку оба пакета отправляются в течение такого короткого интервала.

Вы не можете получить RSSI для запроса на сканирование. Эта информация не отправляется от контроллера к хосту, если вы читаете стандарт HCI. Даже если стек Bluetooth будет прослушивать «событие получения запроса сканирования LE», это событие не включает RSSI.

person Emil    schedule 24.10.2019
comment
Многие периферийные устройства измеряют и возвращают RSSI входящих запросов на сканирование. - person Kevin; 20.12.2019