Я использую xiaomi LYWSD03MMC, я получил температуру этого устройства по характеристикам BLE, и он показывает: 21 0a 17 7e 0b, однако я знаю, что это шестнадцатеричное значение, но, к сожалению, я не могу понять, что это значит Я знаю только число 17, которое является количеством влажности, которое является шестнадцатеричным, и когда я конвертирую его в десятичное, оно возвращает 23.
что означает возвращаемое значение термометра BLE?
Ответы (2)
Какой UUID у характеристики, которую вы читаете?
Если он имеет формат 0000xxxx-0000-1000-8000-00805F9B34FB
, он должен быть задокументирован на https://www.bluetooth.com/.
Вы можете найти сопоставление характеристического UUID с именем в Документ с 16-битными номерами UUID по адресу: https://www.bluetooth.com/specifications/assigned-numbers/
Затем это имя можно использовать для просмотра более подробного описания полей в Дополнении к спецификации GATT. .
Согласно , первые два значения из скрипта github, описывают это температуры и должны быть преобразованы в прямой порядок байтов. Это приведет к шестнадцатеричному значению 0a21, которое в десятичной системе счисления равно 2539. Его нужно разделить на 100, чтобы получить температуру 25,39 градуса.
Как вы сказали, третье значение - влажность, последние два значения описывают напряжение аккумулятора. Преобразованное в прямой порядок байтов (0b7e) и десятичное число (2942), это значение нужно разделить на 1000 и получить напряжение 2,942.