Jump to content

    
Sign in to follow this  
Пришелец

Использование BLE с Android

Recommended Posts

Добрый день!

Есть задача связи устройства с телефоном по BLE.

Используется nrf52832 - он выполняет ф-цию централи.

Телефон с Android (для тестов используется Samsung A8) выполняет роль периферии. При нахождении телефона вблизи устройства коннект должен поддерживаться постоянно. Когда открыт пользовательский интерфейс (приложение на телефоне) производится обмен сообщениями для управления устройством. Когда приложение неактивно коннект поддерживается сервисом работающим на телефоне в фоне.

При тестировании на столе всё хорошо работает. После потери связь восстанавливается. Проблем не наблюдается. Тестировалось много дней.

Но если работа происходит в автомобиле, то в течение нескольких минут связь нарушается и восстановить её получается только выключением и повторным включением блютуз на телефоне.

Если не перевключить полностью блютуз, то попытки установки соединения оканчиваются неудачно с ошибкой.

(Ни пересброс устройства ни переоткрытие соединения на телефоне не помогают)

Можно программно выключать включать блютуз на телефоне при потере коннекта. Это восстанавливает работу. Но так себе вариант. Это нарушает работу всех ф-ций блютуз (например прослушивание аудио через блютуз).

 

В автомобиле имеется магнитола привязанная к тому же телефону по блютуз. Но отвязка её от телефона не устраняет проблему.

Прослушивание музыки через блютуз приводит к более частому проявлению проблемы.

Кажется, что и при движении автомобиля проблема проявляется чаще чем при стоянке.

 

По логам на телефоне видно, что когда проблема проявляется, телефон при попытке установки соединения не может правильно установить шифрование:

2020-12-18 17:25:56.857 21409-21450/? W/bt_l2cap: L2CA_RemoveFixedChnl() CID: 0x0006 BDA: f6f090bbe49f not connected
2020-12-18 17:25:56.857 21409-21450/? W/bt_btif: btif_gatt_set_encryption_cb() - Encryption failed (1)
2020-12-18 17:25:56.857 21409-21450/? E/bt_btm: btm_acl_removed:1:

 

В логах устройства видно что коннект просто закрывается после установления.

 

Может кто-то имеет опыт работы по BLE с андроид?

Такое поведение это особенность конкретного телефона? Или это особенность BLE андроид?

Непонятно также влияние на BLE автомобиля.

 

Edited by Пришелец

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this