如何解决小米米秤v1体重数据
我正在尝试编写一个可以从小米米秤版本 1 进行体重测量的应用程序。我从身体成分测量服务中得到一个像 0624b2070101002e3800004c04(5.50kg) 这样的十六进制值。
根据我的研究,第一个字节给出 02:计量单位 最后两个字节是权重值, 但是当我将此值转换为十进制并除以 200 时,我没有得到正确的值。
有人可以帮我获取正确的数据吗?
解决方法
十六进制 4c04
的值等于 19460,这不会给您想要的结果。
但是将 endianess(字节顺序)更改为 044c
会产生 1100 的值,除以 200,您会得到 5.5kg 的预期结果
最后两个字节是 4c04
。蓝牙以小端格式发送数据,因此作为 1100
的整数。
位于 https://www.bluetooth.com/specifications/specs/ 的“GATT 规范补充 4”文档说:
3.27.2.7 权重字段
如果 Flag 字段的第 0 位为 0,则该字段以千克为单位,分辨率为 0.005 或以磅为单位,分辨率为 0.005 如果标志字段的位 0 为 1,则为 0.01。
1100 * 0.005 = 5.5 公斤
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。