Hexa十进制解释

时间:2017-01-03 05:53:27

标签: bluetooth hex

我正在尝试将计步器手表连接到带蓝牙的手机上,并希望阅读从它到我已制作的应用程序的步骤。连接成功,我能够从手表中读取数据,但我不太清楚如何解释它。

以下是文件

特征值内容:

(1) all the eigenvalue content inside the endian order are small endian order.

(2) current_pedometer_measurement
    The value of the current_pedometer_measurement consists of four parts
    Value type description
    Flag Uint8 0x01: Number of Steps (Required)
    0x02: Distance (optional)
    0x04: Calories (optional)
    Such as 0x05 that contains the number of steps and calories
    StepCount Uint24 The number of steps
    StepDistancer Uint24 How far, in meters
    StepCalorie Uint24 calories

    Description:

    1.  Distance and calories are optional, may or may not appear
        If only the number of steps, then the value is: 01 (steps) 10 27 00 (1 million steps)
        If there are steps and distances, then the value is: 03 (number of steps, distance) 10 27 00 (1 million steps) 70 17 00 (6 km)
        Other cases and so on.
    2.  Time value to mobile phone time as the standard, that is, the moment the phone receives the data that is the time of this data.

(3) target

    The target value is
    Value type description
    Flag Uint8 0x01: Number of Steps (Required)
    StepCount Uint24 The number of steps

    Description:
    1. If the target is 10,000 steps, then the value is: 01 (steps) 10 27 00 (1 million steps)
    2. If the device writes to the target value, the device is updated. If the device updates the target value, notify the phone.

我从计步器手表获得的阅读是:

[7, 64, 1, 0, 144, 0, 0, 24, 0, 0]

任何人都可以帮我解释一下吗?

1 个答案:

答案 0 :(得分:1)

数据似乎完全符合您的描述。第一个字节是标志字段,在这种情况下,它表示正在报告所有3种测量类型。或者位1和2以及3等于7.

接下来的9个字节是3个24位数据值,其中64,1,0是步长,144,0,0是距离,24,0,0是卡路里。你如何转换字节有点令人困惑,但如果你使用little-endian格式并假设你用十进制格式打印它们这些值是否有意义?

Steps:    00 01 64  = 0x000140 = 320 
Distance: 00 00 144 = 0x000090 = 144
Calories: 00 00 24  = 0x000018 = 24

从上面的示例中,值可能是十六进制:

10 27 00 = 0x002710 = 10000
70 17 00 = 0x001770 = 6000

希望有所帮助!