Arduino
Sensores comerciales de temperatura.
Sensores comerciales de temperatura.
rtl_433
Después de mi anterior artículo para recibir la señal de los sensores meteorológicos rec433.html , y con la espina clavada de no saber como era el modo de chequear errores, me puse a mirar por internet.
El que busca encuentra, y estaba cerca, estaba dentro de los repositorio de Debian 11, era el programa rtl_433.
Utilizando el receptor de televisión Realtek Semiconductor Corp. RTL2838 DVB-T , se podía recibir un montón de emisores comerciales de estaciones meteorológicas.
Era un filón, es muy buena la documentación que explicaba el protocolo, ahora puedo realizar el programa arduino que detecta errores.
En Debian 11, si queréis bajar las fuentes desde los repositorios, para compilar o ver sus ficheros, tendréis que dar estas ordenes.
apt-get build-dep rtl-433
apt-get source rtl-433
cd rtl-433-20.11
dpkg-buildpackage -uc -b
seta@debian11:~$
rtl_433 rtl_433 version unknown inputs file rtl_tcp RTL-SDR SoapySDR Use -h for usage help and see https://triq.org/ for documentation. Trying conf file at "rtl_433.conf"... Trying conf file at "/home/seta/.config/rtl_433/rtl_433.conf"... Trying conf file at "/usr/local/etc/rtl_433/rtl_433.conf"... Trying conf file at "/etc/rtl_433/rtl_433.conf"... Registered 145 out of 175 device decoding protocols [ 1-4 8 11-12 15-17 19-21 23 25-26 29-36 38-60 63 67-71 73-100 102-105 108-116 119 121 124-128 130-149 151-161 163-168 170-175 ] Detached kernel driver Found Rafael Micro R820T tuner Exact sample rate is: 250000.000414 Hz [R82XX] PLL not locked! Sample rate set to 250000 S/s. Tuner gain set to Auto. Tuned to 433.920MHz. Allocating 15 zero-copy buffers _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ time : 2022-12-07 20:06:47 model : TFA-Pool Id : 203 Channel : 1 Battery : 1 Temperature: 9.9 C Integrity : CHECKSUM _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ |
time :
2022-12-07 20:06:47 model : TFA-Pool Id : 203 Channel : 1 Battery : 1 Temperature: 9.9 C Integrity : CHECKSUM |
|
time :
2022-12-07 20:57:57 model : AlectoV1-Temperature House Code: 51 Channel : 3 Battery : 1 Temperature: 20.90 C Humidity : 49 % Integrity : CHECKSUM |
|
time :
2022-12-07 20:51:57 model : Prologue-TH subtype : 5 id : 144 Channel : 2 Battery : 1 Temperature: 20.10 C Humidity : 20 % Button : 1 |
|
time :
2022-12-07
20:17:19
brand : OS model : Oregon-v1 SID : 9 Channel : 3 Battery : 1 Temperature: 10.7 C Integrity : CHECKSUM |
|
time :
2022-12-07 20:07:46 model : Hideki-Temperature Rolling Code: 11 Channel : 1 Battery : 1 Temperature: 9.4 C Integrity : CRC |
|
time :
2022-12-07 20:17:39 model : Hideki-TS04 Rolling Code: 0 Channel : 2 Battery : 1 Temperature: 19.4 C Humidity : 30 % Integrity : CRC |
|
time :
2022-12-07 21:07:10 model : Prologue-TH subtype : 5 id : 141 Channel : 1 Battery : 1 Temperature: 20.50 C Humidity : 16 % Button : 0 |
|
Para mi modelo TFA-Pool , el test de errores se hace mediante suma, CHECKSUM.
TFA
pool temperature sensor. 10 24 bits frames CCCCIIII IIIITTTT TTTTTTTT DDBF - C: checksum, sum of nibbles - 1 - I: device id (changing only after reset) - T: temperature - D: channel number - B: battery status - F: first transmission |
Es fácil de programar, y en mi caso si los datos son correctos se manda CHECKSUM=1 .
Espero que os haya gustado este artículo, y os recomiendo que probéis las señales recibidas en vuestra casa.
Lo curios del tema, es que también se reciben señales de los sensores de ciertos coches.
model : Renault type : TPMS id : 330fb5
flags : 36 pressure_kPa: 251.2 kPa temperature_C: 11 C mic : CRC
model : Toyota type : TPMS id : f13c3038
status : 128 pressure_PSI: 34.500 temperature_C: 10.000 mic : CRC
model : Citroen type : TPMS state : c2 id : 0f330778
flags : 12 repeat : 3 Pressure : 233 kPa Temperature: 15 C maybe_battery: 51 mic : CHECKSUM
model : Nexus-T House Code: 158
Channel : 1 Battery : 1 Temperature: 8.60 C
En este archivo os muestro las señales recibidas en mi casa.
En el programa del arduino he colocado un sensor de presión, por lo que si solo queréis ver los datos del sensor, debéis anular el código correspondiente al BMP180, es comentar 3 líneas.
PROGRAMA
Saludos.
Juan Galaz
Bibliografía:
https://github.com/merbanan/rtl_433
https://triq.org/rtl_433/
rec433.html
No hay comentarios:
Publicar un comentario