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