Tengo un termómetro de piscina inalámbrico barato (AcuRite 617 1 ) y me gustaría interceptar los datos de temperatura en el receptor y utilizarlos con un sistema informático de registro de datos.
Convenientemente, en el interior del receptor hay una pequeña placa de conexión que se conecta a la antena y tiene pines digitales "V", "G", "D" y "SH":
Aquí hay un segmento de datos capturados del pin "D" durante una transmisión (estas ocurren una vez por minuto). Antes de este segmento, hay lo que parece ser datos de velocidad mucho más alta, pero creo que podría ser ruido - este es el comienzo de los datos de 1,36kHz / 680Hz.
He buscado un poco en Google y no encuentro una codificación que se parezca a esta, pero si tuviera que adivinar lo que pasa, esto es lo que pienso:
- los 4 ciclos iniciales de 680 Hz son para sincronizar los relojes pero no contienen datos
- los 13 ciclos de 1,36 kHz (el doble de la tasa inicial) que siguen parecen tener una de dos formas: o bien caen bajo antes del punto medio del ciclo o después de él -- yo asumiría que una forma es un uno lógico y la otra es un cero.
- Después de eso, parece haber un hueco extraño, pero si se descuenta la parte del bajo que forma parte del "1" precedente, entonces el hueco restante es de 735 µs, que es una continuación (¡correcta en fase!) del preámbulo de 680 Hz.
¿Estoy viendo esto correctamente? ¿Existe un nombre para esta codificación?
Algunos apuntes más sobre la pizarra de ruptura:
- la placa está marcada como "RF211" y parece notablemente consistente con el MICRF211 "de propósito general, 3V QwikRadio receptor que opera en 433.92MHz" 3
- la hoja de datos del MICRF211 tiene la siguiente figura (con muy poca explicación), que se parece tentadoramente a lo que estoy viendo, excepto por la onda cuadrada de doble tasa de datos en comparación con mi captura:
2016-02-14 Actualización: He revisado este proyecto y parece que estoy obteniendo un flujo limpio de 64 bits entre un preámbulo de 4 ciclos y un "postámbulo" de 1 ciclo, después del cual la placa de visualización apaga el módulo de RF tirando de ^SH a bajo (línea superior):
Según el esquema "33/66% PWM" de Micrel (que no aparece en ningún otro sitio en Google), eso es
-_-_-_-_0000011110011000110000000000000000000000100011101000010010101010-_
Así que ahora tengo que empezar a manipular la temperatura para decodificar los bits. Aquí ("x") están los bits que parecen cambiar sin ningún cambio aparente en la pantalla:
0000011110011000110000000000000000000000100011101000010010101010
------------------------------------------------x----xxxx----xxx
Supongo que se trata de los bits menos significativos o del nivel de la batería (que sólo se muestra como "Bajo" cuando baja significativamente).
2016-02-15 Actualización: Me llevo el programa a la carretera para dar al nuevo stackexchange de "Ingeniería inversa" una grieta para determinar el significado: https://reverseengineering.stackexchange.com/questions/12048/what-is-contained-in-this-transmission-rf-pool-temperature-sensor-base-unit-re