Energías AlternasEA·Lab
← ProyectosProyecto

Desarrollo de un Sistema Ciberfisico IoT mediante Intercepcion SDR de Telemetria Meteorologica para la Automatizacion de Invernaderos

por Mario Uriel Juárez Rosales ·

Ingeniería InversaSistemas CiberfísicosSistemas IoT e Inteligentes
Desarrollo de un Sistema Ciberfisico IoT mediante Intercepcion SDR de Telemetria Meteorologica para la Automatizacion de Invernaderos

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

Interactivo · nivel 2

imagen de configuracionFigura:Configuracion del sistemas

Leer el paper → · Ver el código →


Tres números que lo resumen

Interactivo · nivel 2
95.10 %99.98 %0.156 °C
Paquetes recibidos (PDR)Disponibilidad del sistemaError 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.

  1. Transmisión: la estación emite telemetría en su configuración regional de radio.
  2. Recepción: la antena capta la señal y el cable coaxial de 15 m la conduce al receptor.
  3. Digitalización y captura: el Nooelec convierte la señal en muestras digitales; rtldavis, ejecutado en el equipo de procesamiento, recupera las tramas.
  4. Validación: el software comprueba el CRC antes de interpretar el contenido.
  5. Decodificación: el tipo de paquete determina qué variable se actualiza.
  6. 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

Interactivo · nivel 2
  • 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

Interactivo · nivel 2
ComponenteModeloDetalle
EstaciónDavis Vantage Pro 2Generar telemetría meteorológica
RadioNooelec NESDR SMArt v5RTL2832U + R820T2, TCXO 0.5 ppm
AntenaFibra de vidrio 915 MHzCable coaxial RG58 de 15 m
Conexión RFCable coaxial de 15 mConducir la señal al SDR
Cómputo edgeRaspberry Pi 516 GB RAM, arquitectura ARM aarch64
SistemaUbuntu Server LinuxArquitectura aarch64
Barómetro (opcional)BME280 / BMP390Acoplamiento I²C para evadir limitaciones de sensores cerrados en la consola]
Softwarertldavis y PythonRecuperar, validar e interpretar tramas
Archivo de eventos analizadoSQLiteConservar 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:

text
80 03 C7 30 29 00 A1 A0

El 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 registradoNúmero de eventos
Temperatura67,089
Humedad relativa26,803
Radiación solar13,408
Índice UV13,436
Lluvia67,082
Humedad de hoja67,082
Viento y ráfaga13,408
Tipo desconocido8
Total268,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.

Interactivo · nivel 2

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

Interactivo · nivel 2
  • 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

Interactivo · nivel 2

Para qué sirve

para que sirve

Interactivo · nivel 2
  • 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

Interactivo · nivel 2

Todo el procedimiento de la arquitectura ciberfísica está documentado paso a paso:

  1. Hardware exacto
  2. Instalación de rtldavis
  3. Reglas udev para el RTL-SDR
  4. Evaluación de 6 días como servicio systemd
  5. Scripts de análisis y validación cruzada

Guía de reproducibilidad →


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

Participantes

GitHub ↗github ↗
Desarrollo de un Sistema Ciberfisico IoT mediante Intercepcion SDR de Telemetria Meteorologica para la Automatizacion de Invernaderos · Energías Alternas