我正在编写一个可以从小米米秤2获取体重测量的应用程序。读取所有可用的uuid后,只有“181B”连接,特别是“2A9C”特征(蓝牙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来确定重量是英制还是SI;该位为 0,因此数据为 SI。要获得重量,请将最后两个字节转换为 16 位整数 (60*256+240 = 15,600) 并乘以 0.005 = 78kg
就我而言,情况略有不同:
我得到这样的数据 [207, 0, 0, 178, 2, 0, 0, 0, 0, 0, 127] (6.9 KG) ,解决方案是:
let bytesArray = [207, 0, 0, 178, 2, 0, 0, 0, 0, 0, 127]
let weight = (( bytesArray[4] * 256 + bytesArray[3] ) * 10.0) / 1000
现在我的体重是 6.9 公斤。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)