bluetooth - hxd - hexadecimal excel
Un pequeño juego/cuestionario: ¿ves mis valores?(Interpretando valores hexadecimales) (2)
Para agregar algunos detalles más: valores de decodificación como enteros sin signo, little endian. Por alguna razón oscura, los enteros de 2 bytes (cortos) tienen un mordisco más significativo como 0xf. La transmisión comienza con la indicación 0x25 que contiene las propiedades programadas de la persona detectada (es decir, el peso está dentro de +/- 2 kg de la última medición).
0x25:
person: byte 2
gender: byte 4 (1=male, 2=female)
age: byte 5
size: byte 6
activity: byte 8 (0=normal, 3=high)
De acuerdo, necesito ayuda ... Tengo una báscula bluetooth-le-weight. Puedo conectar mi Raspberry Pi a esta escala y obtener algunos datos. Pero no es fácil para mí leer mis valores en esta ensalada hexagonal.
Después de cada medición, recibo dos líneas de información, que deben contener mis valores
(Simulé todas las medidas ... La Persona 5 es solo yo empujando mis manos sobre la báscula. La Persona 2 + 3 soy yo usando calcetines en la báscula, así que no hay necesidad de darme algunos consejos médicos si encuentra valores poco realistas: D )
Escala: comienza con 5.0kg (ofically, pero puedo ver un 4.9 como punto de partida), Max 180kg (esto podría ser solo una nota de seguridad. Es una balanza de vidrio), d = 100g
lo que noté de la pantalla:
# | Person | m kg| Fat % | TbW % | Mus % | Bone kg | kcal | BMI
1 | 5 |13,3 | 5 | 72,7 | 60,1 | 0,8 | 1056 | 13,3
2 | 3 |73,6 | 26,3 | 51,1 | 34,2 | 3,5 | 2428 | 24,3
3 | 2 |76,8 | 18,5 | 61,1 | 41,9 | 3,4 | 2741 | 24,8
4 | 5 |15,0 | 5 | 70,3 | 58,4 | 0,9 | 1092 | 15,0
5 | 6 | 5,1 | 5 | 73 | 66,5 | 0,5 | 881 | 5,1
Lo que recibí por Bluetooth:
# | handle | Byte 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
-----------------------------------------------------------------------------
1 | 0x001b | value: 1d 32 05 00 fe 0f 13 11 11 01 12 00 ff 05 09 00 00 00 00
1 | 0x001e | value: 6f 0f 13 11 11 05 20 04 32 f0 d7 f2 59 f2 08 f0 00 00 00
-----------------------------------------------------------------------------
2 | 0x001b | value: 1d c0 1c 00 fe 45 06 00 00 7a 13 00 ff 03 09 00 00 00 00
2 | 0x001e | value: 6f 45 06 00 00 03 7c 09 07 f1 ff f1 56 f1 23 f0 00 00 00
-----------------------------------------------------------------------------
3 | 0x001b | value: 1d 00 1e 00 fe 37 01 00 00 d7 12 00 ff 02 09 00 00 00 00
3 | 0x001e | value: 6f 37 01 00 00 02 b5 0a b9 f0 63 f2 a3 f1 22 f0 00 00 00
-----------------------------------------------------------------------------
4 | 0x001b | value: 1d dc 05 00 fe 80 14 11 11 83 18 00 ff 05 09 00 00 00 00
4 | 0x001e | value: 6f 80 14 11 11 05 44 04 32 f0 bf f2 48 f2 09 f0 00 00 00
-----------------------------------------------------------------------------
5 | 0x001b | value: 1d fe 01 00 fe 5c 15 11 11 ac 16 00 ff 06 09 00 00 00 00
5 | 0x001e | value: 6f 5c 15 11 11 06 71 03 32 f0 da f2 99 f2 05 f0 00 00 00
Nota: Cada vez antes de recibir los valores, tengo que enviar a mi báscula una marca de tiempo Unix ... la mayoría de las veces, acabo de enviar 1111111111 o 0000000000 o algo así ... pero no tomé nota de lo que envío ... lo siento ..
siempre hay otra línea entrante donde vi los valores del usuario, que están almacenados en la balanza. Así que creo que estos no son importantes, pero tal vez estoy equivocado
P2, hombre, Altura: 176cm, Edad: 34
P3, mujer, Altura: 174cm, Edad: 23
P5, hombre, Altura: 100cm, Edad: 10
así que tal vez alguien podría decirme, como dónde puedo encontrar la información que representa mi peso. Acabo de ver los números de las personas
gracias por ayudar y saludos desde Alemania
ok ok ... lo resolví ...
0x1b:
peso: byte: 1 y 2
marca de tiempo: byte 5-8
persona: byte 13
0x1e:
marca de tiempo: byte 1-4
persona: 5
kcal: 6 y 7
grasa: 8 y 9
tbw: 10 y 11
músculo: 12 y 13
hueso: 14 y 15