Я пишу диссертацию на тему «Создание безопасных фитнес-приложений». Моя программа подключается к Mi Band 3, и я уже смог получить данные о пульсе. Проблема возникла при попытке активировать уведомления о шагах в реальном времени - появляется ошибка "BluetoothGattCharacteristic с указанным UUID не найден".
Вот код включения уведомлений о шагах:
public void enableRealtimeStepsNotify() {
Log.d(TAG, "Enabling realtime steps notifications...");
this.io.writeCharacteristic(Profile.UUID_CHAR_CONTROL_POINT, Protocol.ENABLE_REALTIME_STEPS_NOTIFY, new ActionCallback() {
@Override
public void onSuccess(Object data) {
Log.d(TAG, "Realtime steps notifications enabled successfully.");
}
@Override
public void onFailure(int errorCode, String msg) {
Log.e(TAG, "Failed to enable realtime steps notifications. Error: " + msg);
}
});
}
public static final UUID UUID_CHAR_CONTROL_POINT = UUID.fromString("0000ff05-0000-1000-8000-00805f9b34fb");
public static final UUID UUID_CHAR_STEPS = UUID.fromString("00000007-0000-3512-2118-0009af100700");
Не понимаю в чем проблема, авторизация прошла успешно, часы не отключаются. Может быть, кто-то, кто разбирается в этой теме, может мне подсказать, если я делаю что-то не так.
Я пытался измерить пульс и у меня получилось, в отличие от шагов.
Вот что код выглядит так:
public void startHeartRateScan() {
try {
MiBand.this.io.writeCharacteristic(Profile.UUID_HEART_SERVICE, Profile.UUID_HEART_CONTROL, new byte[]{0x15, 0x02, 0x00}, null);
Thread.sleep(1000);
MiBand.this.io.writeCharacteristic(Profile.UUID_HEART_SERVICE, Profile.UUID_HEART_CONTROL, new byte[]{0x15, 0x01, 0x00}, null);
Thread.sleep(1000);
MiBand.this.io.writeCharacteristic(Profile.UUID_HEART_SERVICE, Profile.UUID_HEART_CHAR, new byte[]{0x01, 0x03, 0x19}, null);
Thread.sleep(1000);
MiBand.this.io.writeCharacteristic(Profile.UUID_HEART_SERVICE, Profile.UUID_HEART_DESCRIPTOR, new byte[]{0x01, 0x00}, null);
Thread.sleep(1000);
MiBand.this.io.writeCharacteristic(Profile.UUID_HEART_SERVICE, Profile.UUID_HEART_CONTROL, new byte[]{0x15, 0x01, 0x01}, null);
Thread.sleep(1000);
MiBand.this.io.writeCharacteristic(Profile.UUID_HEART_SERVICE, Profile.UUID_HEART_CHAR, new byte[]{0x02}, null);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
Подробнее здесь: https://stackoverflow.com/questions/791 ... ps-android
Mi Band 3 шага андроид ⇐ Android
Форум для тех, кто программирует под Android
1730232221
Anonymous
Я пишу диссертацию на тему «Создание безопасных фитнес-приложений». Моя программа подключается к Mi Band 3, и я уже смог получить данные о пульсе. Проблема возникла при попытке активировать уведомления о шагах в реальном времени - появляется ошибка "BluetoothGattCharacteristic с указанным UUID не найден".
Вот код включения уведомлений о шагах:
public void enableRealtimeStepsNotify() {
Log.d(TAG, "Enabling realtime steps notifications...");
this.io.writeCharacteristic(Profile.UUID_CHAR_CONTROL_POINT, Protocol.ENABLE_REALTIME_STEPS_NOTIFY, new ActionCallback() {
@Override
public void onSuccess(Object data) {
Log.d(TAG, "Realtime steps notifications enabled successfully.");
}
@Override
public void onFailure(int errorCode, String msg) {
Log.e(TAG, "Failed to enable realtime steps notifications. Error: " + msg);
}
});
}
public static final UUID UUID_CHAR_CONTROL_POINT = UUID.fromString("0000ff05-0000-1000-8000-00805f9b34fb");
public static final UUID UUID_CHAR_STEPS = UUID.fromString("00000007-0000-3512-2118-0009af100700");
Не понимаю в чем проблема, авторизация прошла успешно, часы не отключаются. Может быть, кто-то, кто разбирается в этой теме, может мне подсказать, если я делаю что-то не так.
Я пытался измерить пульс и у меня получилось, в отличие от шагов.
Вот что код выглядит так:
public void startHeartRateScan() {
try {
MiBand.this.io.writeCharacteristic(Profile.UUID_HEART_SERVICE, Profile.UUID_HEART_CONTROL, new byte[]{0x15, 0x02, 0x00}, null);
Thread.sleep(1000);
MiBand.this.io.writeCharacteristic(Profile.UUID_HEART_SERVICE, Profile.UUID_HEART_CONTROL, new byte[]{0x15, 0x01, 0x00}, null);
Thread.sleep(1000);
MiBand.this.io.writeCharacteristic(Profile.UUID_HEART_SERVICE, Profile.UUID_HEART_CHAR, new byte[]{0x01, 0x03, 0x19}, null);
Thread.sleep(1000);
MiBand.this.io.writeCharacteristic(Profile.UUID_HEART_SERVICE, Profile.UUID_HEART_DESCRIPTOR, new byte[]{0x01, 0x00}, null);
Thread.sleep(1000);
MiBand.this.io.writeCharacteristic(Profile.UUID_HEART_SERVICE, Profile.UUID_HEART_CONTROL, new byte[]{0x15, 0x01, 0x01}, null);
Thread.sleep(1000);
MiBand.this.io.writeCharacteristic(Profile.UUID_HEART_SERVICE, Profile.UUID_HEART_CHAR, new byte[]{0x02}, null);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
Подробнее здесь: [url]https://stackoverflow.com/questions/79138820/mi-band-3-steps-android[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия