小米体重秤v1重量数据

Xiaomi mi scale v1 Weight Data

我正在尝试编写一个可以从小米 mi 秤版本 1 进行体重测量的应用程序。我从 Body 成分测量服务中得到一个像这样的十六进制值 0624b2070101002e3800004c04(5.50kg)。

根据我的研究,第一个字节给出 02:measurement个单位 最后两个字节是权重值, 但是当我将这个值转换为十进制并除以 200 时,我没有得到正确的值。

谁能帮我得到正确的数据?

十六进制值 4c04 等于 19460,这不是您想要的结果。 但是将 endianess(字节顺序)更改为 044c 会得到 1100 的值,除以 200 后,您会得到所需的 5.5kg

最后两个字节是4c04。蓝牙以小端格式发送数据,因此作为整数 1100.

https://www.bluetooth.com/specifications/specs/ 的“GATT 规范补充 4”文件说:

3.27.2.7 Weight field

This field is in kilograms with resolution 0.005 if the bit 0 of the Flag field is 0 or in pounds with a resolution of 0.01 if the bit 0 of the Flag field is 1.

1100 * 0.005 = 5.5kg

我遇到了类似的问题,以下是我如何解决这个问题,我亲自阅读了整篇文章,我记录了所有内容,不要被它的外观吓倒,实际上它非常简单:

我使用这个网站进行转换,因为我不知道如何转换 :) enter link description here

这是一张图片,显示了它是如何工作的,你需要查看 INT 16 BIG endian 和 post 整个十六进制代码,而不仅仅是最后两个字节,如下所示: