Ir al contenido
Todos los casos

Caso de estudio · Almacén · Sensores inalámbricos

Un almacén enorme. Once nodos de radio leen el aire.

Temperatura y humedad cada minuto, por radio hasta la nube.

11puntos de medida en un almacén de 450 x 250 m
60 sentre dos lecturas de temperatura y humedad en cada punto
2 x AApilas por nodo, con el objetivo de funcionar más de un año
10 minpara instalar un nodo; el objetivo era de 15 minutos

En las horas de calor la humedad de un almacén puede estar en el 30 % o menos. De noche, el mismo aire puede llegar al 70 u 80 %.

Por eso el caso mide toda la nave, cada minuto, de día y de noche.

Este caso describe un sistema de monitorización inalámbrica instalado en un almacén con nodos de radio OpenMote B, una pasarela Raspberry Pi y un servidor en la nube. No cita al propietario del almacén. Los requisitos, el hardware, los tiempos de radio y los resultados publicados son los del caso. Los valores de los paneles son ejemplos, no datos del almacén.

El reto

Un almacén de este tamaño no se mide desde un solo punto.

En los lugares de trabajo, la temperatura y la humedad relativa tienen que estar dentro de una zona de confort. En este almacén las bandas son de 23 a 27 °C en verano y de 17 a 24 °C en invierno, con 23 °C como valor habitual, y del 30 al 70 % de humedad relativa todo el año, con el 50 % como valor habitual. Los rangos se tienen que vigilar de forma automática, con sensores repartidos por una nave de 450 x 250 m, más de 100.000 m².

01

La humedad cambia de noche

Con el calor del día, la humedad puede estar en torno al 30 % o menos. De noche puede llegar al 70 u 80 %. Una revisión de día no lo ve, así que la monitorización funciona 24/7.

02

Medir las dos a la vez

La humedad relativa depende de la temperatura del aire: si la temperatura sube, la humedad relativa baja. Indica lo cerca que está el aire de la saturación, así que temperatura y humedad se leen a la vez.

03

Sin cables por la nave

Cada nodo lee la temperatura y la humedad cada minuto, con una resolución de 0,1 °C y 1 % de HR. Los nodos tienen que funcionar más de un año con pilas e instalarse en menos de 15 minutos.

04

Saber cuándo falla un nodo

Con 11 nodos en una nave grande, un nodo que deja de emitir se tiene que encontrar rápido. Cada nodo también informa del estado de su enlace de radio, así que un fallo indica qué nodo es y qué tipo de fallo tiene.

Por qué importa la humedad

Una humedad alta favorece el moho, la corrosión y el óxido en la mercancía almacenada. Provoca condensación en paredes, techo y suelo, lo que crea condiciones para las plagas. También puede suponer costes de seguro extra por reclamaciones de clientes por moho.

Cómo funciona

Tres tareas: enviar cada lectura, mapear la nave y vigilar los enlaces.

Cada panel muestra una tarea. Pulsa los botones. Los paneles son simulaciones ilustrativas: los tiempos y las bandas son los del caso, pero los valores, las pérdidas y los números de nodo son ejemplos, no datos del almacén.

Tarea 1 · Enviar cada lectura

Despertar, medir, enviar nueve tramas y dormir.

Cada 60 s un nodo se despierta, lee la temperatura y la humedad y prepara un paquete pequeño. Envía el paquete tres veces, y cada vez con tres modulaciones: SUN-FSK, SUN-OQPSK y SUN-OFDM. Son nueve tramas para una lectura. Antes de cada trama el nodo comprueba el canal (CSMA-CA con CCA) y lo vuelve a intentar hasta 3 veces si está ocupado. A la pasarela le basta una trama buena; el servidor en la nube elimina los duplicados. Elige una condición de radio y despierta el nodo.

  • Una lectura cada 60 s y después reposo
  • 3 repeticiones x 3 modulaciones = 9 tramas
  • 21 bytes, AES-128, una PSDU de 32 bytes
FSKOQPSKOFDM100 ms650 ms1300 ms
Tramas enviadas0
Tramas recibidas0
Lectura entregada0
Reintentos CSMA0
EN REPOSOLECTURAENVÍO DE 9 TRAMASENTREGADA

