Caso de estudio · Agricultura
Saber que el grano está bien. Sin subir a cada silo.
Nodos de radio solares leen el CO2 de cada silo y un PLC lo envía a la nube.
Decenas de silos en una gran extensión. Un agricultor para revisarlos.
Por eso cada silo informa de su CO2, y solo se va a los silos que lo necesitan.
Este caso sale de un proyecto real de un cliente de Industrial Shields con sede en Canadá, documentado en 2020. No se cita al cliente. Los niveles de CO2, los nodos de radio solares, el ciclo de 30 minutos, el nodo maestro, el PLC conectado a la nube, el software en Python y bash y las imágenes son del caso original. El número de silos, los mensajes y los valores de los paneles de esta página son ejemplos de una forma habitual de hacerlo.
Del proyecto
Silos, radio y CO2.
Dos imágenes del caso original: el esquema de la instalación y la escala de CO2 que indica el estado del grano.


El reto
Grano que se estropea donde nadie mira.
Cada año se pierde una gran cantidad de grano almacenado por hongos e insectos. La investigación en zonas de cultivo de trigo muestra que el CO2 es un indicador eficaz de la calidad del grano. El cliente tenía decenas de silos repartidos en grandes extensiones y los revisaba a simple vista, lo que suponía ir hasta cada uno. Un cambio dentro de un silo podía pasar desapercibido hasta perder una parte o todo el grano, o su valor.
Medir el CO2
El CO2 como indicador clave del estado del grano, con otros sensores en los mismos nodos.
Sin cables entre silos
Un nodo de radio por silo, alimentado por un panel solar.
Una lectura cada 30 minutos
Los nodos leen y envían a un maestro, que se comunica con un PLC conectado a la nube.
Cambiarlo sin hardware nuevo
Scripts en Python y bash fáciles de cambiar: tiempos de lectura, sensores, señales a los actuadores.
El CO2 cuenta la historia del grano
El aire ambiente tiene de 350 a 400 ppm. Una masa de grano estable tiene de 400 a 600 ppm. De 600 a 1.500 ppm empieza el moho. De 1.500 a 4.000 ppm o más hay moho grave o una plaga de insectos.
Cómo funciona
Tres trabajos: leer el grano, mantener vivos los nodos, vigilar la finca.
Cada panel muestra un trabajo del sistema. Pulsa los botones. Los paneles son simulaciones ilustrativas: las franjas de CO2 son del caso, las lecturas, baterías y silos son ejemplos.
La franja de CO2 dice qué pasa dentro.
Cada nodo lee el CO2 de su silo y lo envía. El PLC compara el valor con las franjas del caso: grano estable, moho que empieza, moho grave o insectos. Una subida por encima de la franja estable es la señal para actuar antes de perder el grano. Prueba un silo en el que entra humedad.
- De 400 a 600 ppm: grano estable
- De 600 a 1.500 ppm: empieza el moho
- Más de 1.500 ppm: moho grave o insectos
Lecturas (ejemplo)
- Silo 7, última lectura hace 12 min.
Simulación ilustrativa. Valores de ejemplo, sin datos del cliente. Valores de ejemplo. Las franjas son las del caso original. Qué hacer con el grano (airear, secar, moverlo o usarlo antes) lo decide el agricultor; el caso no lo describe.
Despertar, leer, enviar y dormir. El sol hace el resto.
Los nodos esclavos se despiertan cada 30 minutos, leen sus sensores, envían al maestro y vuelven a dormir. Un panel solar mantiene cargada cada batería, y el nodo puede avisar con antelación cuando su batería se va a agotar. El maestro pasa los datos al PLC, que los envía a la nube. Cambia el tiempo y después pierde el enlace con la nube.
- 48 lecturas por silo y día
- Energía solar, sin cambiar baterías
- Un aviso antes de que se agote una batería
Nodo y maestro (ejemplo)
- Nodo del silo 7 dormido.
Simulación ilustrativa. Valores de ejemplo, sin datos del cliente. Valores de ejemplo. El caso dice que los nodos son solares, que no hay que cambiar baterías y que pueden anticipar cuándo se agotará la batería. No publica la batería ni el panel.
Prueba una red de nodos de radio: simulador de red de sensores sin cables
Solo hay que visitar el silo que cambia.
Con todos los silos en una pantalla, el agricultor ve al momento cuál sale de la franja estable, y solo va hasta allí cuando hace falta. Sigue una semana en la finca.
- Todos los silos en una pantalla
- Avisos por franja, silo a silo
- Menos viajes, acción más temprana
Vista de la finca (ejemplo)
- Elige un momento de la semana.
Simulación ilustrativa. Valores de ejemplo, sin datos del cliente. Datos de ejemplo de 4 silos. El cliente tiene decenas de silos; el caso no publica sus lecturas.
Arquitectura del sistema
¿Cómo se monitoriza el CO2 de muchos silos de grano con un PLC?
Cada silo tiene un nodo de radio OpenMote B con un sensor de CO2 y otros sensores, alimentado por un panel solar. Cada 30 minutos, los nodos esclavos envían sus lecturas por radio a un nodo maestro, que las pasa a un PLC conectado a la nube. Unos scripts en Python y bash procesan los datos, los muestran a distancia y pueden gobernar actuadores. En el esquema original la radio funciona a 868 MHz.
| Señal | Entre | Tipo | Función |
|---|---|---|---|
| CO2 del grano | EntreSensor → nodo del silo | TipoSensor en el nodo | FunciónIndicador clave de la calidad del grano |
| Otros valores | EntreOtros sensores → nodo | TipoSensor en el nodo | FunciónEl caso dice "no solo CO2" |
| Lecturas cada 30 min | EntreNodos esclavos → nodo maestro | TipoRadio, banda sin licencia | FunciónSin cables entre silos |
| Todas las lecturas | EntreNodo maestro → PLC | TipoEnlace local | FunciónProceso en Python y bash |
| Vista remota y avisos | EntrePLC → nube | TipoInternet | FunciónRevisar los silos sin ir hasta ellos |
| Estado de la batería | EntreNodo → maestro (forma habitual) | TipoRadio | FunciónAvisar antes de que se agote una batería |
Por qué funciona
Pocos cables, pocos viajes, un número claro por silo.
Un número que significa algo
Las franjas de CO2 distinguen grano estable, moho que empieza y daño grave, como muestra la investigación que cita el caso.
Sin cables por la finca
Radio entre silos y energía solar en cada nodo, así un silo lejano no cuesta una zanja.
Lento es suficiente
El grano cambia en horas y días, así que una lectura cada 30 minutos basta y deja los nodos en bajo consumo.
Enviar es gratis
La radio funciona en frecuencias sin licencia, sin coste por mensaje.
Margen para crecer
Los nodos tienen puertos libres para más sensores o actuadores, y los scripts cambian sin hardware nuevo.
Viajes solo si hace falta
El caso enumera las ganancias: tiempo, combustible, desgaste del vehículo, emisiones de CO2 y riesgo de accidentes en la carretera.
Hardware
Nodos de radio solares y un PLC Linux.
Opción actualRASPBERRY PLC CPU-Gateway FLEX
El caso cita un PLC conectado a la nube, programado con scripts en Python y bash, y no publica el modelo. Una opción actual para esa función es el Raspberry PLC sin E/S locales: recibe el nodo maestro, ejecuta los scripts y envía los datos a la nube.
- Función en este diseño
- Recibe el nodo maestro, ejecuta los scripts, envía los datos y los avisos
- Procesador
- Raspberry Pi 4, cuatro núcleos de 64 bits a 1,5 GHz, 2, 4 u 8 GB de RAM
- Puertos
- 1 Ethernet Gigabit y 1 Ethernet 10/100, wifi, Bluetooth LE, 2 USB 2.0, 2 USB 3.0, 2 RS-485
- Ampliación
- Una placa opcional: CAN, LoRa o 4G (LTE-M/NB-IoT o LTE Cat 4)
- Software
- Debian de 64 bits preinstalado; ejecuta Python, Node-RED y C/C++
- Alimentación y montaje
- De 12 a 24 Vdc, SAI con supercondensadores, reloj de tiempo real, carril DIN TS35, IP20, de 0 a 50 °C
Si el mismo PLC también tiene que gobernar ventiladores u otros actuadores en el lugar, el RASPBERRY PLC 21 FLEX añade 13 entradas y 8 salidas. Donde no hay internet por cable, la placa 4G da el enlace con la nube.

