Получите частоту сердечных сокращений от часов Mi band 3 через Bluetooth - PullRequest
0 голосов
/ 21 декабря 2018

Вот моя проблема.Я хочу подключиться к 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 (НЕИЗВЕСТНО)

...