Вопрос:

Разница в скорости сканирования в Android и iOS

android ios bluetooth-lowenergy ibeacon rssi

28 просмотра

3 ответа

6 Репутация автора

Моя проблема заключается в том, что iOS и различные телефоны Android получают номер рекламного пакета BLE от определенного ibeacon, например. За 5 минут от определенного маяка iOS получает около 904 рекламных пакетов, а телефоны Android получают от 230 до 480 в зависимости от телефона.

Кто-нибудь знает, есть ли настройка, которая может устанавливать скорость сканирования модуля BLE? Если нет, что еще может вызвать эту проблему?

Я использую «CBCentralManager» для использования модуля BLE в iOS и «blutoothLeScanner» в Android.

//Creating an instance of CBCentralManager
private let bluetoothManager = CBCentralManager(delegate: nil, queue: nil)

//Start Scanning
bluetoothManager.scanForPeripherals(withServices: nil, options: [CBCentralManagerScanOptionAllowDuplicatesKey:NSNumber(value: true)])
Автор: Golnaz Nikmehr Источник Размещён: 09.06.2019 03:11

Ответы (3)


1 плюс

6890 Репутация автора

Параметры сканирования жестко заданы в обеих ОС, но в Android вы можете выбрать один из следующих трех режимов:

  1. https://developer.android.com/reference/android/bluetooth/le/ScanSettings.html#SCAN_MODE_BALANCED
  2. https://developer.android.com/reference/android/bluetooth/le/ScanSettings.html#SCAN_MODE_LOW_LATENCY
  3. https://developer.android.com/reference/android/bluetooth/le/ScanSettings.html#SCAN_MODE_LOW_POWER

Обратите внимание, что если вы сканируете в фоновом режиме, SCAN_MODE_LOW_POWER будет использоваться независимо от того, что вы выбрали.

Автор: Emil Размещён: 09.06.2019 03:25

0 плюса

50627 Репутация автора

Существует большое количество различий между моделями устройств Android (часто называемых фрагментацией), и это относится к поведению Bluetooth LE так же, как и все остальное. Различия между телефонами Android - более вероятное объяснение расхождений, которые вы видите, чем частота сканирования, которая по умолчанию равна 100% -ному рабочему циклу (LOW LATENCY) на всех устройствах Android, которые я видел, и похожа на iOS.

При тех же условиях некоторые устройства Android сканируют одинаковое количество рекламных объявлений BLE на iPhone (например, устройства Pixel и более поздние версии Nexus 5+). Но не все устройства Android дают столь же хорошие результаты.

Вы не говорите конкретно, какие модели Android, которые вы тестировали, которые видели меньше обнаружений рекламы, но есть ряд причин, которые могут вызвать это:

  1. Некоторые старые устройства Android, такие как Nexus 4, Nexus 7 и Moto G (1-го поколения), могут обнаруживать только рекламу по одному сканированию для каждого уникального устройства Bluetooth. Перезапуск сканирования был необходим для обнаружения второго пакета с этого устройства. Вы можете попытаться перезапустить сканирование BLE каждую секунду или около того, чтобы посмотреть, поможет ли это.

  2. Некоторые устройства Android, такие как Huawei P9, имеют очень плохо работающие антенны BLE, поэтому они редко могут обнаружить устройства BLE на расстоянии более 10 метров, тогда как iPhone обычно обнаруживают на расстоянии 40-50 метров и более. Вы можете увидеть, является ли это причиной вашей проблемы, посмотрев на уровень сигнала (значение RSSI) для полученных пакетов. Значения RSSI постоянно слабее (более отрицательные) на устройствах Android и iOS? Если так, то это объясняет расхождение.

Автор: davidgyoung Размещён: 12.06.2019 04:14

0 плюса

416 Репутация автора

Я знаю то же поведение от некоторых телефонов.

Обратите внимание, что ваше периферийное устройство, вероятно, делает рекламу на 3 каналах BLE. (?) Возможно, ваше устройство Android прослушивает только один канал.

Более того, а в некоторых случаях, что еще хуже, возможно, что ваши телефоны прослушивают один канал за раз и другой канал через некоторое время, таким образом, также выполняется переключение каналов для сканирования. Вполне возможно, что вы получаете эффекты алиасинга и видите рекламу всего несколько раз. Вот почему Apple Accessory Guide рекомендует определенные рекламные интервалы периферийных устройств. (глава 23.5)

Автор: maze Размещён: 12.06.2019 06:42
Вопросы из категории :
32x32