@prilichny

Почему мое приложение не отключается от моего BLE устройства?

У меня есть некое самодельное BLE устройство (peripheral) с одной-единственной характеристикой и двумя светодиодами. Когда к моему устройству подключено другое устройство, мое устройство мигает раз в секунду зеленым светодиодом.
Когда я пишу некое значение в характеристику, мое устройство проверяет условия, и если все ок - делает три коротких подмигивания одним светодиодом или мигает один раз другим светодиодом (прошу прощения за сумбурное описание).

У меня стоит задача создать Android приложение-пульт для этого устройства. Приложение подключается по MAC адресу к моему устройству, пишет в характеристику и отключается от устройства. Проблема в том, что после записи в характеристику и отключения приложения от устройства мое устройство продолжает мигать светодиодом, как будто смартфон по-прежнему подключен (раньше помогало выключить полностью приложение или отключить Bluetooth-адаптер, но в какой-то момент и это перестало помогать).

С другой стороны, если я подключаюсь к устройству с помощью других BLE приложений (для разработчиков), которые позволяют писать в характеристику - все отрабатывает штатно, как и задумывалось: начинает мигать светодиод, указывающий на подключение устройства, мигает тот или иной светодиод в момент записи, а при отключении устройства диоды перестают мигать.

До какого-то момента я думал, что проблема в моем приложении, а не в устройстве (ведь при подключении через сторонние программы все работает корректно), но когда даже полное выключение телефона не отключает светодиод - это заставляет задуматься.

Вопрос сложно сформулировать. С какой стороны лучше подойти к отладке? Из мыслей:
1. Сделать аналог устройства в виде отдельного приложения на другом телефоне - это позволило бы убедиться в нормальной работе моего приложения (или навело бы на мысли, где проблема)
2. Понять, чем этот баг чреват: меня волнует в первую очередь энергопотребление устройства и потенциальная невозможность подключения к нему (denial of service?). То есть добраться до осциллографа и измерить энергопотребление, когда устройство якобы не отключено? (отладочное мигание светодиода в момент подключения я могу отключить. прошивке). Про вторую часть - приложение при этом спокойно отрабатывает сколько угодно много.
3. С отладкой моего устройства на базе чипа Nordic у меня определенные трудности. На Android отладку делать проще - поэтому иду по пути наименьшего сопротивления.
  • Вопрос задан
  • 14 просмотров
Решения вопроса 1
@prilichny Автор вопроса
А снимаю вопрос. Помогло сделать секундную задержку между записью характеристики и отключением от устройства.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через TM ID
Похожие вопросы
Blogman Оренбург
от 20 000 до 110 000 руб.
Frogogo Москва
от 100 000 руб.
BTlabs Москва
от 60 000 руб.