Я пишу приложение, которое может получить измерение веса от Xiaomi mi Scale 2. После прочтения всех доступных uuid только соединение «181B», в частности характеристика «2A9C» (измерение веса тела в bluetooth gatt), получает уведомления.
Значение данных: [2, 164, 178, 7, 1, 1, 2, 58, 56, 253, 255, 240, 60]. Изменяются только последние два значения, остальное время и дата, которые в данный момент не установлены (253, 255 являются нулями, когда вес меняется на весах до тех пор, пока он не стабилизируется).
Может ли кто-нибудь помочь мне получить только вес людей, должен ли я получать данные, возможно, по-другому, из других uuid (например, пользовательские: 00001530-0000-3512-2118-0009AF100700, 00001542-0000-3512-2118-0009AF100700) и как мне их восстановить.
Правильный ответ от Paulw11: вам нужно посмотреть бит 0 первого байта, чтобы определить, в каком формате измеряется вес: в имперских единицах или в системе СИ; бит равен 0, поэтому данные SI. Чтобы получить вес, преобразуйте последние два байта в 16-битное целое число (60*256+240 = 15 600) и умножьте на 0,005 = 78 кг.