Вот моя проблема.Я хочу подключиться к Mi Band 3 (xiaomi) через Bluetooth на Android, в настоящее время я использую RxAndroidBle Lib для подключения к устройству.У меня есть UUID для службы (частота сердечных сокращений) и для характеристик (измерение частоты сердечных сокращений).
Я знаю mac-адрес устройства и UUID.UUID: String BASE_UUID = "0000% s-0000-1000-8000-00805f9b34fb";UUID UUID_SERVICE_HEART_RATE = UUID.fromString ((String.format (BASE_UUID, "180D")));UUID UUID_CHARACTERISTIC_HEART_RATE_MEASUREMENT = UUID.fromString ((String.format (BASE_UUID, "2A37")));
Мой текущий код:
private void connect(){
String macAddress = "E9:FD:0C:CB:67:2C";
bleDevice = rxBleClient.getBleDevice(macAddress);
connectDisposable = bleDevice.establishConnection(true)
.subscribe(
rxBleConnection -> {
// All GATT operations are done through the rxBleConnection.
Log.d(TAG, "Is connected");
rxBleConnection.readCharacteristic(UUID_CHARACTERISTIC_HEART_RATE_MEASUREMENT).subscribe(
bytes -> {
Log.d(TAG, "Data " + bytes);
},
throwable -> {
Log.d(TAG, "Error " + throwable.getMessage());
}
);
},
throwable -> {
// Handle an error here.
Log.d(TAG, "Error " + throwable.getMessage());
}
);
}`enter code here`
После этого я хочу получить байтыпреобразовать их в целое число.У кого-нибудь есть идеи, что делать, чтобы получить результаты?Я также хочу получить другие вещи от группы.Для справки я использую этот проект на github.https://github.com/Freeyourgadget/Gadgetbridge
Ошибка, которую я получаю из этого примера кода:
Ошибка исключения GATT из MAC-адреса E9: FD: 0C: CB: 67: 2C, с типом BleGattOperation {description ='CHARACTERISTIC_READ'} Ошибка отсоединения от E9: FD: 0C: CB: 67: 2C с состоянием -1 (НЕИЗВЕСТНО)