Ho un termometro per piscina wireless economico (AcuRite 617 1 ) e vorrei intercettare i dati di temperatura sul ricevitore e usarli con un sistema di registrazione dei dati computerizzato.
Convenientemente, all'interno del ricevitore è presente una piccola scheda breakout che è collegata all'antenna e ha pin digitali "V", "G", "D" e "SH":
Ecco un segmento di dati acquisiti dal pin "D" durante una trasmissione (questi si verificano una volta al minuto). Prima di questo segmento, ci sono quelli che sembrano essere dati di frequenza molto più elevata, ma credo che potrebbe essere rumore - questo è l'inizio dei dati di 1,36 kHz / 680 Hz.
Ho cercato su Google un po 'e non riesco a trovare una codifica simile a questa, ma se dovessi indovinare cosa sta succedendo, ecco cosa sto pensando:
- i 4 cicli iniziali di 680 Hz servono per sincronizzare gli orologi ma non contengono dati
- i 13 cicli di 1,36 kHz (il doppio della frequenza iniziale) che seguono sembrano avere una delle due forme: cadono in basso prima del punto medio del ciclo o dopo - suppongo che una forma sia logica e l'altra è uno zero.
- dopo ciò, sembra esserci uno strano divario, ma se si scontra la parte del minimo che fa parte del precedente "1", il divario rimanente è 735 µs, che è una continuazione (corretta in fase!) del Preambolo 680 Hz.
Sto guardando questo correttamente? C'è un nome per questa codifica?
Alcune ulteriori note sulla scheda di approfondimento:
- la scheda è marcata "RF211" e ha un aspetto straordinariamente coerente con il ricevitore 3w QwikRadio MICRF211 "3V per uso generale che funziona a 433,92 MHz" 3
- la scheda tecnica MICRF211 ha la seguente figura (con pochissime spiegazioni), che assomiglia in modo allettante a quello che sto vedendo, tranne per l'onda quadra a doppia velocità di dati rispetto alla mia acquisizione:
14/02/2016 Aggiornamento: ho rivisitato questo progetto e sembra che stia ottenendo un flusso pulito a 64 bit tra un preambolo a 4 cicli e un "postamble" a 1 ciclo, dopo di che il tabellone spegne il modulo RF di tirando ^ SH basso (linea superiore):
Secondo lo schema "33/66% PWM" di Micrel (che non appare da nessun'altra parte su Google), questo è vero
-_-_-_-_0000011110011000110000000000000000000000100011101000010010101010-_
Quindi ora devo iniziare a manipolare la temperatura per decodificare i bit. Qui ("x") sono i bit che sembrano cambiare senza alcun apparente cambiamento nel display:
0000011110011000110000000000000000000000100011101000010010101010
------------------------------------------------x----xxxx----xxx
Presumo che questi siano bit meno significativi o livello della batteria (che viene visualizzato come "Basso" solo quando diminuisce in modo significativo).
15/02/2016 Aggiornamento: sto portando lo spettacolo sulla strada per dare al nuovo stack "Reverse Engineering" uno scambio per determinare il significato: /reverseengineering/12048/what-is-contained -questa trasmissione -in-rf-pool-temperatura-sensore-base-unità-re