Motorola XT910 считывает rssi, равное 0, из тегов Bluetooth с низким энергопотреблением ticc2540,ticc2541, синих тегов радио

Я разрабатываю приложение для Android, работающее на Motorola RAZR XT910 с версией ОС 4.0.4.

Это приложение использует библиотеки Motorola_ICS_R2_sdkaddon_100 BluetoothGattService.jar и BluetoothGatt.jar и взаимодействует с тегами Bluetooth с низким энергопотреблением (TI CC2540,TI CC2541,Blue Radios Sensor Tags).

На процедуре обнаружения я всегда читаю значение rssi, равное 0. Я использую следующий код, чтобы прочитать значение rssi при получении Intent BluetoothDevice.ACTION_FOUND:

short rssi = intent.getShortExtra (BluetoothDevice.EXTRA_RSSI, (short) 0);

Также для устройств с низким энергопотреблением Bluetooth, значение rssi, которое я прочитал, в порядке (не равно 0).

Может кто-нибудь мне помочь??

Спасибо

2 ответа

Я нашел похожую проблему на сайте обсуждения TI для использования специфичного для Vender запроса для RSSI. Кажется, что он работает для Classic BT, но возвращает код ошибки 2 для BLE.

http://e2e.ti.com/support/low_power_rf/f/660/t/289391.aspx

Это может быть фундаментальный предел, что вы не можете получить значение. В вашем случае getShortExtra может не вернуть код ошибки (2) и просто вернуть 0 как RSSI.

Я не знаю, поможет ли это вам, так как я испытываю ту же проблему.

RSSI от Bluetooth Low Energy (BLE) Метки?

Эта ссылка объясняет больше о RSSI и рекламе в устройстве BLE. Кажется, что традиционные RSSI для не-BLE-устройств кодируются по-разному.

Для получения дополнительной информации страница 50 описывает onLEScan вызова Android 4.3. Возвращает RSSI здесь. Поэтому я не думаю, что вы сможете получить правильный RSSI, если не используете Android 4.3 (18) BLE API. http://commondatastorage.googleapis.com/io-2013/presentations/129%20-%20Bluetooth%20Best%20Practices.pdf

Другие вопросы по тегам