Какова максимальная скорость маяка, поддерживаемая ALTBeacon?

Если бы я использовал библиотеку ALTBeacon в Android, какова самая высокая скорость сканирования отдельных пакетов маяка Bluetooth с низким энергопотреблением (BLE), которые можно захватить и записать в память?


person George Ou    schedule 14.08.2015    source источник


Ответы (1)


Это определяется базовыми API-интерфейсами сканирования Android Bluetooth LE. Я не знаю предела, но 10 Гц является типичным, и я тестировал до 40 Гц с одного устройства.

person davidgyoung    schedule 14.08.2015
comment
На этой странице указано 100 мс между сканированиями в режиме с малой задержкой. developer.radiusnetworks.com/2014/10/28/ Это означает макс. 10 Гц. Как вы получаете 40 Гц? - person George Ou; 15.08.2015
comment
Я написал эту страницу. :) 100 мс на этой странице были для маяка, передающего с частотой 10 Гц, да. Таковы были просто условия этого теста. Можно заставить устройство передавать чаще, и при частоте 40 Гц это число изменится до 25 мс. - person davidgyoung; 15.08.2015
comment
Мы использовали mBluetoothLeScanner.startScan(mScanCallback); Это позволило нам перехватывать около 7 пакетов в секунду, несмотря на то, что мы передавали 200 пакетов. Кажется, что эта функция требует больших накладных расходов. Как вы думаете, каким будет верхний предел для ALTBeacon? - person George Ou; 17.08.2015
comment
Получение только 7 из 200 пакетов не является нормальным. Что-то еще должно быть не так. Библиотека Android Beacon внутри использует тот же вызов. Итак, какой бы ни была проблема, вы можете испытать то же самое. - person davidgyoung; 17.08.2015
comment
Мы думаем/надеемся, что это потому, что код примера, который мы использовали, пытался распечатать каждый результат по мере его захвата, и это может замедлить его как минимум на порядок. - person George Ou; 17.08.2015
comment
Хорошо, теперь мы получаем около 40 кадров в секунду в первую секунду, но с каждой секундой это замедляется. 40 PPS кажется пределом при использовании метода mBluetoothLeScanner.startScan(mScanCallback). Мне интересно, единственный ли способ работать быстрее — написать код более низкого уровня или использовать другой стек, например BlueZ. - person George Ou; 28.08.2015
comment
Я только что проверил на Nexus 5 и получил 173 рекламы в секунду. Вероятно, это зависит от оборудования. - person davidgyoung; 28.08.2015
comment
Мы тестируем Samsung S4, поэтому процессор не должен быть намного медленнее. Большая часть этого, вероятно, связана с исходным кодом. - person George Ou; 28.08.2015
comment
Кроме того, я не сомневаюсь, что ваша библиотека Altbeacon представляет собой гораздо более зрелый код. Нам нужно попробовать использовать вашу библиотеку Altbeacon. Вы используете код с низкой задержкой отсюда? developer.radiusnetworks.com/2014/10/28/ - person George Ou; 28.08.2015
comment
да, он использует код с низкой задержкой. Моя точка зрения об аппаратной зависимости не столько о скорости процессора, сколько об аппаратном обеспечении чипа Bluetooth. - person davidgyoung; 29.08.2015
comment
Ах, оказывается, мы использовали режим низкого энергопотребления, а не режим низкой задержки. Теперь мы получаем 175 пакетов в секунду. Спасибо! - person George Ou; 29.08.2015