Tengo un dispositivo (un contador de tráfico) que se comunica con mi computadora a través del puerto serie.
Para extraer datos de este dispositivo, uso un software específico. También estoy usando un monitor de puerto serie para verificar qué está escrito en el puerto serie y cuál es la respuesta en serie.
Por ejemplo, si en el software provisto con el contador, hago clic en "obtener información sobre el consumo de energía", mi monitor de serie captura el siguiente resultado:
[30/08/2018 18:29:28] Written data (COM4)
3f ?
[30/08/2018 18:29:28] Read data (COM4)
3f 20 33 63 20 28 30 38 3a 33 35 20 30 39 2d 30 ? 3c (08:35 09-0
37 2d 32 30 31 38 20 29 20 2b 28 4d 3d 35 2e 36 7-2018 ) +(M=5.6
38 56 2c 20 52 3d 35 2e 33 37 56 29 0d 0a 35 62 8V, R=5.37V)..5b
...
Luego, si envío solo el mismo comando de serie (para que ?
o 3f
en hexadecimal), obtengo el mismo resultado exacto. Genial
Ahora trato de extraer los datos almacenados. Así que hago clic en "extraer los datos almacenados" y mi monitor de serie captura el siguiente resultado:
[30/08/2018 18:42:46] Written data (COM4)
72 30 35 64 r05d
[30/08/2018 18:42:46] Read data (COM4)
64 20 02 f4 01 b8 5f aa 81 00 ca 39 2b 4b b8 28 d .ô.¸_ª.Ê9+K¸(
dc 98 77 2c 59 ad 19 f6 5b 34 9c c7 31 5e 1f 1e ܘw,Y.ö[4œÇ1^..
68 5f c8 8e 7b 32 4f ed 10 60 51 d2 a1 5b 33 62 h_ÈŽ{2Oí.'QÒ¡[3b
...
Pero esta vez, si envío el mismo comando serial, ¡el resultado es totalmente diferente!
[30/08/2018 18:41:01] Written data (COM4)
72 30 35 64 r05d
[30/08/2018 18:41:01] Read data (COM4)
72 20 30 35 r 05
¿Por qué el mismo comando serial me da dos respuestas diferentes?
Si puedo obtener la misma respuesta, será fácil recrear el archivo creado por el software ... pero necesito la misma respuesta.