Desarrollo de un Sistema Ciberfisico IoT mediante Intercepcion SDR de Telemetria Meteorologica para la Automatizacion de Invernaderos
por Mario Uriel Juárez Rosales ·

Una estación meteorológica puede transmitir información útil sin que la veamos: temperatura, humedad, viento y radiación viajan por radio desde sus sensores. Davis SDR convierte esa telemetría en datos que podemos inspeccionar y utilizar en investigación.
El proyecto integra una estación Davis Vantage Pro 2, una antena de 915 MHz, un receptor Nooelec NESDR SMArt v5 y una Raspberry Pi 5. La propuesta combina recepción mediante radio definido por software, validación de integridad, decodificación y conservación de eventos meteorológicos.
Interceptando el clima con tecnología abierta
Un sistema SDR de bajo costo que captura la telemetría de una estación Davis Vantage Pro 2 sin depender de la consola propietaria. Publicado en IJSAMI, Vol. 20, 2026 · FASBIT-UABJO, Oaxaca
hero-sintonia
Figura:Configuracion del sistemas
Leer el paper → · Ver el código →
Tres números que lo resumen
contadores
| 95.10 % | 99.98 % | 0.156 °C |
|---|---|---|
| Paquetes recibidos (PDR) | Disponibilidad del sistema | Error medio en temperatura vs. consola Davis |
6 días de operación continua · 8,612 registros validados · 286 pares de comparación
El problema
- Las estaciones Davis transmiten sus datos por radio mediante un protocolo de salto de frecuencia (FHSS) en la banda ISM de 902–928 MHz, pero solo la consola propietaria sabe leerlos.
- Para un invernadero automatizado destinado al secado de fruta, esto significa depender de hardware cerrado sin capacidad de integración directa con PLCs o microcontroladores.
- La solución radica en escuchar esa señal con un radio definido por software (SDR) de bajo costo e interceptar la telemetría para decodificarla y proveer datos a un sistema ciberfísico.
El reto de acceder a la telemetría
Para aprovechar una estación en un sistema de investigación necesitamos algo más que consultar su pantalla: hace falta disponer de registros, conocer cómo se interpretan y detectar cuándo la adquisición deja de funcionar.
Nuestro objetivo es desarrollar una ruta de recepción que permita trabajar directamente con la telemetría de la estación. El software hace explícitas las etapas que transforman una señal de radio en una medición utilizable y facilita estudiar el comportamiento de la adquisición.
La arquitectura se orienta a aplicaciones de monitoreo ambiental, invernaderos y secado. Constituye una capa de adquisición; el control automático de actuadores y sus efectos sobre la calidad del secado requieren evaluación adicional.
De la señal al dato meteorológico
El recorrido comienza en la estación y termina en un registro. En la experiencia interactiva puedes seguir tramas reales, examinar sus bytes y observar qué ocurre cuando se introduce un error de forma deliberada.
- Transmisión: la estación emite telemetría en su configuración regional de radio.
- Recepción: la antena capta la señal y el cable coaxial de 15 m la conduce al receptor.
- Digitalización y captura: el Nooelec convierte la señal en muestras digitales;
rtldavis, ejecutado en el equipo de procesamiento, recupera las tramas. - Validación: el software comprueba el CRC antes de interpretar el contenido.
- Decodificación: el tipo de paquete determina qué variable se actualiza.
- Registro: el evento y sus datos pueden conservarse para consulta y análisis.
Una señal que cambia de canal
La transmisión Davis de esta configuración utiliza saltos de frecuencia en la banda 902–928 MHz. El proceso de recepción debe tener en cuenta esos cambios para recuperar las tramas.
La base de eventos conserva los bytes recuperados, pero no las muestras de radio originales ni la frecuencia de cada recepción. Por ello, cualquier representación de ondas o canales en el interactivo es esquemática. Los bytes, tipos de paquete y marcas temporales mostrados sí proceden de los registros aportados.
diagrama de fliujo
- Captura: El RTL-SDR sigue los saltos de frecuencia del transmisor.
- Validación: Cada paquete pasa por un filtro de Redundancia Cíclica (CRC-16).
- Los paquetes corruptos que no superan el CRC-16 se descartan automáticamente.
- Decodificación: Se extraen temperatura, humedad, radiación solar, UV y viento aplicando lógica de bits e ingeniería inversa.
- Persistencia: La información validada se almacena en SQLite en modo WAL para retención asíncrona sin pérdida ante cortes.
- Autorecuperación: Un watchdog adaptativo reinicia automáticamente la captura de radiofrecuencia si existe una ausencia de flujo de datos por 30 segundos.
Hardware real
diagrama de configuracion
| Componente | Modelo | Detalle |
|---|---|---|
| Estación | Davis Vantage Pro 2 | Generar telemetría meteorológica |
| Radio | Nooelec NESDR SMArt v5 | RTL2832U + R820T2, TCXO 0.5 ppm |
| Antena | Fibra de vidrio 915 MHz | Cable coaxial RG58 de 15 m |
| Conexión RF | Cable coaxial de 15 m | Conducir la señal al SDR |
| Cómputo edge | Raspberry Pi 5 | 16 GB RAM, arquitectura ARM aarch64 |
| Sistema | Ubuntu Server Linux | Arquitectura aarch64 |
| Barómetro (opcional) | BME280 / BMP390 | Acoplamiento I²C para evadir limitaciones de sensores cerrados en la consola] |
| Software | rtldavis y Python | Recuperar, validar e interpretar tramas |
| Archivo de eventos analizado | SQLite | Conservar tramas hexadecimales, fechas y variables |
El modelo 3D presenta una representación simplificada de estos componentes. Sus dimensiones y separaciones no están a escala.
Comprobar antes de interpretar
Una trama de los registros ocupa ocho bytes. Los primeros seis contienen los campos sobre los que se calcula el CRC; los dos últimos contienen el valor recibido para su comparación. La validación utiliza el polinomio 0x1021, con valor inicial 0x0000.
Por ejemplo, la base contiene esta trama de temperatura:
80 03 C7 30 29 00 A1 A0El cálculo sobre 80 03 C7 30 29 00 produce A1A0, coincidente con los dos últimos bytes. Una vez superada esa comprobación, el código interpreta el tipo y los campos de la medición.
El monitor interactivo diferencia entre candidatos recibidos, paquetes válidos, descartes por CRC, formato inválido, ruido simulado y registros incorporados. El ruido que no forma una trama candidata no se suma como paquete. Los errores provocados afectan una copia de demostración y nunca alteran el registro original.
Resultados y validación cruzada
- Periodo evaluado: Campaña de 6 días, del 29 de agosto al 4 de septiembre de 2026.
Qué contienen los registros reales
Para esta publicación se examinó el archivo eventos_davis.db, que contiene 268,316 eventos entre el 26 de agosto de 2026 a las 10:54:47.670 y el 4 de septiembre a las 16:04:38.948. Las marcas temporales se presentan como están almacenadas, sin asumir una zona horaria.
| Tipo registrado | Número de eventos |
|---|---|
| Temperatura | 67,089 |
| Humedad relativa | 26,803 |
| Radiación solar | 13,408 |
| Índice UV | 13,436 |
| Lluvia | 67,082 |
| Humedad de hoja | 67,082 |
| Viento y ráfaga | 13,408 |
| Tipo desconocido | 8 |
| Total | 268,316 |
Al recalcular el CRC de todas las tramas almacenadas, las 268,316 coincidieron con el valor recibido. Los ocho eventos clasificados como desconocidos también superaron esta comprobación: desconocer el tipo no equivale a detectar corrupción.
Esta base conserva eventos con CRC válido y no incluye el historial completo de paquetes rechazados. En consecuencia, no permite calcular por sí sola la proporción de entrega, las pérdidas del enlace o la disponibilidad total.
Evolución de las variables
Las gráficas de esta publicación se calcularon a partir de los eventos del 29 de agosto al 4 de septiembre. Se agruparon en intervalos de 15 minutos, usando únicamente los paquetes que actualizan cada variable. Así se evita contar repetidamente un valor conservado en filas de otros tipos de paquete.
El explorador presenta temperatura, humedad relativa, radiación solar e índice UV por separado, con unidades propias y el número de observaciones de cada intervalo. Los intervalos sin datos no se interpolan.
graficas
Estas curvas muestran el registro de la ruta SDR. No contienen observaciones sincronizadas de la consola comercial y no deben interpretarse como una comparación independiente con ella.
Confiabilidad y operación en el Edge
whathdog
- Registros de resumen validados: El sistema persistió exitosamente 8,612 registros en la base de datos.
- Tráfico RF: Se recolectaron más de 230,000 tramas crudas validadas por CRC, mientras que el filtro descartó 11,899 tramas corruptas o basura electromagnética.
- Packet Delivery Ratio (PDR): Se alcanzó un nivel de entrega del 95.10 %.
- Recuperación Automática: Se registraron 95 intervenciones del Watchdog con un MTTR (Tiempo Medio de Recuperación) de 1.0 s.
- MTBF (Tiempo Medio Entre Fallos): El análisis de estabilidad arrojó 90.95 minutos empíricos.
- Forma de Weibull (β): Un factor de 0.354 indicó que los fallos del hardware comercial ocurren por estrés eléctrico transitorio al arranque, siendo mitigados de manera asíncrona por el software.
- Jitter de escritura: El intervalo en base de datos presentó un Jitter de apenas 0.398 s, confirmando un desempeño en tiempo real sin bloqueos.
Validación contra la consola comercial (286 pares)
- La arquitectura SDR provee una ventaja medible al ofrecer una resolución termodinámica 5.6 veces superior al equipo comercial, evadiendo así los errores de truncamiento de fábrica.
- Temperatura (°C): Presentó un error medio (MAE) de 0.156, un RMSE de 0.181 y una correlación de 0.999.
- Durante el ciclo diurno, las temperaturas máximas superaron los 30 °C y las mínimas nocturnas rondaron los 16-18 °C.
- Humedad (%): Logró un MAE de 0.352, un RMSE de 0.495 y una correlación perfecta de 0.999.
- La humedad exterior mostró un valle diurno cayendo frecuentemente por debajo del 40 %.
- Radiación solar (W/m²): Registró un MAE de 39.33, un RMSE de 87.42 y una correlación de 0.951.
- La radiación superó regularmente los 900 W/m² y se acercó a los 1200 W/m² bajo cielos despejados.
- Índice UV: Obtuvo un MAE de 0.333, un RMSE de 0.742 y una correlación de 0.974.
validacion sdr
Para qué sirve
para que sirve
- Invernaderos y secado inteligente: Provee datos climáticos precisos en tiempo real para alimentar lazos de control PID sobre actuadores físicos, eliminando la dependencia de hardware comercial cerrado.
- Investigación agrícola: Ofrece un dataset continuo, validado y auditable sustentado en una arquitectura abierta que opera desde el borde (Edge).
- IoT de bajo costo: Implementa una metodología replicable capaz de interceptar telemetría de diversos sensores comerciales en bandas ISM.
Publicación
A Low-Cost SDR-Edge Architecture for Weather Telemetry in Cyber-Physical Greenhouse Drying Systems International Journal of Sustainable Agricultural Management and Informatics (IJSAMI), Vol. 20, 2026
Mario U. Juárez-Rosales, Alexis Ramírez-Sibaja, María S. Cruz-Martínez, Hariel Nicolas-Bautista, Diego Sánchez-Domínguez y Omar A. Hernández-Flores (autor de correspondencia) FASBIT-UABJO, Oaxaca, México
@article{juarezrosales2026lowcost, author = {Juárez-Rosales, Mario U. and Ramírez-Sibaja, Alexis and others}, title = {A Low-Cost SDR-Based Edge Architecture for Weather Telemetry in Cyber-Physical Greenhouse Drying Systems}, journal = {IJSAMI}, volume = {20}, year = {2026} }
Replícalo tú
replicalo tu mismo
Todo el procedimiento de la arquitectura ciberfísica está documentado paso a paso:
- Hardware exacto
- Instalación de
rtldavis - Reglas udev para el RTL-SDR
- Evaluación de 6 días como servicio systemd
- Scripts de análisis y validación cruzada
Alcances y siguientes pasos
El proyecto permite inspeccionar una cadena de adquisición y relacionar registros meteorológicos con las tramas que los originaron. Esto resulta útil para enseñanza de instrumentación, análisis de telemetría y desarrollo de sistemas de monitoreo.
La revisión de los datos debe distinguir integridad de trama, correcta interpretación y exactitud de medición. Para ampliar la validación se necesitan comparaciones sincronizadas, registros de fallos y pruebas prolongadas bajo distintas condiciones de radio y alimentación.
El sistema tampoco implica que cualquier sensor de la banda ISM pueda leerse con el mismo decodificador: cada protocolo requiere su propia interpretación.
Código abierto y contacto
github.com/Sibajx/davis-sdr-greenhouse
- Investigadores e ingenieros: El repositorio contiene el código fuente, los scripts de análisis y los datos procesados para clonar y reproducir todos los resultados.
- Contacto: Para proyectos derivados o colaboraciones, puedes comunicarte a
[email protected]o con el autor de correspondencia en[email protected].
(Nota sobre los datos a verificar solicitados: Los detalles específicos sobre el costo exacto en dólares, número total de commits en el repositorio, la versión del repo y cantidad de líneas de código no se integraron en este resumen debido a que no figuran dentro de la publicación oficial de la revista IJSAMI en los documentos validados).
Categoría: IoT · SDR · Agricultura · Python
Lectura: ~6 min · Nivel: intermedio-avanzado
Tags: #sdr #iot #python #raspberry-pi #agricultura #open-source

