flutter 将MI SCALE 2数据转换为重量数据(UUID:0x2A9D,重量测量)

bttbmeg0  于 2023-01-18  发布在  Flutter
关注(0)|答案(1)|浏览(276)

bounty将在13小时后过期。回答此问题可获得+50声望奖励。Nehal希望引起更多人关注此问题。

我正在尝试开发一个flutter应用程序,将小米秤的读数转换为移动的中可读的格式。
我得到以下读数:

KG      55.05       [34 , 2 , 43 , 178 , 7 , 1 , 1 , 20 , 0 , 22]

KG      55          [34 , 248 , 42 , 178 , 7 , 1 , 1 , 20 , 2 , 13] 

KG      14.3        [34 , 44 , 11 , 178 , 7 , 1 , 1 , 20 , 33 , 19]

KG      22.5        [34 , 158 , 17 , 178 , 7 , 1 , 1 , 20 , 36 , 46]

KG      71.65       [34 , 250 , 55 , 178 , 7 , 1 , 1 , 20 , 39 , 58]

KG      55          [34 , 248 , 42 , 230 , 7 , 12 , 23 , 8 , 12 , 40]

KG      2.8         [98 , 48 , 2 , 230 , 7 , 12 , 23 , 8 , 25 , 8 ]

Lbs     12.14       [35 , 108 , 47 , 230 , 7 , 12 , 23 , 8 , 10 , 57]

Lbs     157.8       [35 , 154 , 61 , 230 , 7 , 12 , 23 , 8 , 17 , 5]

Lbs     6           [99 , 88 , 2 , 230 , 7 , 12 , 23 , 8 , 22 , 51]

前3个整数代表测量值,剩下的7个整数代表时间戳(根据我的假设),最后7个整数与从UUID 0x2A2B(当前时间)特征中找到的数据匹配。

o4tp2gmn

o4tp2gmn1#

我没有得到所有的,但这是我不得不离开它的地方。。希望稍后更新答案。
55.05千克=〉34、2、43
将小端字节序转换为十六进制将得到:0x 2b 0222。前16位给出0x 2b 02,即11010或55.05 * 200。我认为后8位都是标志,最后一位是Lbs。
对于Kgs,你可以在最高的16位(小字节序)中得到1/200千克的重量;对于Lbs,你可以在最高的16位中得到1/100磅的重量。
检查https://www.bluetooth.com/specifications/specs/weight-scale-service-1-0/,因为我相信该设备可能符合该规范。

相关问题