2017-01-03 4 views
0

Я пытаюсь подключить вахту шагомера к моему телефону с bluetooth и хочу прочитать шаги от него к приложению, которое я сделал. Соединение выполнено успешно, и я могу читать данные с часов, но я не совсем понимаю, как его интерпретировать.Hexa десятичная интерпретация

Ниже приводится документ,

Собственное значение содержания:

(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

Данные, как ожидается, следуют вашему описанию. Первый байт является полем флага, и в этом случае он указывает, что сообщаются все 3 типа измерений. Или биты 1 и 2 и 3 равны 7.

Следующие 9 байтов представляют собой 3 24-битных значения данных, где 64,1,0 являются шагами, 144,0,0 - расстоянием и 24,0 , 0 - калории. Как вы конвертируете байты, это немного запутывает, но если вы используете малоформатный формат и предположите, что вы напечатали их в десятичной, эти значения имеют смысл?

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 

Надежда, что помогает!

grace

+0

Да, это было 6000 шагов, которые я установил для цели. Я буду изучать его больше. – Dev