Как AltBean / Android управляет активным и пассивным сканированием BLE?Можно ли настроить библиотеку на выполнение только пассивного сканирования? - PullRequest
0 голосов
/ 19 марта 2019

Если я правильно понял документацию AltBeacon Power Manager . На устройствах Android 5+ библиотека будет непрерывно (или каждые несколько секунд) выполнять пассивное сканирование и время от времени также будет выполнять активное сканирование. Время активного сканирования контролируется методами setBackgroundScanPeriod и setBackgroundBetweenScanPeriod BeaconManager.

В моем случае маяки, с которыми мы работаем, рекламируют с постоянной скоростью и не отправляют дополнительную информацию об активном сканировании (SCAN_REQ).

Думая об энергопотреблении, мне интересно, есть ли способ использовать библиотеку для отключения активных проверок, т.е. е. выполнять только пассивное сканирование и получать все (или как можно больше) рекламных пакетов, отправленных моими маяками, как только мое устройство Android окажется рядом с этим маяком. Таким образом, мы хотим обнаружить присутствие маяка как можно скорее и, после обнаружения, зарегистрировать все рекламные пакеты, используя только пассивное сканирование.

Это возможно? Если да, то как мне использовать библиотеку, чтобы получить такое поведение?

1 Ответ

1 голос
/ 19 марта 2019

Две точки:

  1. Когда документация библиотеки относится к активному или пассивному сканированию, речь не идет об отправке SCAN_REQ.«Пассивное» сканирование означает просто сканирование Android с низким энергопотреблением с аппаратным фильтром пакетов, который разгружает сканирование на чип Bluetooth.Затем микросхема активирует ОС, если видит пакет, соответствующий шаблону.В смысле вашего вопроса, однако, ВСЕ сканирования, выполненные библиотекой, являются пассивными.

  2. Если не учитывать терминологические различия, если вы хотите выполнять только отфильтрованные сканирования с низким энергопотреблением, описанные выше, выможно просто установить период фонового сканирования на 0. Это, вероятно, будет работать на устройствах Android 8+.В Android 5-7 он может не работать, так как полное сканирование при фильтровании используется для анализа фактических пакетов.

...