OpenMote B (imagen del caso original)
Un OpenMote B por silo, en modo esclavo, con sus sensores y un panel solar. Otro nodo es el maestro que recibe todos los silos.
- Sensores
- CO2 y otros; el caso no los detalla
- Ciclo
- Leer y enviar cada 30 minutos
- Radio
- Banda sin licencia; 868 MHz en el esquema original
- Alimentación
- Panel solar, sin cambiar baterías
- Ampliación
- Puertos libres para más sensores o actuadores
OpenMote B ya no está en el catálogo de Industrial Shields. El patrón sigue siendo válido: nodos de radio de bajo consumo, un maestro y un PLC Linux. La banda de 868 MHz es la banda sin licencia en Europa; en Canadá y Estados Unidos es de 902 a 928 MHz, así que la radio tiene que ser la del país.
Preguntas sobre este caso
¿Por qué medir el CO2 del grano almacenado?
Porque el grano que empieza a estropearse respira más. El caso cita investigaciones anteriores: el aire ambiente tiene de 350 a 400 ppm, una masa de grano estable de 400 a 600 ppm, de 600 a 1.500 ppm indica que empieza el moho, a menudo porque el grano se guardó demasiado húmedo o entró humedad, y de 1.500 a 4.000 ppm o más indica moho grave o insectos del grano almacenado. Un CO2 que sube muestra un problema antes de que se vea.
¿Cada cuánto hay que leer un silo?
En este caso, cada 30 minutos. El grano cambia en horas y días, así que es suficiente para ver una tendencia y deja que los nodos duerman casi todo el tiempo con energía solar. Los scripts permiten al cliente cambiar el tiempo de lectura.
¿Qué banda de radio para silos en Canadá o Estados Unidos?
El esquema del caso original muestra 868 MHz, la banda sin licencia en Europa. En Norteamérica la banda sin licencia es de 902 a 928 MHz. Elige nodos certificados para el país y comprueba el alcance en la finca antes de instalar. Puedes probar una red de nodos de radio, su pasarela y los mensajes perdidos en el simulador de red de sensores sin cables.
¿Adónde van los datos y quién recibe los avisos?
El nodo maestro pasa las lecturas a un PLC conectado a la nube, donde se pueden ver y procesar desde cualquier lugar. Una forma habitual es lanzar un aviso cuando un silo sale de la franja estable y una alarma por encima de 1.500 ppm. Para un puente en Python de MQTT a una base de datos en un Raspberry PLC, consulta este ejemplo, y prueba valores remotos y alarmas en el simulador de telemetría de emplazamientos remotos.
¿En qué se diferencia del caso de las montañas de remolacha?
Los dos usan nodos de radio con batería o solares y un Raspberry PLC. En el caso de la remolacha los nodos leen la temperatura en la base de montañas al aire libre cada hora. Aquí leen el CO2 dentro de silos cerrados cada 30 minutos, y el cliente es un agricultor con decenas de silos.
¿Qué más pueden hacer los mismos nodos?
El OpenMote B tiene puertos libres para más sensores o actuadores, y el maestro recogía otros datos como prueba para mejoras futuras. Con una salida en el lado del PLC, el mismo sistema puede gobernar actuadores; el caso dice que los scripts pueden cambiar las señales que se les envían.
Descarga el caso de estudio
PDF de 4 páginas con el reto, la lógica, la arquitectura y el hardware. Sin formularios.
¿Un proyecto similar?
Cuéntanos cómo son tus silos. Te responderá un ingeniero.
Dinos cuántos silos o almacenes tienes, a qué distancia están, qué quieres medir y adónde tienen que ir los datos. Te diremos qué nodos, qué radio y qué controlador encajan.
- Respuesta de nuestro equipo técnico
- Sensores, alcance de radio y enlace a la nube
- PLC basados en Arduino, ESP32 o Raspberry Pi