Forma sugerida de citación: Vega-Luna, J. I.; Sánchez-Rangel, F. J.; Salgado-Guzmán, G.; Cosme-Aceves, J. F.; Tapia-Vargas, V. N. y Lagos-Acosta, M. A. (2020). «Red de monitorización para automatizar el sistema de enfriamiento de un centro de datos». Ingenius. N.◦ 24, (julio-diciembre). pp. 87-96. doi: https://doi.org/10.17163/ings.n24.2020.09.
1. Introducción
El enfriamiento, ventilación y filtrado de aire son los tres sistemas críticos en la operación de un centro de datos o centro de procesamiento de datos (CPD). El aumento en la temperatura en el ambiente puede causar que los equipos alojados en el CPD se detengan, se apaguen automáticamente o inclusive sufran daños. El funcionamiento del CPD debe garantizar el acceso y disponibilidad del equipo de cómputo y telecomunicaciones a clientes y usuarios ya que de esto depende la productividad de empresas e instituciones [1]. Es decir, si las aplicaciones no se encuentran operando, los clientes y usuarios no podrán realizar su trabajo. Hoy en día, en la mayoría de los CPD, la monitorización de variables ambientales se realiza de manera local. Una computadora instalada en la oficina de control del CPD recibe la información de los sensores, usando comúnmente un segmento Ethernet o tecnología alambrada 2-Wire y la muestra en una interfaz de usuario [2, 3]. Esto presenta las siguientes desventajas: 1) No se cubre toda la superficie del CPD ya que los sensores se encuentran instalados en lugares específicos; debido a la limitación en el alcance de la tecnología de comunicaciones usada no es posible acceder desde la oficina de control algunos puntos. 2) Si por alguna razón o contingencia el valor de alguna variable alcanza el umbral y permanece en él durante un tiempo prolongado, la única forma mediante la cual el administrador del CPD puede saberlo es visualizándolo en la interfaz de usuario. No existe un mecanismo que permita al administrador reaccionar oportunamente ante la eventualidad cuando no se encuentre en la oficina de control. 3) Para realizar la monitorización como lo exigen hoy las auditorías, deben llevarse a cabo cambios importantes en la interfaz de usuario para ser invocada desde la Internet [4].
Este trabajo fue realizado a petición de un centro de datos. Se solicitó poner en marcha una red inalámbrica de monitorización de sensores. La red debe estar compuesta por cinco nodos esclavo, instalados estratégicamente en el CPD, encargados de medir periódicamente el valor de temperatura, humedad y concentración de partículas PM2.5 y transmitirlo a un nodo maestro. Las funciones del nodo maestro deben ser: A) Enviar a un servidor en la nube la información recibida desde los nodos esclavo. B) Implantar la interfaz de usuario mediante un servidor web cuya página permita visualizar en línea el valor de las tres variables de ambiente. C) En caso de que el valor de una de las variables alcance el umbral configurado activar el sistema de enfriamiento, ventilación o filtrado de aire según sea el caso. D) Si el valor de una variable es igual o mayor al umbral durante un tiempo establecido, se deberá enviar un mensaje de alerta de WhatsApp a un teléfono móvil. E) El sistema de control debe ser del tipo ON/OFF. La implantación de la red no debe necesitar cableado adicional ni modificar el existente del CPD. La distancia del nodo esclavo más lejano al nodo maestro es de 300 metros. La monitorización periódica de las variables desde la Internet es porque así lo requieren las empresas e instituciones que auditan y certifican los sistemas de seguridad y mantenimiento de los centros de datos [5, 6]. Con los últimos avances tecnológicos ha surgido una variedad de tecnologías de comunicación de radiofrecuencia de gran cobertura geográfica, bajo costo y bajo consumo de energía; algunas de ellas fueron candidatas a usarse en el desarrollo de este trabajo [7]. Algunas de estas tecnologías son wifi, Bluetooth Low Energy (BLE), ZigBee y LoRa (Long Range) [8].
Las características principales de las cuatro tecnologías inalámbricas anteriores se exponen a continuación. La tecnología wifi usa transceptores de bajo costo, alcance limitado de 15 a 25 metros con línea de vista, proporciona gran ancho de banda y consume relativamente una cantidad alta de energía eléctrica [9]. La tecnología BLE tiene alcance de 100 metros nominalmente con línea de vista, proporciona una cantidad mediana de ancho de banda y es de bajo consumo de energía [10, 11]. En cuanto a los transceptores ZigBee, estos dispositivos son de bajo costo, tienen alcance de 100 metros, consumen una cantidad baja de energía y presentan ancho de banda bajo [12]. Por otra parte, la tecnología LoRa usa transceptores de bajo costo, proporciona un alcance de varios kilómetros con línea de vista, tiene un ancho de banda pequeño y es de bajo consumo de energía [13]. Considerando las características indicadas anteriormente, se optó por utilizar la tecnología LoRa y desarrollar una red de área amplia de bajo consumo de energía (LPWAN-Low Power Wide Area Network) [14]. LoRa es un protocolo abierto desarrollado por la LoRa Alliance que permite crear redes LPWAN para el mercado de Internet de las cosas (IoT-Internet Of Things) [15]. El protocolo LoRa define la capa física del modelo OSI o modulación inalámbrica para llevar a cabo la comunicación de larga distancia, usando transceptores de radio de baja potencia que transmiten pequeñas cantidades de información a baja velocidad, logrando mayor tiempo de vida de baterías [16].
Además de los avances tecnológicos en comunicaciones inalámbricas, la aparición de sensores, actuadores, microcontroladores y proveedores de servicios en la Internet, han impulsado fuertemente el desarrollo de aplicaciones de IoT. El crecimiento de los centros de datos ha sido estimulado por las tendencias de la IoT, Big Data, comercio electrónico y el uso de la nube [17]. La red de monitorización desarrollada en este trabajo consiste de una LPWAN compuesta por seis nodos, cinco como esclavos y un maestro. Los nodos se implantaron usando la tarjeta Huzzah32-ESP32, la cual fue seleccionada porque se puede programar usando bibliotecas de funciones de código abierto y libre uso disponibles en la nube, lo que facilitó el desarrollo de la programación al no usar un lenguaje complejo de bajo nivel. Las investigaciones recientes del uso de la tecnología LoRa, donde se requiere largo alcance, han tenido como resultado avances importantes en diferentes ámbitos de la vida humana y monitorización de procesos. Se han realizado, por ejemplo, aplicaciones de esta tecnología en ciudades [18], hogares [19] y edificios inteligentes [20], granjas y campos de cultivo [21], cuidado de la salud [22] y hospitales, procesos industriales [23], consumo de energía eléctrica [24] y agua [25], control de sistemas de calefacción [26], seguridad [27], fluidos [28] y localización [29], entre otras. De manera paralela, durante los años recientes se ha creado una cantidad grande de redes de sensores para monitorización remota de parámetros ambientales, principalmente de temperatura, usando IoT. Algunas de ellas se han usado en aplicaciones de meteorología [30], edificios inteligentes [31, 32], sistemas de salud [33], agricultura [34], plantas industriales, termoeléctricas [35] y producción de acero [36]. De forma similar, se ha llevado a cabo un número importante de aplicaciones con redes de sensores inalámbricos en centros de datos a través de IoT [37]. La mayoría de ellas se ha concentrado en la monitorización y operación de sistemas de enfriamiento para hacer eficiente o reducir el consumo de energía eléctrica [38] y agua [39].
Tomando en cuenta lo expuesto anteriormente, los beneficios y aportaciones de los autores con la aplicación desarrollada son los siguientes: 1) El monitoreo de las variables se realiza de manera remota usando plataformas de IoT en la nube de reciente creación que proporcionan servicios eficientes, confiables y siempre disponibles para almacenamiento de información y envío de mensajes de alerta a un teléfono móvil. Esta tarea en la mayoría de los centros de datos se realiza localmente y están migrando el monitoreo a una solución como la creada en este trabajo. 2) Permite realizar acciones oportunamente antes de presentarse alguna contingencia en el centro de datos. 3) Resuelve una necesidad real del centro de datos. 4) La instalación de la red no es intrusiva, ya que usa comunicación inalámbrica y no modifica el cableado del centro de datos. 5) Está basada en programación hecha en bibliotecas de funciones de libre uso y código abierto, lo cual reduce el tiempo y complejidad de su instalación. En las siguientes secciones de este documento se indican el diseño, implantación y estructura de la red de monitorización, se explican las pruebas llevadas a cabo, así como el objetivo de estas y resultados logrados y, finalmente, se indican las conclusiones obtenidas y principales recomendaciones.
2. Materiales y métodos
2.1. Extracción de la fibra de cabuya
La red de monitorización está integrada por tres elementos: los nodos esclavo, el nodo maestro y la interfaz de usuario. En la Figura 1 se indica el diagrama funcional de la red de monitorización.
2.2. Los nodos esclavo
Los cinco nodos esclavo se implantaron usando la arquitectura mostrada en la Figura 2.
Los componentes usados en cada uno de estos nodos fueron la tarjeta Huzzah32-ESP32, el sensor de temperatura y humedad, el sensor de calidad del aire y el transceptor LoRa. La tecnología LoRa usa las funciones de la capa física, la capa 1 del modelo OSI, ya que determina el tipo de modulación, ancho de banda y la frecuencia de la señal usada en la red. Se utilizó la tarjeta Huzzah32-ESP32 la cual cuenta con los recursos requeridos en el diseño de los nodos esclavo, reduciendo de esta forma el tamaño y costo de los mismos. Microcontrolador Tensilica LX6 de dos núcleos a 240 MHz, memoria flash de 4 MB, memoria RAM de 520 KB, interfaces wifi 802.11b/g/n, Bluetooth clásico y LE con antena integrada, 3 puertos UART, 3 puertos SPI, 2 puertos I2C, 25 entradas/salidas de propósito general (GPIO-General Purpose Input/Output) y un cargador para batería de ion de litio son los principales recursos de la tarjeta. El sensor de temperatura y humedad utilizado en los nodos esclavo fue el dispositivo BME680. Este es un dispositivo digital que integra en un empaquetado metálico compacto de 3.0 × 3.0 mm2 cuatro sensores: temperatura, humedad relativa, presión barométrica y gas. Se alimenta con 3.3 o 5 V ya que la tarjeta en la que se encuentra montado cuenta con un regulador de voltaje. Se usa en aplicaciones de automatización en hogares, oficinas, industrias, IoT, pronóstico del tiempo, medida de calidad del aire y navegación en interiores, entre otras. Cuenta con interfaces digitales I2C y SPI.
El rango de operación es de –40 a +85 °C y de 0 a 100 % de humedad relativa (RH). Puede medir temperatura con una precisión de ±1.0 °C y humedad con una exactitud de ±3 %. En los nodos esclavo, la comunicación entre el BME680 y el microcontrolador de la tarjeta Huzzah32 se realizó a través de los puertos I2C. El BME680 trabaja como esclavo usando la dirección 0 × 77 del bus I2C para proporcionar el valor de la temperatura con una resolución de 20 bits y el de la humedad con 16 bits. Los sensores de presión barométrica y gas del sensor BME680 se deshabilitaron para solo consumir una corriente de 2.1 µA y medir únicamente temperatura y humedad. Para la medida de la calidad del aire en los nodos esclavo se usó el sensor PMS5003. Este dispositivo mide la cantidad de partículas suspendidas en el aire, esto es, la concentración de partículas resultado de la operación de vehículos de combustión interna, por fuego generado por quema de madera o por procesos industriales. Puede medir partículas en el ambiente de 1, 2.5 y 10 micrones de diámetro, denominadas PM1.0, PM2.5 y PM10, respectivamente. Su funcionamiento se basa en la dispersión de luz láser irradiando las partículas suspendidas en el aire para capturar la luz láser dispersa y obtener la medida de la cantidad de partículas por unidad de volumen utilizando un procesador.
El sensor PMS5003 cuenta con un puerto serie UART para transmitir la medida de partículas cada segundo en forma digital. Consume menos de 100 mA en estado activo y menos de 200 µA en modo pasivo. Opera en el rango de temperatura de –10 a +60 ℃ y en el rango de humedad de 0 a 99 % RH, haciéndolo un buen candidato a usar en las condiciones ambientales de un centro de datos. En los nodos esclavo, este sensor se conectó a un puerto UART de la tarjeta Huzzah32 el cual se configuró para trabajar a una velocidad de 9,600 bps y medir partículas PM2.5. El transceptor LoRa utilizado en los nodos esclavo es el circuito RFM95. Este dispositivo cuenta con una interfaz SPI y sus características principales de operación son las siguientes: alimentación de 3.3 V, potencia de salida de +5 a +20 dBm hasta 100 mW, consumo de corriente 100 mA durante la transmisión y 30 mA durante la escucha activa, alcance 2 km con línea de vista con antenas unidireccionales sintonizadas o hasta 20 km usando antenas direccionales, velocidad de transmisión RF de 0.018 a 37.5 Kbps y velocidad de transmisión del SPI de hasta 300 Kbps. El transceptor RFM95 puede configurarse para ser controlado desde un host externo por medio del puerto SPI. El host instrumenta la interfaz de comunicación entre ambos dispositivos usando un protocolo maestro/esclavo. En este trabajo el host externo es el controlador de la tarjeta Huzzah32 que realiza las funciones de maestro y el transceptor RFM95, las de esclavo. La interfaz tiene dos tipos de mensajes: paquetes de comando y paquetes de respuesta. El maestro siempre envía paquetes de comando, mientras que el esclavo siempre transmite paquetes de respuesta. Cuando el maestro envía un paquete debe esperar que el esclavo envíe un paquete de respuesta antes de transmitir otro paquete de comando.
El transceptor RFM95 es un esclavo y no puede iniciar una transacción con el maestro. Los paquetes de comando consisten de los siguientes campos: preámbulo (4 bytes), inicio de trama (1 byte), tipo de comando (1 byte), número de mensaje (1 byte), longitud del mensaje (2 bytes), mensaje (hasta 256 bytes) y checksum para verificar la integridad del paquete (2 bytes). En los nodos esclavo el puerto SPI del transceptor RFM95 se conectó al puerto SPI de la tarjeta Huzzah32. Para lograr el alcance requerido de la red, el transceptor RFM95 de los nodos usa una antena exterior de ganancia tipo Omni Lora de 915 MHz, con estas características: ganancia 8 dBi, conector tipo N hembra, impedancia 50 ohms y longitud 1,145 mm. En cuanto a la programación de la tarjeta Huzzah32 de los nodos esclavo, esta se realizó usando el ambiente de desarrollo de Arduino IDE. La programación se encarga de ejecutar tareas como configurar las terminales GPIO y los puertos I2C, UART y SPI e inicializar el transceptor RFM95. Posteriormente, realizar la lectura, cada 60 segundos, de la temperatura (T), humedad relativa y concentración de partículas (PM2.5) para transmitirla, a través del transceptor LoRa, al nodo maestro. Para llevar a cabo las tareas anteriores se utilizaron las bibliotecas de código abierto: Adafruit_BME680.h para comunicar la tarjeta Huzzah32 con el sensor de temperatura y humedad; software Serial.h para comunicar la tarjeta con el sensor de calidad del aire y RH_RF95.h y SPI.h para la transmisión de información al nodo maestro por medio del transceptor LoRa y el puerto SPI, respectivamente.
2.3. El nodo maestro
De manera similar que en los nodos esclavo, el nodo maestro se desarrolló usando la tarjeta Huzzah32- ESP32 y el transceptor LoRa RFM95. Adicionalmente, el nodo maestro integra una interfaz eléctrica entre la tarjeta Huzzah32 y los actuadores del equipo de filtrado de aire, ventilación y enfriamiento, como se muestra en el diagrama de bloques de la arquitectura del nodo en la Figura 3.
Las funciones del nodo maestro se definieron programando la tarjeta Huzzah32 para que realice la configuración de las terminales GPIO y del puerto SPI e inicialice el transceptor RFM95 y la interfaz wifi. A continuación, invoca la función que arranca el servidor web, la cual puede ser interrumpida al recibir, por medio del puerto SPI, la información transmitida por los nodos esclavo. La rutina de servicio de la interrupción se encarga de leer la información del puerto SPI y transmitirla al servidor en la nube. Si la medida de alguno de los parámetros ambientales, T, RH o PM2.5, alcanza el umbral configurado activa el actuador del equipo correspondiente. Para el caso de la temperatura se enciende el equipo de enfriamiento o aire acondicionado (AC); cuando la humedad llega al máximo se enciende el mecanismo de filtrado de aire y cuando la concentración de partículas es igual o mayor a 2.5 micras se enciende el equipo de ventilación. En caso de que el valor de uno o más de los parámetros anteriores sea igual o mayor al umbral durante un tiempo configurado, esta rutina trasmite el mensaje de alerta de WhatsApp al teléfono móvil a través de la plataforma de servicios Twilio. Cuando el valor retorna al valor menor al umbral apaga el equipo y trasmite el mensaje correspondiente de WhatsApp. Además de las bibliotecas de funciones de código abierto usadas en los nodos esclavo, en la programación del nodo maestro se emplearon las bibliotecas siguientes: WiFi.h para realizar la comunicación con la interfaz wifi y WebServer.h para implantar el servidor web. En la Figura 4 se indica el diagrama de flujo usado para desarrollar la programación del nodo maestro. El servidor en la nube utilizado está disponible a través del proveedor de servicios de Internet ThinkSpeak.
La interfaz eléctrica entre la tarjeta Huzzah32 y los equipos de A/C, filtrado de aire y ventilación se puso en funcionamiento usando un módulo de cuatro canales de 3 V/125 VAC-250 VAC. Este módulo integra cuatro relevadores SRD-03VDC-SL-C de un polo dos tiros y un opto-acoplador en cada relevador para aislar el circuito digital, en este caso la tarjeta Huzzah32, del sector de potencia. Los relevadores del módulo se alimentan con 3 V, la entrada IN de cada uno de ellos se activa desde una terminal GPIO de la tarjeta Huzzah32, configurada como salida, para encender los equipos del centro de datos. Los actuadores de los equipos están conectados a la salida normalmente abierta (NO) del relevador correspondiente como se indica en la Figura 5.
2.4. La interfaz de usuario
La interfaz de usuario es una página creada con HTML mostrada cuando se realiza la conexión al servidor web. En la Figura 6 se muestra la página principal de la interfaz de usuario a través de la cual se visualiza en línea el valor de la medida de temperatura, humedad relativa y concentración de PM2.5 transmitida por cada nodo esclavo.
Para cada nodo esclavo existe un botón en la interfaz bajo el cual se indica una señal de alerta cuando el valor de alguno de los parámetros alcance el umbral. Al presionar el botón de un nodo esclavo, la interfaz de usuario muestra la gráfica en el tiempo del valor de los parámetros obtenida desde ThinkSpeak como se indica en la Figura 7.
La interfaz cuenta adicionalmente con dos botones: el de Configuración, el cual permite establecer el número del teléfono móvil y valores de umbral de T, RH y PM2.5, y el de Histórico, con el cual se puede descargar, desde ThinkSpeak, los valores históricos de los parámetros medidos durante un periodo de tiempo seleccionado y almacenarlos en un archivo de texto. Este archivo es el que generalmente solicitan las auditorías a los centros de datos.
3. Resultados y discusión
Se realizaron tres grupos de pruebas. El primer grupo tuvo como objetivo determinar la precisión de la temperatura medida por la red de monitorización. Para llevar a cabo estas pruebas, se estableció artificialmente, con un calentador, la temperatura en el sensor de un nodo esclavo con diferentes valores. A continuación, se midió la temperatura en torno al nodo esclavo con un termómetro analógico, similar al usado en las auditorías, utilizado como referencia, y se comparó con el valor reportado en la interfaz de usuario. El fabricante del sensor BME680 indica una precisión nominal en la medida de temperatura de ±1.0 °C [40]. Los resultados de estas pruebas mostraron que la precisión real es menor a ±1.0 °C la cual se mantuvo hasta los 68 ºC. Después de este valor, al aumentar la temperatura, la diferencia entre el valor indicado en el termómetro respecto al reportado en la interfaz aumentó proporcionalmente como se muestra en la gráfica de la Figura 8.
Durante las pruebas anteriores no se presentaron problemas en la comunicación entre los nodos de la red. La distancia entre el nodo esclavo más lejano y el nodo maestro son 300 metros. Sin embargo, se realizó el segundo grupo de pruebas para determinar el alcance de la red. La señal transmitida por los nodos sufre interferencia y es difractada o absorbida en el medio, el alcance de esta depende del valor de potencia establecida en el transceptor LoRa, factores ambientales y obstáculos en la ruta de señal. Las pruebas anteriores se realizaron bajo las siguientes condiciones: con línea de vista entre los nodos, el valor de potencia de transmisión RF configurado en el transceptor RFM95 fue 20 dBm100 mW, frecuencia de RF 915 MHz, ancho de banda BW 125 KHz y la temperatura y humedad relativa del ambiente 21.5 °C y 45.1 %, respectivamente.
En la realización del segundo conjunto de pruebas se ubicó un nodo esclavo a diferentes distancias del nodo maestro con línea de vista. En cada ubicación se verificaron las medidas reportadas en la interfaz de usuario. Los resultados de estas pruebas indicaron que el alcance de la red es 11.5 kilómetros con línea de vista. A distancias mayores se perdió el enlace entre el nodo esclavo y el nodo maestro. En este grupo de pruebas se realizó y se ejecutó un programa en el nodo maestro para mostrar el valor del indicador de potencia de la señal recibida (RSSI-Received Signal Strength Indication) en el IDE de Arduino. Los resultados indicaron que la atenuación del valor de RSSI disminuye considerablemente después de 9.2 kilómetros y continúa haciéndolo constantemente hasta que la comunicación se pierde a 11.5 kilómetros, como se indica en la gráfica de la Figura 9. En caso de usar esta red en un lugar con diferentes condiciones ambientales, es recomendable realizar estas pruebas para determinar las limitaciones en el alcance.
El tercer grupo de pruebas tuvo como fin verificar el envío de mensajes de alerta de WhatsApp. En estas pruebas se generó humo artificialmente al quemar una pieza de madera en los cinco nodos esclavo para producir partículas mayores a 2.5 micras. Los nodos esclavo reportaron el evento en la interfaz de usuario y el mensaje fue transmitido y recibido correctamente en el teléfono móvil con un tiempo aproximado de retardo de 1.75 segundos una vez que el evento ocurrió. Tanto en estas pruebas como en el primer conjunto cuando en uno de los nodos esclavo se alcanzó el umbral de temperatura como se muestra en la Figura 10.
4. Conclusiones
Con base en los resultados logrados se concluye que la instalación de la red de monitorización no es intrusiva, ya que no es necesario instalar cableado adicional para su funcionamiento; el alcance de 11.5 kilómetros es mayor al que se puede lograr usando tecnologías inalámbricas tradicionales, pueden adicionarse sensores a los nodos esclavo para acceder información de otro tipo de variables realizando cambios menores en la programación. La aplicación aquí desarrollada puede replicarse fácilmente en otros centros de datos u otro tipo de instalaciones, donde sea necesario monitorear remotamente procesos usando una solución de IoT cuya programación se basa en software de libre uso y código abierto. Es recomendable que si el tiempo de monitoreo de las variables o procesos es menor a 30 segundos se use una licencia de ThinkSpeak, ya que la cantidad de mensajes enviados excederá la máxima incluida en el paquete usado en este trabajo el cual no tiene costo. Se tiene planeado trabajar a corto plazo en dos aspectos del sistema: incrementar el alcance de la red integrando nodos esclavo configurados como repetidores y desarrollar la interfaz de usuario que se ejecute en dispositivos móviles.