Introducción
En la actualidad la optimización de los recursos utilizados en la agricultura es de vital importancia debido al aumento de las áreas cultivadas y la limitada disponibilidad de los recursos hídricos necesarios para sustentar los cultivos. Por ello es necesaria la búsqueda de mecanismos que nos permita supervisar de manera automática los procesos de riego y/o medir otras variables del suelo como alcalinidad, oxigenación, humedad y todas aquellas variables que la tecnología nos permita medir de manera directa mediante la utilización de sensores.
En los últimos años se ha producido una aumento de la oferta de controladores, sensores, actuadores, medios de comunicación, motas, disminución de tamaño de los circuitos integrados, aumento de potencia y cálculo de controladores, la aparición de controladores con más un núcleo, diversos protocolos de trasmisión inalámbrica y fundamentalmente la aparición del Internet de las cosas, (IoT), que ha tenido como consecuencia la masificación de estas tecnologías y como consecuencia la reducción de sus costes de adquisición permitiendo la masificación en su uso y aplicaciones en diferentes ámbitos de la tecnología como la industria salud, automoción, aviación, seguridad, etc.
En este trabajo se ha utilizado la tecnología relacionada al IOT para monitorizar un sistema agrícola midiendo parámetros muy simples como la humedad del suelo, la temperatura y humedad en el entorno y transmitiendo directamente vía Wifi las señales sensoriales adquiridas.
Estas señales son gestionadas por una aplicación IoT en la nube directamente siendo posible su visualización en tiempo real mediante su acceso por cualquier usuario que disponga de las credenciales que se lo permitan. Se han encontrado varias publicaciones en la literatura acerca de proyectos parecidos pero nuestro aporte es la de integrar directamente en una aplicación en la nube todas las señales que se van adquiriendo y trasmitiendo a las vez dándole simplicidad a nuestro proyecto pero sin perder eficiencia en su funcionamiento.
La diferencia de este proyecto con otros es que se puede implementar en grandes extensiones de tierra gracias al controlador que se utilizara en este trabajo que es el ESP32 cuya característica principal es que además de tener un controlador de dos núcleos que permite distribuir la carga de un proceso complejo en dos CPUs, dispone terminales para conectar como entrada tanto sensores analógico como digitales.
Tiene integrado dentro del mismo circuito un dispositivo de transmisión capaz de operar en modo Bluetooth y también en modo Wifi lo que le da un amplio alcance para el proceso de supervisión de las variables de interés por lo que siempre, por más grande que sea la extensión a monitorear, una red de sensores con una arquitectura adecuada como mesh o algo similar permitirá realizar satisfactoriamente. Este trabajo consiste de cinco módulos, en la sección II se presentan los trabajos relacionados que dieron paso a esta propuesta, en la sección III se describe la metodología utilizada para ejecutar este proyecto, en el IV se describen los resultados y en la sección V las conclusiones.
Trabajos relacionados
El estudio de las condiciones de temperatura y humedad ambiente como así también la humedad del suelo en un campo de producción agrícola, ha sido una constante desde la aparición de la agricultura en la evolución del hombre. A medida que ha transcurrido el tiempo esto se ha vuelto más importante debido a la mayor demanda de la producción y por tanto del aumento de la superficie a ser cultivada. Al ser los recursos necesarios cada vez más limitados se hace necesaria que la utilización de los mismos deba ser optimizada. La automatización de estos procesos es una vertiente del desarrollo de ha sufrido la industria de la automatización. Esa evolución tiene uno de sus exponentes el microcontrolador ESP 32 que es un dispositivo de bajo consumo, su tensión de funcionamiento es 3,3 Volt, bajo costo y que tiene la particularidad de tener integrados dentro del mismo dos núcleos que le da de gran capacidad de cálculo, interfaces de entrada salida para dispositivos analógicos y digitales y la posibilidad de trasmitir ya sea por wifi o BlueTooth lo que le permite un alcance amplio y la integración del mismo como parte de un red de sensores inalámbricos que le permitirá abarcar la supervisión de una área extensa de cultivo (ESP32, 2022; Hübschmann, 2020; Cheddadi et al., 2020).
En Rojas López et al. (2019) se propone la implementación de un sistema de riego basado en Arduino y Raspberry PI 3 utilizando como protocolos de comunicación BlueTooth. En Haro Vilaña (2019) se propone un sistema de monitoreo y riego utilizando el controlador ESP32 con protocolo de comunicación LoRa. En Plasencia Lema (2019) se considera el monitoreo de variables en un entorno urbano con ESP32, en Perafán-Martín (2018) se desarrolló aun sistema de monitoreo de reservorios. En todos los casos no se ha evidenciado la utilización de mecanismos que se distingue por él envió de los datos directamente a una herramienta IoT alojada en la nube y desde el cual se podrá acceder mediante un punto de acceso Wifi.
Trabajo propuesto
El sistema está implementado con varias motas que tienen la particularidad de tener empotrado un controlador ESP32, un sensor de humedad de suelo capacitivo y un sensor de humedad y temperatura ambiente DHT11. La ventaja de tener un sistema empotrado de estas características es a que parte de la electrónica integrada de los sensores también se encuentra la fuente de alimentación lo que contribuye a la estabilidad del funcionamiento del circuito y por tanto la rápida construcción de la red inalámbrica.
Cada terminal es una mota, Fig. 1, que es un módulo sensor capacitivo de humedad del suelo y temperatura y humedad del aire basado en el microcontrolador ESP32 Rev1. Además, puede funcionar desde una fuente de alimentación externa con un cable USB para las pruebas de diseño y para el funcionamiento en campo lleva empotrado la posibilidad de utilizar una batería del tipo 18650, que le permite autonomía de funcionamiento para realizar tareas de campo, además le hemos adaptado una carcasa de plástico para protegerlo de los ataques propios del clima y permitir su funcionamiento independientemente de las condiciones del tiempo. El microcontrolador ESP32, en sus diferentes versiones, tiene la propiedad de tener incluidos numerosos módulos que permiten un abanico de posibilidades para la ejecución de nuestro proyecto, Fig. 2.
Como podemos ver en el diagrama de módulos del ESP32, el mismo consta de numerosas funcionalidades como ser dos CPUs dentro del mismo controlador, lo que nos da la posibilidad de ejecutar dos programas de manera independiente o complementaria compartiendo datos, la posibilidad de poder transmitir utilizando protocolo BlueTooth o Wifi siendo la utilización de este último protocolo el que permite un alcance ilimitado en envió y recepción de datos.
A diferencia de otros controladores ya tiene integrados los módulos de trasmisión con diferentes protocolos. Otro aspecto importante a diferencia de modelos anteriores de motas que venían con sistemas operativos específicos, es la disponibilidad de entornos de desarrollo abiertos para la programación como el Arduino IDE o Platformio IDE que nos permite su programación no solo en forma monoproceso sino que posibilita utilizar ambas CPU mediante la ejecución concurrente de procesos mediante programación en lenguaje C/C++ o Python habilitando la utilización de la amplia disponibilidad de librerías open source para el funcionamiento del ESP32. Hay que mencionar que utilizando el sistema operativo FreeRTOS nos habilita utilizar ambos núcleos del ESP32 a fin de realizar procesamiento paralelo.
Como herramienta de programación utilizamos el Visual Studio Code, debido a su portabilidad y flexibilidad ya que al instalar la extensión Platfor-mIO se puede programar la placa ESP32 como si fuese un entorno Arduino. Además es posible, con la instalación de las extensiones respectivas escribir archivos Python, HTML, CSS y JavaScript para crear páginas web para los servidores web, brindando mayores posibilidades a nuestro sistema.
Ahora bien, para la transmisión de información y la posibilidad de acceso desde diferentes ubicaciones geográficas existen diferentes herramientas que brindan esta posibilidad para los sistemas IoT: MQTT, Firebase, Node-red, IBM Watson, Azure IoT Edge, etc.
Para nuestro proyecto hemos elegido IBM Watson IoT Platform, que es un servicio suministrado por IBM alojado en la nube que está diseñado para simplificar el proceso de presentación de la evolución de datos provenientes de sensores de sistemas basados en el internet de las cosas.
De manera general las funcionalidades que ofrece van desde el registro de dispositivos como sensores y dispositivos móviles, control de conectividad de los mismos permitiendo la supervisión remota del funcionamiento de los mismos, visualización de datos sensoriales en tiempo real, agrupación de variables según una lógica de funcionamiento, y almacenamiento de datos.
Además de ello hay que mencionar que el IoT Platform es solo una aplicación más de las varias que IBM Watson pone a disposición de los usuarios ya que existen otras aplicaciones como Machine Learning, IA, etc., que permiten procesar los datos provenientes de los sensores hacia niveles más altos de información y toma de decisiones.
Estas herramientas al estar disponibles en la nube ahorran muchísimo tiempo de desarrollo del proyecto y facilita su diseño y depuración desde el punto de vista técnico y por consiguiente incluso desde el punto de vista económico ya que en algunos casos la utilización de los mismos es libre hasta un determinado número de sensores.
Resultados y discusión
La red de sensores inalámbricos consta de motas basadas en el microcontrolador ESP32 que están ubicados sobre la superficie de terreno cuya temperatura y humedad ambiente además de la humedad de suelo se desea monitorear. Las motas ya vienen empotradas con el procesador ESP32, el sensor de temperatura y humedad ambiente DHT11, el sensor de humedad de suelo capacitivo, el soporte para la batería del tipo 18650 y toda la electrónica necesaria para el funcionamiento estable del conjunto.
El código utilizado es una adaptación de Varper Technologies (2022) y Salsabila (2020), que lee un sensor DHT11 con un controlador ESP32 y lo transmite a IBM IoT. Como la mota utilizada tiene empotrado un sensor DHT11 se ha modificado y adaptado el código a las características de la mota y habilitado un puerto para la lectura del sensor de humedad para, juntamente con otros sensores integrarlo en una red de monitoreo agrícola aprovechando las ventajas que ofrece la plataforma de IBM Watson para realizar no solo las lecturas instantáneas de las motas sino seguir su comporta miento de manera visual.
El funcionamiento de la mota es la de captura de datos y su posterior transmisión utilizando protocolo WiFi hasta el punto de acceso WEB. Desde ese punto los datos acceden a la plataforma IoT de IBM Watson y allí los datos son procesados para su presentación visual. Este aspecto es una de las más ventajosas de utilizar este protocolo ya que todo el código de lectura y visualización de datos son utilizados por el usuario ya que son suministrados por la aplicación.
Estos datos tienen varios valores añadidos como pueden ser la restricción de acceso a los componentes de la red como administradores, usuarios técnicos etc., así como la posibilidad de ser accedidos desde un PC o un dispositivo móvil ya sea con un entorno Android o Windows. Como son procesos lentos las actualizaciones de los datos leídos y trasmitidos por cada mota se puede hacer cada minuto o el tiempo que el usuario considere conveniente, lo que permite ahorrar batería y volumen de tráfico de datos.
En caso de que la distribución de las motas tenga que abarcar una extensión de terreno amplio y se necesite realizar ruteo entre motas se puede aprovechar la capacidad del ESP32 de tener dos núcleos y por tanto ejecutando dos procesos de manera paralela, uno para lectura y transmisión de datos y el otro proceso como repetidor en caso de ser necesario.
A efectos de ahorro de energía de las baterías y según criterio de funcionamiento se puede realizar la lectura y transmisión de datos de manera continua o durante intervalos de tiempo en la que el ESP32 alterna entre estados de trasmisión y modo sleep a fin de activarse solo cuando existe una trama que lo necesita.
En la Fig. 3 se observa el esquema de funcionamiento de la red de sensores.
Ahora bien como el objetivo de este trabajo es cubrir las necesidades de monitoreo de una gran extensión entonces se tendrán que utilizar tantas terminales como sean necesarias para cubrir toda la extensión a ser monitorizado. Como debido al alcance del proyecto el área a cubrir puede ser mayor que el alcance individual de las motas será necesario introducir repetidores fin de lograr la cobertura total de la superficie.
Hay que mencionar que existen modelos basados en el ESP32 que tienen capacidades superiores al modelo que hemos utilizado en nuestro proyecto, que tienen mayor alcance de trasmisión y por tanto se puede tener una cobertura de la misma extensión pero con menor número de motas y de ser posible sin repetidores.
Por supuesto mayor potencia de transmisión implica mayor consumo de energía y la necesidad de utilizar otra fuente de alimentación con lo que el costo del proyecto aumentará. Al estar expuesto al aire libre las fuentes de alimentación y almacena- miento basados en energía fotovoltaica se presentan como la mejor opción ya que brinda autonomía al funcionamiento de la red.
En la Fig. 4 vemos la mota que realiza las medidas de campo. La misma consta de la mota propiamente, la batería del tipo 18650 con su correspondiente carcasa de protección contra los embates agresivos de la naturaleza. La misma fue realizada utilizando impresoras 3D. Se observa el funcionamiento individual de cada sensor. El mismo realiza las mediciones de la temperatura y la humedad ambiente y de la humedad del suelo, ya sea de manera continua o intermitente a fin de prolongar la duración de la batería.
Por otra parte, cada mota el trasmitir sus datos lo hace con una identificación como ID del dispositivo que puede ser un nombre cualquiera asociado a su código de ejecución o puede ser el código de identificación del fabricante del controlador que es único para cada dispositivo, con lo cual las trasmisiones tienen un cierto nivel de seguridad facilitando la gestión e identificación de cada mota. Para aumentar los niveles de seguridad se pueden agregar datos adicionales como el nombre de la empresa y un código de autenticación que puede ser brindada por el usuario o que lo puede dar la propia plataforma IBM Watson.
Por tanto cada mota va emitiendo con una identificación propia y códigos de seguridad que son validados por la plataforma IBM Watson antes de ser procesada para su visualización. Una vez que los datos acceden a la plataforma ya estamos en condiciones para convertirla en información relevante para que la misma pueda ser interpretada. Puede ser presentada como lectura de panel digital o como evolución de medida en el tiempo además de ser almacenadas.
Nuestra red está compuesta por tres motas pudiendo ser ampliada hasta 200 para su observación entiempo real ya que este es el número máximo de lecturas que pude hacer la versión gratuita de IOT IBM Watson.
Como se ha mencionado antes una vez que los datos han accedido al sistema se pueden usar todas las herramientas que ofrece IBM Watson para darle mayor valor a las lecturas realizadas, permitiendo obtener de esta forma con un mínimo de desarrollo de software, gracias a las aplicaciones disponibles, tener un sistema muy potente en cuanto a cálculos almacenamiento presentación grafica inteligencia artificial etc.
En la Fig. 5 vemos una captura de nuestra red en funcionamiento formadas por tres motas que van transmitiendo de manera continua y que responden en tiempo real a cualquier variación que detecten nuestros sensores. Los mismos pueden ser accedidos a través de la web, siempre que los interesados tengan lo permisos correspondientes. Se ve claramente la concordancia en los datos sensoriales que se van adquiriendo.
En la Fig. 6 se observa la evolución histórica de los valores obtenidos de los sensores dándole un mayor valor a la información recabada.
Los resultados obtenidos por nuestra red son óptimos. A pesar de trabajar con el dispositivo más pequeño de la familia del ESP32 los resultados se pueden extrapolar a cualquier otro sistema sensorial, independientemente de las variables medidas, que utilicen como controlador el ESP32. La posibilidad de acceso directo a la red Wifi que se logra gracias al transmisor empotrado dentro del ESP32 que a su vez lo está dentro de la mota y en comunicación directa con el IBM Watson, lo hace una herramienta muy sencilla pero a su vez muy poderosa para establecer redes de sensores basado en el Internet de las Cosas. El mecanismo utilizado para la ejecución de este proyecto también es aplicable a cualquier otro proceso cuyas variables necesiten ser evaluadas constantemente.
Conclusiones
Nuestra red inalámbrica se encuentra en el estado inicial de funcionamiento. El modelo puede ser modificado para ampliar una mayor superficie geográfica ya sea utilizando dispositivos basados en el ESP32 que tengan mayor alcance de transmisión, o utilizar algoritmos de ruteo para que las señales a ser transmitidas lleguen a un punto de acceso Wifi en caso de que algunos terminales no puedan conectarse directamente a los AP.
También puede ser utilizado para realizar un sistema de control de riego, ya que con pequeñas modificaciones en el software de control y añadiéndole los actuadores necesarios puede implementarse dicho sistema.
Así mismo, el modelo es válido para una aplicación en sistemas automáticos de control industrial ya que la capacidad de los protocolos de transmisión wifi y BlueTooh que posee el ESP32 nos brinda la posibilidad de realizar redes aplicando ambos protocolos.
Otro aspecto importante de nuestro proyecto es la posibilidad que brindan el acceso a las aplicaciones que ofrece el IBM Watson ya que mediante los mismos se pueden utilizar los datos que se van adquiriendo para almacenarlos para su posterior análisis off-line, utilizar técnicas de inteligencia artificial, machine learning para los datos sensoriales que se van adquiriendo permitiendo diseñar aplicaciones con modernos avances utilizando código ya preestablecido.
Otros estudios posteriores podrían ser el estudio de mecanismos a ser utilizados para maximizar la duración de las baterías que utiliza nuestra mota