Recibido: 14 de diciembre de 2023; Revision Received: 22 de enero de 2024; Aceptado: 31 de enero de 2024
Development of an IoT architecture for environmental monitoring: integrating open source technologies with application projection in the mining sector
Desarrollo de una Arquitectura IoT para monitoreo ambiental: integración de tecnologías de código abierto con proyección de aplicación en el sector minero
Abstract
This work describes the design and implementation of an Internet of Things architecture that focuses on monitoring temperature and humidity. The system is based on the strategic selection of technologies, including Arduino, LoRa modules, DHT11 sensors, and ESP32 microcontrollers. Python Flask was used to develop a user interface for the web application, ensuring an easy and accessible user experience. Moreover, to enhance the scalability and security of the system, it is recommended to implement modular algorithms and authentication measures. The article concludes by emphasising the advantages and effectiveness of open source technology in data acquisition, processing, and monitoring across various application scenarios. Suggestions for future improvements are provided, with particular attention to expanding data visualisation and environmental monitoring. The limitations and advantages of the system are addressed, highlighting its potential application in remote or resource-limited areas. The results obtained in this work can be scaled to the different stages of a mining project in which environmental parameters must be monitored.
Keywords:
Internet of Things (IoT), environmental parameters, open source.Resumen
Este trabajo detalla el diseño y la implementación de una arquitectura de Internet de las Cosas centrada en el monitoreo de temperatura y humedad. La selección estratégica de tecnologías, como Arduino, módulos LoRa, sensor DHT11 y el microcontrolador ESP32, constituye la base del sistema. Se destaca el empleo de Python Flask para desarrollar una interfaz de usuario en la aplicación web, asegurando así una experiencia de usuario fácil y accesible. Además, se enfatiza la implementación de algoritmos modulares y medidas de autenticación para mejorar la escalabilidad y seguridad del sistema. El artículo concluye resaltando los beneficios y la eficacia de la tecnología de código abierto en la adquisición, procesamiento y monitoreo de datos en diferentes escenarios de aplicación. Se proporcionan sugerencias para futuras mejoras, con especial atención a la expansión de la visualización de datos y la monitorización ambiental. Se abordan las limitaciones y ventajas del sistema, destacando su potencial aplicación en áreas remotas o con recursos limitados. Se espera que los resultados obtenidos en este trabajo puedan ser escalados a las diferentes etapas de un proyecto minero de pequeña y mediana escala en los que se requiere monitorear parámetros ambientales que oriente la toma de decisiones, como una metodología de trabajo que esté al alcance de pequeñas agremiaciones y explotación de recursos naturales de manera sostenible.
Palabras clave:
Internet de las cosas (IoT), parámetros ambientales, código abierto.1. Introducción
El paradigma del Internet de las Cosas (IoT) ha experimentado una difusión significativa, extendiéndose en aplicaciones que abarcan desde la atención médica inteligente hasta ciudades inteligentes, industria, transporte y agricultura, entre otros dominios. Las plataformas de IoT han emergido como herramientas fundamentales al proporcionar información supervisada y soluciones prácticas para abordar desafíos del mundo real [1]. La interconexión de sensores, dispositivos y sistemas inteligentes ha optimizado la toma de decisiones fundamentadas en datos, impulsando la comprensión, gestión y eficiencia en diversos sectores [2].
Los sistemas basados en IoT se caracterizan por una arquitectura con tres niveles fundamentales. En el nivel más bajo, el de dispositivos, se encuentran sensores y objetos conectados encargados de la recopilación de datos. El nivel intermedio, de red, facilita el transporte de datos mediante tecnologías de comunicación. El nivel más alto, de aplicaciones, se encarga del procesamiento de datos y ofrece servicios a los usuarios [3]. La estructura en capas de IoT permite separar las diferentes funciones de un sistema IoT en tres niveles distintos, facilitando el diseño, la implementación y la gestión.
Además, la implementación de redes de sensores inalámbricas (WSNs) [4] desempeña un papel esencial al respaldar diversas operaciones en conjunto con los dispositivos IoT, contribuyendo así a la funcionalidad integral del sistema. Las WSNs posibilitan la comunicación entre dispositivos en el sistema de IoT, facilitando el intercambio de información y la coordinación entre diferentes componentes [3]. Esto habilita la recopilación de datos provenientes de un amplio número de sensores, los cuales, a su vez, pueden emplearse para supervisar y controlar distintos aspectos.
La conexión a la red de múltiples dispositivos permite realizar un monitoreo en tiempo real de los objetos, lo que aumenta la eficiencia en la gestión de recursos y operaciones a través de un control remoto [5]. Estos dispositivos recopilan datos sobre el estado de los objetos, como temperatura, humedad y ubicación, que se utilizan para monitorear su funcionamiento y detectar problemas, así como para controlarlos de forma remota. Este proceso contribuye a la detección temprana de fallos en equipos y al control del consumo de energía. En última instancia, este avance ha revolucionado la recopilación de datos, generando nuevas oportunidades de investigación en diversas áreas, incluyendo las ciencias de la tierra [1].
La implementación de IoT proporciona la capacidad para supervisar diferentes aspectos del entorno, mejorando la adquisición de datos y el monitoreo [6]. En el ámbito de las ciencias de la tierra, se han desarrollado diversas aproximaciones con estos propósitos, destacándose principalmente el monitoreo de la calidad del aire, la calidad del agua, el análisis de la salud estructural y la agricultura de precisión.
En relación con el monitoreo de la calidad del aire, se hace énfasis en la necesidad de sistemas de monitoreo continuo de contaminantes, debido a la amenaza que la contaminación del aire representa para la salud y el medio ambiente. Los sistemas basados en IoT han demostrado reducir costos, consumo de energía y mejorar la red de detección, facilitando la construcción de modelos contaminantes [7]. Balarengadurai et al. [8] han introducido un sistema autónomo de control de la calidad del aire mediante sensores de bajo costo, como Arduino Uno, Raspberry Pi y el protocolo de comunicación MQTT. Este sistema ha demostrado su eficacia al recopilar datos en tiempo real de temperatura, humedad, partículas PM 2.5, monóxido de carbono y dióxido de carbono, contribuyendo así al monitoreo ambiental. Además, la investigación sobre la aplicación de la tecnología LoRa de largo alcance para sistemas de monitoreo ambiental busca extender la vida útil de la batería y reducir los costos totales del sistema, abarcando parámetros como partículas PM 2.5, partículas PM 10, dióxido de carbono, temperatura y humedad [9].
En cuanto al monitoreo de la calidad del agua, esencial en diversas aplicaciones para la gestión de cuerpos de agua y el control de contaminantes, se han desarrollado sistemas efectivos de bajo costo para monitorear fuentes hídricas [10]. Un ejemplo es el sistema presentado por Mendez et al. [11], que utiliza un sensor capacitivo interdirigido de bajo costo para medir la conductividad del agua, junto con una red IoT de comunicación de campo cercano (NFC). Este sistema permite la interacción entre un microcontrolador, un dispositivo móvil y una interfaz en línea, facilitando el monitoreo de fuentes hídricas. Además, en [12] se propuso una arquitectura basada en IoT de código abierto que emplea Arduino. Esta plataforma ofrece características como bajo consumo de energía, lectura casi en tiempo real y sensores de luz, temperatura y presión para aplicaciones en entornos acuáticos.
Por otro lado, el seguimiento y evaluación del estado estructural, crucial para prevenir incidentes relacionados con colapsos, ha llevado a la implementación de sistemas basados en IoT, como el propuesto por [13] para el monitoreo de puentes. Este sistema, que comprende varios módulos, utiliza sensores de desplazamiento, microcontroladores y un protocolo de comunicación NB-IoT para almacenar y visualizar datos en la nube. Los resultados validaron su efectividad, especialmente en entornos de construcción.
Adicionalmente, en la agricultura, los sistemas basados en IoT han demostrado ser valiosos para la optimización de prácticas de cultivo. Estos sistemas permiten la recolección de datos climáticos, seguimiento del ganado, detección temprana de problemas en cultivos, gestión de residuos, monitoreo de calidad del suelo y crecimiento de las siembras, entre otros parámetros [14]-[15]. Por ejemplo, [16] propusieron un sistema de agricultura inteligente con nodos que emplean tecnologías de comunicación Wifi, ZigBee y LoRaWAN para la transmisión de datos en diversas condiciones ambientales. En este se concluyó que LoRaWAN es la tecnología óptima para sistemas de monitoreo agrícola cuando se prioriza el consumo de energía y la vida útil de la red.
En este contexto, el objetivo central de la presente investigación radica en diseñar e implementar una metodología para un esquema de registro y visualización de parámetros en línea de bajo costo, como una tecnología de fácil acceso que apoye la transformación digital de las pequeñas y medianas empresas, y aporte al cuidado del medio ambiente. Este sistema pretende posibilitar la monitorización en tiempo real y el control de variables en diversas áreas de la ciencia de la tierra, con la finalidad de optimizar la recopilación de datos, mejorar la eficiencia en el uso de recursos y proporcionar información precisa para la toma de decisiones en los respectivos campos de estudio. Por ejemplo, en el sector minero, podrá ser empleado para el monitoreo de la calidad de los parámetros ambientales en todo el ciclo de vida de un proyecto minero de pequeña y mediana escala de producción.
2. Materiales y métodos
La metodología adoptada en este estudio se enfocó en la implementación de una arquitectura IoT eficaz destinada al monitoreo y control en diversos contextos dentro del ámbito de las ciencias de la tierra. La contribución principal reside en la optimización de recursos, la detección temprana de problemas y la toma de decisiones fundamentadas. A continuación, se detallan los pasos involucrados en el desarrollo de la metodología.
2.1. Identificación de parámetros a monitorear
Esta etapa implicó un análisis destinado a determinar los parámetros y variables específicos que serían objeto de monitoreo. Este proceso incluyó la consideración de factores en diversas áreas, evaluando criterios tales como relevancia, impacto en el contexto de monitoreo y posibilidad de control. La definición precisa de estos parámetros se fundamentó en una revisión bibliográfica exhaustiva y la evaluación de los requisitos específicos del entorno.
2.2. Selección de componentes de la arquitectura
Durante esta etapa, se procedió con la selección de sensores, considerando su adaptabilidad a los parámetros previamente identificados. Posteriormente, se llevó a cabo la elección de dispositivos de adquisición de datos, incluyendo microcontroladores, mediante un análisis comparativo según las especificaciones del fabricante, que evaluó sus capacidades en eficiencia energética y compatibilidad con los sensores seleccionados. En la fase final de esta etapa, se realizó la elección del protocolo de comunicación entre los dispositivos para garantizar una integración eficiente en la arquitectura general del sistema.
2.3. Diseño, implementación y validación de la arquitectura IoT
Tras la selección de componentes, se procedió con la planificación detallada de las interacciones en el sistema, considerando la disposición espacial de los sensores, la configuración de los protocolos de comunicación y la definición de estrategias para el almacenamiento y procesamiento de datos. La conectividad con la plataforma IoT se abordó con un enfoque centrado en la eficacia del monitoreo remoto, asegurando una integración fluida entre las diversas capas del sistema. La implementación progresiva incluyó la configuración de sensores y dispositivos, seguida de una validación iterativa mediante pruebas de funcionamiento y confiabilidad de los datos, con ajustes continuos para optimizar el rendimiento del sistema.
2.4. Desarrollo de la interfaz de visualización
La fase de desarrollo de la interfaz de visualización se concentró en la creación de paneles con gráficos dinámicos. Esta etapa se basó en la identificación de los usuarios finales y sus necesidades específicas de visualización. La interfaz resultante pretende representar claramente los datos recopilados, permitiendo una interpretación efectiva de los parámetros monitoreados en tiempo real.
3. Resultados y discusión
3.1. Identificación de parámetros a monitorear
Se eligieron los parámetros de temperatura y humedad, con base en la relevancia de estas variables en contextos específicos, como la agricultura de precisión, la calidad del aire y el agua, y el seguimiento estructural como un factor de seguridad. En Colombia, estos parámetros muestran variaciones notables a lo largo del año, afectando la productividad, la salud humana. En la agricultura, monitorear la temperatura y la humedad es esencial para prever la producción de cultivos y mejorar las prácticas agrícolas, mientras que el seguimiento de la calidad del aire y el agua es crucial para evaluar la contaminación y la salud pública, como parte de las buenas prácticas hacía una producción sostenible de sectores económicos como el sector minero energético.
3.2. Selección de componentes de la arquitectura
Sensor DHT11 (Temperatura y Humedad): Este sensor fue elegido por su versatilidad y bajo costo. Es capaz de medir tanto la temperatura como la humedad, lo que lo hace adecuado para el monitoreo ambiental en diferentes contextos. Su amplia utilización y bajo costo facilitan su implementación a gran escala, siendo esencial para recopilar datos precisos sobre los parámetros seleccionados.
Arduino Nano (Nodo Sensor): Este microcontrolador se seleccionó debido a su versatilidad y facilidad de programación. Permite la adaptación de cada nodo sensor a las necesidades específicas de recopilación de datos en entornos remotos. Su tamaño reducido y bajo costo lo hacen ideal para implementaciones distribuidas, como la propuesta en la arquitectura IoT.
Módulos LoRa Ra-02 (Comunicación de Larga Distancia): Estos módulos se eligieron por su eficiencia energética y capacidad para transmitir datos a largas distancias. La tecnología LoRa es esencial para una arquitectura IoT distribuida, asegurando una comunicación robusta entre los nodos sensores y la plataforma de monitoreo y control.
ESP32 (Gateway): Se seleccionó este dispositivo por su conectividad Wi-Fi y Bluetooth. Funciona como una puerta de enlace que recopila datos de los nodos sensores y los transmite a la plataforma de monitoreo y control en línea. Su capacidad para gestionar eficientemente grandes cantidades de datos y su versatilidad en términos de conectividad lo hacen un componente clave en la arquitectura.
Python Flask (Interfaz de Usuario): Se eligió Flask para el desarrollo de la interfaz de usuario en la aplicación web. Su facilidad de desarrollo permite la creación de una interfaz amigable y accesible para la visualización de datos recopilados. Flask proporciona la capacidad de presentar la información de manera clara y eficiente para los usuarios finales
3.3. Diseño, implementación y validación de la arquitectura IoT
La implementación de la arquitectura comprendió la integración de componentes interconectados para asegurar el funcionamiento integral del sistema, dividiéndose en tres capas esenciales.
3.3.1. Capa de Dispositivos
En esta capa se alojan los dispositivos físicos utilizados, que incluyen sensores, actuadores y cualquier otro hardware encargado de recopilar datos o ejecutar acciones.
Arduino Nano: Estos dispositivos compactos y autónomos operan como nodos sensores, encargados de recopilar datos de temperatura y humedad. Son desplegables en ubicaciones remotas, contribuyendo a la adquisición de información relevante.
Módulo LoRa Ra-02: Utilizado para facilitar la comunicación de largo alcance entre los Arduino Nano y el ESP32 Gateway, este componente juega un papel crucial en la conectividad eficiente del sistema.
Sensor DHT11: Este sensor desempeña la función de medir la temperatura y humedad en el entorno circundante, proporcionando datos fundamentales para el monitoreo ambiental y contribuyendo a la recopilación precisa de información relevante.
3.3.2. Capa de Red
Actuando como intermediaria entre la capa de dispositivos y la capa de aplicación, esta capa incluye a la puerta de enlace para facilitar la comunicación. Gestiona la conectividad, seguridad y eficiencia en la transmisión de datos entre los dispositivos y la plataforma.
ESP32 Gateway: Microcontrolador central de recopilación de datos que recibe la información de los dispositivos Arduino Nano a través del módulo LoRa y la enruta hacia la capa de aplicación.
Módulo LoRa Ra-02: Similar a la capa de dispositivos, permite la comunicación de largo alcance con los Arduino Nano.
3.3.3. Capa de Aplicación
En esta capa, los datos se presentan de manera comprensible a través de un panel de control, permitiendo a los usuarios finales tomar decisiones informadas.
App de Python Flask: Aplicación web que recibe, procesa y visualiza datos de temperatura y humedad provenientes de los dispositivos Arduino Nano a través del ESP32 Gateway.
En la tabla 1 se detallan las especificaciones técnicas de cada componente, proporciona una visión detallada de las especificaciones técnicas de cada componente utilizado en la arquitectura, facilitando la comprensión de sus características fundamentales.
Rango de humedad: 20-90% de humedad relativa. Precisión de la humedad: ± 5% RH. Rango de temperatura: 0-50°C. Precisión de la temperatura: ± 2% °C. Tensión de funcionamiento: 3 V a 5,5 V. Corriente de funcionamiento: 2,5 mA. Peso: 1,8 gramos.
Microcontrolador: ATmega328P Voltaje de entrada: 7-12 V. Voltaje de operación: 5 V. Memoria flash: 32 KB. SRAM: 2 KB. EEPROM: 1 KB.
Microcontrolador: Tensilica LX6 dual-core. Velocidad de reloj: hasta 240 MHz. Memoria flash: 4 MB5. SRAM: 520 KB. Tensión de entrada: 2,2 V a 3,6 V.
Frecuencia de trabajo: 433 MHz. Sensibilidad: -148 dBm. Potencia de transmisión: 20 dBm. Tensión de entrada: 1,8 V a 3,7 V. Corriente de funcionamiento: 100 mA. Peso: 10 g. Fuente: Elaboración propia
Tabla 1: Especificaciones Técnicas de Componentes.
Componente
Especificaciones
Sensor DHT11
Arduino Nano
ESP32
Módulo LoRa Ra-02
Además de las capas e interacciones entre estas, durante la implementación se tuvieron en cuenta las topologías de las redes de sensores inalámbricos, iniciando con una comunicación punto a punto entre el dispositivo de adquisición de datos y la puerta de enlace mediante la tecnología LoRa. Para lograr un esquema escalable, se incorporaron dos dispositivos adicionales a la red, resultando en tres puntos de monitoreo activos. Todos estos puntos establecen una comunicación directa con el ESP32, que a su vez envía los datos recopilados a la plataforma IoT a través de la conexión Wi-Fi, como se muestra en la Fig. 1. Para garantizar la integridad y seguridad de los datos, se implementaron medidas de autenticación en la comunicación entre los dispositivos.
Figura 1: Diagrama de componentes.
Adicionalmente, la implementación se llevó a cabo de forma modular mediante la implementación de funciones en los algoritmos, lo que contribuye a que este esquema sea más adaptable y escalable.
3.4. Desarrollo de la interfaz de visualización
Esta interfaz web presenta gráficos en tiempo real de los datos capturados por el sensor de temperatura y humedad en los tres nodos del sistema. Esta es una alternativa a soluciones comerciales que busca ofrecer adaptabilidad sin variaciones monetarias, facilitando el acceso y comprensión de datos, y estableciendo un flujo de trabajo flexible según las necesidades específicas (ver Fig. 2).
Figura 2: Interfaz de visualización.
En el proceso, el esp32 actuó como cliente iniciando el protocolo de comunicación HTTP mediante el método POST. Los datos recibidos se almacenan internamente para su posterior exportación a través de una solicitud de la aplicación web. Para visualizar y permitir la exportación de los datos en formato JSON y CSV, se emplearon plantillas HTML que incluyen el formato en CSS y funciones para la visualización y actualización de datos mediante JavaScript
4. Discusión
El diseño e implementación de la arquitectura IoT para monitoreo de temperatura y humedad demuestra la eficacia de la integración de tecnologías de código abierto, como Arduino y ESP32, junto con módulos LoRa y el sensor DHT11. La estructura modular y las medidas de autenticación mejoran la escalabilidad y seguridad del sistema, facilitando la adquisición, procesamiento y monitoreo de datos ambientales. La implementación de Python Flask para la interfaz de usuario contribuye a hacer el sistema fácil de utilizar, brindando visualizaciones claras y en tiempo real de los datos capturados.
Los resultados reflejan la aplicación efectiva de la teoría de IoT en un contexto práctico. La selección de componentes, la planificación detallada de interacciones y la validación iterativa del sistema siguen principios teóricos sólidos. La práctica demuestra que la tecnología de código abierto puede usarse efectivamente para desarrollar soluciones de monitoreo ambiental, destacando la viabilidad y beneficios de esta aproximación.
Como se mencionó anteriormente, este sistema puede beneficiar diversos sectores en Colombia. En agricultura, el monitoreo de temperatura y humedad contribuirá a una gestión más eficiente de cultivos, mejorando las prácticas agrícolas. En salud pública, la capacidad para evaluar la calidad del aire y del agua en tiempo real es crucial para abordar problemas de contaminación. En infraestructuras, como puentes, el seguimiento estructural puede prevenir incidentes relacionados con colapsos. En geomecánica, el monitoreo de taludes permitirá la prevención de desastres por deslizamientos en masa y el monitoreo en socavones podrá prevenir riesgos por derrumbes y el aumento en la concentración de gases nocivos para la salud de los trabajadores. La flexibilidad de esta arquitectura la hace adaptable a múltiples contextos.
5. Conclusiones
El uso de plataformas de IoT y hardware de código abierto como Arduino y ESP32 ha facilitado la adquisición, procesamiento y monitoreo de datos relacionados con la temperatura y la humedad. Estas tecnologías han permitido la comunicación a larga distancia con dispositivos Arduino Nano, posibilitando la visualización y análisis de datos en tiempo real. Además, la implementación de algoritmos modulares y las medidas de autenticación han mejorado la escalabilidad y seguridad del sistema. Esta arquitectura proporciona un marco sólido para recopilar y analizar parámetros ambientales en áreas remotas con recursos limitados.
El diseño e implementación de la arquitectura de IoT demostraron la viabilidad de utilizar hardware de bajo costo y de código abierto para desarrollar un sistema de monitoreo efectivo. La integración de la tecnología LoRa ha resultado fundamental para habilitar la comunicación a larga distancia entre los nodos de los sensores y la puerta de enlace, superando barreras geográficas.
En el futuro, más investigación y desarrollo adicionales podrían centrarse en mejorar la interfaz de usuario de la aplicación web para proporcionar herramientas más completas de visualización y análisis de datos. Además, explorar la integración de sensores adicionales y expandir las capacidades del sistema para monitorear y analizar más parámetros ambientales podría ser de utilidad. En general, la arquitectura propuesta de IoT presenta una solución flexible y de bajo costo para monitorear y analizar parámetros ambientales en áreas remotas o con recursos limitados.
Acknowledgements
Agradecimientos
Los investigadores agradecen al programa Jóvenes Investigadores e Innovadores del Instituto Tecnológico Metropolitano (ITM), además, agradecen a la Unidad de Ciencias, Tecnología y Negocios Innovadores de la empresa Koral Advanced Technology (KORALAT).
Referencias
- [6] Mutjaba, Y., and Elmustafa, A., Internet of Things in smart environment: concept, applications, challenges, and future directions, World Scientific News, [Online]. 134(1), pp. 1-51, 2019. [date of reference November 10th of 2023] Available at: Available at: https://www.researchgate.net/publication/335207701_Internet_of_things_in_Smart_Environment_Concept_Applications_Challenges_and_Future_Directions [URL] 🠔
- [7] Yang, C.T., Chen, H.W., Chang, E.J., Kristiani, E., Nguyen, K.L., and Chang, J.S., Current advances and future challenges of AIOT applications in particulate matters (PM) monitoring and Control. Journal of Hazardous Materials, 419, art. 126442, 2021. DOI: https://doi.org/10.1016/j.jhazmat.2021.126442 [URL] 🠔
- [14] Boursianis, A.D., Papadopoulou, M.S., Diamantoulakis, P., Liopa-Tsakalidi, A., Barouchas, P., Salahas, G., Karagiannidis, G., Wan, S., and Goudos, S.K., Internet of things (IOT) and Agricultural Unmanned Aerial Vehicles (UAVS) in Smart farming: a comprehensive review. Internet of Things , 18, art. 100187, 2022. DOI: https://doi.org/10.1016/j.iot.2020.100187 [URL] 🠔