Eventos del nodo (ejemplo)

    Simulación ilustrativa. Valores de ejemplo, sin datos del almacén. Aquí, un ciclo cada pocos segundos; en el caso, cada 60 s. Los tiempos son los del caso: tres repeticiones a 100, 650 y 1300 ms, cada una en SUN-FSK, SUN-OQPSK y SUN-OFDM, con 50 ms entre ellas. Las pérdidas son ejemplos.

    Tarea 2 · Mapear la nave

    Once puntos, una banda para cada estación.

    Cada punto se compara con la banda del caso, no solo con la media de la nave. Por la tarde el aire está caliente y seco; de noche, la misma nave puede llegar al 70 u 80 % de humedad. En este ejemplo, los puntos cerca de los muelles de carga se mueven antes. Elige una hora del día, cambia la estación y mira los puntos.

    • Temperatura: de 23 a 27 °C en verano, de 17 a 24 °C en invierno
    • Humedad relativa: del 30 al 70 % todo el año
    • Cada punto se lee cada minuto, 24/7
    Muelles de carga1234567891011
    Media de la nave00
    Puntos fuera de banda0
    Peor punto0
    Banda activa00
    DENTRO DE BANDACERCA DE UN LÍMITEFUERA DE BANDA

    Eventos de la nave (ejemplo)

      Simulación ilustrativa. Valores de ejemplo, sin datos del almacén. Valores de ejemplo, más rápidos que en la realidad. Las bandas son las del caso: de 23 a 27 °C en verano, de 17 a 24 °C en invierno y del 30 al 70 % de HR todo el año. La humedad de día y de noche sigue el caso: en torno al 30 % o menos de día, del 70 al 80 % de noche. La posición de los puntos es un ejemplo.

      Tarea 3 · Vigilar los enlaces

      La red informa de sí misma.

      Con pilas y radio, un nodo puede quedarse callado sin que nadie lo note. Cada nodo envía la potencia de la señal (RSSI) y el ruido del canal cuando transmite (CCA RSSI). Cada paquete lleva un contador que solo sube. Un enlace débil, un nodo mudo y un nodo reiniciado dejan una marca distinta. Provoca un fallo y lee el registro.

      • RSSI y CCA RSSI de cada nodo
      • Los saltos del contador muestran paquetes perdidos
      • Un contador que vuelve a 1 muestra un reinicio
      RSSI (dBm)-90 dBm1234567891011
      Nodos que informan0
      Lecturas que faltan0
      Enlace más débil00
      Alertas abiertas0
      TODOS LOS NODOS OKENLACE DÉBILNODO MUDONODO REINICIADO

      Eventos de enlace (ejemplo)

        Simulación ilustrativa. Valores de ejemplo, sin datos del almacén. Un tic es un minuto del caso. Los valores de RSSI, las pérdidas y los números de nodo son ejemplos. El método es el del caso: cada nodo envía el RSSI y el CCA RSSI, y el contador de paquetes de cada nodo solo sube, así que un salto indica paquetes perdidos y un contador que vuelve a 1 indica un reinicio.

        Arquitectura del sistema

        ¿Cómo se monitorizan la temperatura y la humedad de un almacén grande sin cables?

        Once nodos con pilas leen la temperatura y la humedad y las envían por radio, IEEE 802.15.4g, con tres modulaciones. En la pasarela, una Raspberry Pi con tres placas de radio OpenMote B recibe las tramas por USB. Un servidor en Python de la pasarela envía los datos por MQTT, a través de un módem LTE, a un servidor en la nube de Amazon AWS. Allí, un segundo servidor en Python elimina los paquetes duplicados y aplica la calibración, InfluxDB guarda los datos, y Grafana y Node-RED los muestran.

        Almacén, 450 x 250 m11 nodos con pilasBME280, 2 AA, cada 60 sIEEE 802.15.4gFSK, O-QPSK, OFDM, 9 tramasRadioPasarela3 OpenMote Buna por modulación, USBPasarelaRaspberry Pi 3B+, PythonMódem LTEHuawei E3372, USBUSBServidor en la nubeAWS T2.micro, UbuntuServidor en Pythonduplicados, calibraciónInfluxDBalmacenamientoGrafana, Node-REDgráficas, flujosMQTT sobre LTEDisposición del caso. La pasarela del caso es una Raspberry Pi 3B+; hoy una GateBerry FLEX cumple esta función.11 nodos con pilasBME280, 2 AA, cada 60 sRadioIEEE 802.15.4gFSK, O-QPSK, OFDM, 9 tramas3 OpenMote Buna por modulación, USBUSBPasarelaRaspberry Pi 3B+, PythonUSBMódem LTEHuawei E3372, USBMQTT sobre LTEServidor en Pythonduplicados, calibraciónInfluxDBalmacenamientoGrafana, Node-REDgráficas, flujosDisposición del caso. La pasarela es unaRaspberry Pi 3B+; hoy una GateBerry FLEXcumple esta función.
        Radio, IEEE 802.15.4gUSB y software de la pasarelaMQTT sobre LTEServicios en la nube
        Señales y datos
        SeñalEntreTipoFunción
        Temperatura y humedad relativaEntreBosch BME280 → nodoTipoEn la placa de sensoresFunciónResolución de 0,1 °C y 1 % de HR, cada minuto. El BME280 también lee la presión
        LuzEntreTI OPT3001 → nodoTipoEn la placa de sensoresFunciónDisponible en la misma placa de sensores
        Paquete de lecturaEntre11 nodos → pasarelaTipoSUN-FSK, SUN-OQPSK, SUN-OFDMFunción21 bytes, AES-128, PSDU de 32 bytes, 3 repeticiones x 3 modulaciones
        Estado del enlaceEntreNodos → pasarelaTipoRSSI, CCA RSSI, reintentos CSMAFunciónPotencia de la señal y ruido del canal, y reintentos de cada modulación
        Contador de paquetesEntreEn cada paqueteTipoContador que solo subeFunciónDetecta paquetes perdidos y reinicios de nodo
        Tramas recibidasEntre3 OpenMote B → Raspberry Pi 3B+TipoSerie por USBFunciónEl servidor en Python de la pasarela lee las tramas
        Enlace de subidaEntrePasarela → nubeTipoMQTT sobre LTE (Huawei E3372)FunciónCada paquete llega al servidor en la nube
        Datos limpiosEntreServidor en Python en AWSTipoEntrada MQTT, salida a base de datosFunciónElimina los paquetes duplicados y aplica la calibración
        Almacenamiento y panelesEntreInfluxDB, Grafana, Node-REDTipoAWS T2.micro, Ubuntu 18.04FunciónAgregación, almacenamiento y gráficas de temperatura, humedad, RSSI y CCA RSSI

        Por qué funciona

        Paquetes de radio pequeños, enviados las veces justas y revisados dos veces.

        Una lectura, nueve oportunidades

        Tres repeticiones con tres modulaciones dan nueve tramas por lectura. El ruido en una modulación o una ráfaga corta en un momento no hacen perder la lectura. El servidor en la nube se queda con una copia.

        Un nodo que duerme

        El nodo solo está despierto para leer los sensores y enviar. Después duerme hasta el minuto siguiente. Por eso se espera que dos pilas AA de 1500 mAh duren más de un año.

        Respeto en el aire

        Antes de cada trama el nodo comprueba el canal (CCA) y espera si está ocupado (CSMA-CA), hasta 3 veces. Los reintentos CSMA y el CSMA RSSI viajan en el paquete, así que se ve qué zona tiene ruido.

        Fallos con nombre

        El RSSI muestra un enlace débil. Un salto en el contador muestra paquetes perdidos. Un contador que vuelve a 1 muestra un reinicio. Cada tipo de fallo señala un nodo.

        Calibrar una vez, corregir en un solo sitio

        Cada sensor tiene una calibración de un punto para eliminar su propio desfase. La aplica el servidor en la nube, así que los nodos son sencillos y una corrección se cambia en un solo sitio.

        Herramientas abiertas en cada capa

        FreeRTOS en las placas de radio, Python y MQTT en la pasarela, InfluxDB, Grafana y Node-RED en la nube. Consulta un puente MQTT en Python en un Raspberry PLC y un bróker MQTT Mosquitto central.

        Del proyecto

        La pasarela y las primeras gráficas.

        Armario de la pasarela con tres placas de radio OpenMote B, un módem LTE USB y un hub USB
        Armario de la pasarela: tres placas de radio OpenMote B, el módem LTE USB y un hub USB (foto del proyecto)
        Gráfica de temperatura de la monitorización del almacén
        Temperatura de los nodos (captura del proyecto)
        Gráfica de humedad relativa de la monitorización del almacén
        Humedad relativa de los nodos (captura del proyecto)

        La instalación se hizo en dos fases, con dos semanas entre ellas: primero la pasarela y 5 nodos, después 6 nodos más. Cada nodo se instaló en unos 10 minutos como máximo.

        Hardware

        La pasarela de hoy. Los nodos del caso.

        GateBerry FLEX, pasarela industrial con Raspberry Pi para carril DIN

        GateBerry FLEX

        La pasarela del caso era una Raspberry Pi 3B+ con tres placas de radio y un módem LTE por USB. Hoy esta función cabe en una GateBerry FLEX: una Raspberry Pi en carril DIN con cuatro puertos USB para las placas de radio y 4G como placa de expansión.

        Función en este diseño
        Pasarela: placas de radio por USB, servidor en Python, MQTT hacia la nube
        Procesador
        Raspberry Pi 4 (opción Raspberry Pi 5), de 2 a 16 GB de RAM
        Puertos
        1 Ethernet Gigabit, 2 USB 2.0, 2 USB 3.0, RS-485, I2C, Wi-Fi, Bluetooth LE
        Expansión
        Una placa: 4G (LTE-M/NB-IoT o LTE Cat 4), LoRa, CAN, M-Bus o RS-232
        Software
        Debian 64 bits preinstalado; ejecuta Node-RED, MQTT, Python y Docker
        Alimentación y montaje
        De 12 a 24 Vdc, SAI con supercondensadores, RTC, carril DIN TS35, IP20, de 0 a 55 °C

        El caso usaba una Raspberry Pi 3B+ con Raspbian y un módem USB Huawei E3372. La GateBerry FLEX es el equivalente actual de Industrial Shields para la función de pasarela. No tiene E/S locales. Las placas de radio no forman parte del GateBerry.

        Placa de radio OpenMote B usada en los nodos de sensores

        Placa de radio OpenMote B (imagen del caso original)

        Cada uno de los 11 puntos de medida es una placa de radio OpenMote B con una placa de sensores OpenMote y dos pilas AA. La misma placa de radio, tres veces, recibe las tramas en la pasarela.

        Placa de radio
        TI CC2538 y Atmel AT86RF215, FreeRTOS
        Placa de sensores
        Bosch BME280 (temperatura, humedad, presión), TI OPT3001 (luz)
        Alimentación
        2 pilas AA, 3 V, 1500 mAh
        Radio
        IEEE 802.15.4g: SUN-FSK, SUN-OQPSK, SUN-OFDM
        Calibración
        Calibración de un punto para eliminar el desfase de cada equipo

        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, una pasarela Linux y MQTT. Cuéntanos tu nave y lo que necesitas de la radio y te propondremos los nodos.

        Preguntas sobre este caso

        ¿Qué temperatura y humedad debe mantener un almacén?

        En este caso: de 23 a 27 °C en verano y de 17 a 24 °C en invierno, con 23 °C como valor habitual, y del 30 al 70 % de humedad relativa, con el 50 % como valor habitual. Los límites dependen del país, del trabajo y de la mercancía. Por ejemplo, en España el RD 486/1997 fija, en locales de trabajo cerrados, de 17 a 27 °C para trabajos sedentarios propios de oficinas, de 14 a 25 °C para trabajos ligeros y del 30 al 70 % de humedad relativa (mínimo del 50 % donde hay riesgo de electricidad estática).

        ¿Por qué vigilar la humedad del almacén 24/7?

        Porque la humedad cambia mucho entre el día y la noche. En este caso puede estar en torno al 30 % o menos con el calor del día y llegar al 70 u 80 % de noche. Una revisión de día muestra un almacén seco mientras el moho, la corrosión y la condensación avanzan de noche. Además, la humedad relativa depende de la temperatura, así que las dos se leen juntas.

        ¿Cuánto duran las pilas de un nodo de sensores inalámbrico?

        En este caso cada nodo funciona con dos pilas AA (3 V, 1500 mAh) y el objetivo es más de un año. El nodo duerme casi todo el tiempo y se despierta cada 60 s para leer y enviar. La duración depende de cada cuánto se despierta, de cuántas tramas envía y de cuántos reintentos provoca un canal ocupado.

        ¿Cómo se sabe si un sensor inalámbrico deja de funcionar?

        Cada nodo envía su RSSI y su CCA RSSI, y cada paquete lleva un contador que solo sube. Un RSSI bajo indica un enlace débil. Un salto en el contador indica paquetes perdidos. Un contador que vuelve a 1 indica que el nodo se ha reiniciado. Si no llega ningún paquete durante unos minutos, el nodo está mudo: pilas agotadas o nodo fuera de alcance.

        ¿Por qué enviar cada lectura con tres modulaciones?

        IEEE 802.15.4g define tres modos de radio SUN: FSK, O-QPSK y OFDM. Reaccionan de forma distinta al ruido y al edificio. En este caso cada lectura sale tres veces en cada uno, así que basta una trama buena, y los reintentos CSMA de cada modo muestran cuál tiene el canal más ocupado en cada zona. El coste es tiempo de aire y energía, que el reposo de 60 s mantiene bajo. Los paquetes pequeños también ayudan; consulta el empaquetado de bits de la carga útil (el ejemplo usa LoRaWAN; la idea es la misma).

        De monitorizar a controlar: ¿cuál es el paso siguiente?

        Este caso mide e informa; no describe los ventiladores, la calefacción ni los deshumidificadores. Una forma habitual de hacerlo: un PLC junto a los equipos de climatización lee los valores del bróker MQTT y activa los equipos con una banda y un retardo, para que no arranquen y paren todo el rato. Consulta cómo unos PLC Arduino controlan la humedad y la temperatura de un invernadero y un concentrador MQTT con Node-RED.

        ¿Monitorizas una nave grande?

        Cuéntanos tu nave y tus límites. Te responderá un ingeniero.

        Dinos el tamaño del edificio, las variables y sus límites, cuántos puntos quieres y adónde tienen que ir los datos. Te propondremos los nodos, la radio, la pasarela y el software.

        • Respuesta de nuestro equipo técnico
        • Puntos, radio y pasarela para tu edificio
        • PLC y pasarelas basados en Arduino, ESP32 o Raspberry Pi