SciELO - Scientific Electronic Library Online

 
 número24Evaluación de mapas de competencias educativas: una propuesta difusa basada en 2-tuplasLas redes sociales web como herramienta para gestionar información en procesos de co-creación índice de autoresíndice de assuntosPesquisa de artigos
Home Pagelista alfabética de periódicos  

Serviços Personalizados

Journal

Artigo

Indicadores

Links relacionados

  • Não possue artigos similaresSimilares em SciELO

Compartilhar


RISTI - Revista Ibérica de Sistemas e Tecnologias de Informação

versão impressa ISSN 1646-9895

RISTI  no.24 Porto out. 2017

https://doi.org/10.17013/risti.24.39–56 

ARTÍCULOS

Propuesta de una Arquitectura para Agricultura de Precisión Soportada en IoT

Proposal of an Architecture for Precision Agriculture Supported in IoT

Edwin Andrés Quiroga Montoya1, Sergio Fernando Jaramillo Colorado1, Wilmar Yesid Campo Muñoz1, Gabriel Elías Chanchí Golondrino2

1 Universidad del Quindío, Cra. 15 Cll. 12 norte, 630004, Armenia, Colombia. eaquirogam@uqvirtual.edu.co, sfjaramilloc@uqvirtual.edu.co, wycampo@uniquindio.edu.co

2 Institución universitaria Colegio Mayor del Cauca, Cra. 7 #2-34, 190003, Popayán, Colombia. gchanchi@unimayor.edu.co


 

RESUMEN

Mediante este artículo se presenta una propuesta de arquitectura para la agricultura de precisión soportada en tecnologías abiertas de Internet de las Cosas (IoT) para la obtención, monitoreo y análisis de variables climáticas. La propuesta se basa en la estructura de la arquitectura Lambda, considerando diferentes capas como son: La capa de captura de datos, cuya función es la obtención de variables asociadas a un cultivo. La capa de almacenamiento, cuya función es recopilar la información en tiempo real desde los sensores. La capa de procesamiento, genera predicciones y recomendaciones, la cual es evaluada mediante pruebas de carga con el fin de determinar su capacidad y tiempo de respuesta. La capa de consulta, permite a los usuarios finales visualizar en una interfaz web los datos climáticos y las predicciones. Así, esta arquitectura pretende servir de referencia para la implementación de servicios basados en IoT en el área de la agricultura.

Palabras clave: Agricultura de Precisión, Arquitectura Lambda, Internet de las Cosas, Sparkjava Framework, Variables climáticas.


 

ABSTRACT

This paper presents a proposal for an architecture for precision agriculture supported in open technologies of the Internet of things (IoT) for the collection, monitoring and analysis of climatic variables. The proposal is based on the structure of the Lambda architecture, considering different layers such as: The data capture layer, whose function is to obtain variables associated with a crop. The storage layer, whose function is to collect the information in real time from the sensors. The processing layer generates predictions and recommendations, which are evaluated by load tests to determine their capacity and response time. The query layer allows to end users to view weather data and predictions on a web interface. Thus, this architecture aims to serve as a reference for the implementation of services based on IoT in the area of agriculture.

Keywords: Climate variables, Internet of Things, Architecture Lambda, Precision Agriculture, Sparkjava Framework.


 

1. Introducción

Actualmente, en el área de la agricultura una gran cantidad de datos son obtenidos sobre el suelo y las propiedades de los cultivos, por medio de sensores que se encargan de medir la heterogeneidad de un campo (Fundación para la Innovación Agraria, 2008). De este modo, aplicar técnicas apropiadas de manejo de la información, se ha convertido en una gran necesidad en la industria agrícola teniendo como objetivo obtener una mayor eficiencia operativa.

La modernización y utilización de nuevas tecnologías para obtener datos de interés como sistemas de posicionamiento global (GPS), redes inalámbricas de sensores y drones, ofrecen un uso preciso y sostenible de insumos, fertilizantes y cantidad de agua que necesite un cultivo, siendo esto conocido como agricultura de precisión (Wang, Zhang, & Wang, 2006). Esta tecnificación puede también llevarse a cabo por medio del Internet de las Cosas (IoT). En IoT las cosas, es decir, dispositivos embebidos puedan estar idealmente disponibles en cualquier momento y en cualquier lugar a cualquier persona. En un sentido más técnico, IoT consiste en la integración de sensores y dispositivos en objetos cotidianos para que estos queden conectados a Internet a través de redes fijas e inalámbricas (Fundación de la Innovación Bankinter, 2011).

Una de las áreas de mayor aplicación del IoT es la meteorología, al usar sistemas con múltiples sensores para la monitorización en tiempo real de las condiciones climáticas, buscando obtener predicciones concisas y precisas. A pesar de los grandes avances agrícolas y tecnológicos de los últimos años, las condiciones atmosféricas, el impacto del cambio climático y fenómenos atmosféricos como el niño y la niña que generan desde fuertes sequías hasta incontrolables inundaciones, siguen siendo un gran problema que impacta a la industria generando altos riesgos y altos costos en todos los ámbitos, siendo necesario una adecuada previsión meteorológica con el fin de eliminar la necesidad de usar la intuición en la agricultura (Fundación de la Innovación Bankinter, 2011) (Lopez, Chavez, & Sánchez, 2017).

Las técnicas de minería de datos tienen como objetivo encontrar patrones en los datos que son valiosos e interesantes para determinar las posibles condiciones climáticas en los cultivos. Sin embargo, el problema para un agricultor que aún no ha implementado en sus cultivos algunas de estas técnicas de predicción y herramientas de agricultura de precisión, es el alto costo y la complejidad en interpretar la información obtenida al utilizar sistemas de posicionamiento global GPS o imágenes satelitales e incluso la utilización de drones. Por lo anterior, existe una gran demanda y necesidad de integrar un conjunto de componentes adecuados y de bajo costo organizados en una propuesta arquitectónica, dada la gran cantidad de tecnologías que vienen surgiendo para simplificar la obtención, almacenamiento y procesamiento de datos climatológicos, donde los factores más influyentes son la condición de resequedad y la alta temperatura por radiación solar. La demanda de predicciones climáticas concisas y precisas ha aumentado considerablemente en la industria agrícola, por lo que los agricultores desean saber tan pronto como sea posible, las condiciones atmosféricas en las que se encuentra su cultivo; además, de poder obtener predicciones de dichas condiciones e indicaciones de cuando es debido irrigar sus cultivos, para así reducir el uso inapropiado de recursos y mejorar el rendimiento de sus cultivos.

Teniendo en cuenta lo anterior, en este artículo se presenta como aporte la propuesta de una arquitectura para agricultura de precisión soportada en tecnologías abiertas para IoT y técnicas de minería de datos para la obtención, visualización y análisis en tiempo real de variables climáticas en un cultivo de prueba a pequeña escala. Esta propuesta es abordada desde tres vistas arquitectónicas asociadas al modelo de negocio, a la funcionalidad y a la implementación de la arquitectura para escenarios de agricultura de precisión. En estas vistas se ha tomado como referencia la estructura de capas de la arquitectura Lambda (Deshmane, 2015). De este modo, cada vista considera cuatro capas a saber: la de captura de datos, la de almacenamiento, la de procesamiento y la de consulta. La capa de captura de datos está formada por un conjunto de sensores cuyo objetivo es la obtención de variables climáticas asociadas al cultivo. La capa de almacenamiento se encarga de recopilar información en tiempo real a partir de las diferentes fuentes (sensores) distribuida en el cultivo. La capa de procesamiento tiene como función la predicción de información relevante a partir de los datos recopilados, usando en este caso técnicas de minería de datos y/o clasificación. Finalmente, la capa de consulta permite la visualización y seguimiento en tiempo real de las variables del cultivo y de las predicciones obtenidas en la capa de procesamiento.

Esta propuesta arquitectónica pretende servir de referencia para la implementación de servicio en el área de la agricultura, con el fin de mejorar la productividad agrícola, a través de la flexibilidad y funcionalidad que ofrece la combinación de herramientas de hardware y software libres para la implementación de servicios soportados en IoT en escenarios de agricultura de precisión. El resto del artículo está organizado de la siguiente forma: en la sección 2 se presentan un conjunto de trabajos relacionados que se consideraron en la presente investigación. En la sección 3 se presenta el marco conceptual con los conceptos más relevantes que se tuvieron en cuenta para el desarrollo de la presente investigación. En la sección 4 se describen cada una de las vistas de la propuesta arquitectónica; en la sección 5 se presenta la evaluación de la propuesta arquitectónica y finalmente en la sección 6 se presentan las conclusiones y trabajos futuros derivados de la presente investigación.

2. Trabajos Relacionados

En esta sección se presentan un conjunto de trabajos relacionados con la presente investigación, los cuales se enmarcan en la temática de arquitecturas IoT y sus aplicaciones en diferentes contextos que van desde el uso de este concepto en hogares inteligentes hasta el desarrollo de entornos de Cloud Computing para IoT.

En (Ungurean, Gaitan, & Gaitan, 2014) se presenta una arquitectura de IoT basada en las especificaciones de OPC.NET (Open Platform Communications) que puede usarse tanto en entornos industriales como en edificios inteligentes. El objetivo de los autores fue brindar una arquitectura formada por módulos principales: el servidor de datos y la aplicación de HMI (Human Machine Interface). El servidor obtiene datos de una red de sensores (Bus de campo) y envía comandos a los actuadores (tales como relés y electroválvulas) que están conectados en los buses de campo. La aplicación del servidor puede adquirir datos de redes inalámbricas basadas en ZigBee. Este trabajo aporta ideas importantes relacionadas con la manera de representar la información de interés al usuario a través de distintos dispositivos móviles, así como la integración de sensores para la captura de datos de interés.

En (Datta, Bonnet, & Nikaein, 2014) se propone una arquitectura IoT centralizada para ofrecer nuevos servicios M2M (Machine to Machine), la cual permite la interacción en tiempo real entre clientes móviles y objetos inteligentes (sensores y actuadores) a través de una pasarela inalámbrica. Así, este artículo brinda las bases para realizar el procesamiento de los datos obtenidos.

En (Yashiro, Kobayashi, Koshizuka, & Sakamura, 2013) se propone la arquitectura uID-CoAP, una nueva arquitectura diseñada para alojar servicios IoT en sistemas embebidos comunes, como los aparatos de consumo habituales. Los autores combinan el protocolo de aplicación restringido (CoAP) con la arquitectura omnipresente (uID) que permite el reconocimiento de los datos requeridos para los servicios IoT. Mediante este artículo se corroboró la importancia de ofrecer aplicaciones prácticas soportadas en IoT sobre los sistemas embebidos existentes con poco esfuerzo computacional.

Múltiples proyectos se han desarrollado en torno a la interacción entre el IoT y la agricultura; donde se encuentra el proyecto desarrollado en la Universidad de Pekín, el cual diseña una arquitectura conformada por diferentes herramientas que generan la plataforma de infraestructura de información espacial, la plataforma de infraestructura de la IoT, la plataforma de gestión de la agricultura y el cliente móvil para un sistema de gestión de la agricultura de precisión PAMS; permitiendo a los usuarios supervisar la producción agrícola, donde el método de integración de módulo y software de código abierto ayudan a reducir el costo de desarrollo y mejorar la eficiencia del sistema (Li, 2012). Mediante este referente teórico se evidenció la aplicabilidad de tecnológicas IoT para soportar el área de la agricultura.

Así, a partir de la literatura encontrada se plantea como brecha investigativa la necesidad de integrar dichos componentes en una arquitectura propia para entornos de agricultura de precisión. De este modo, en este artículo se hace una propuesta arquitectónica para IoT basada en el uso de plataformas de hardware libre, servicios web, bases de datos en línea o plataformas en la nube y protocolos de comunicación, implementándose en un entorno de agricultura de precisión el cual es un cultivo de vegetales a pequeña escala.

3. Marco Conceptual

En esta sección se presentan un conjunto de conceptos y tecnologías que se tuvieron en cuenta para el desarrollo del presente trabajo, dentro de los cuales se encuentran: agricultura de precisión, IoT, arquitectura Lambda, Framework Spark de Java y la aplicación de minería de datos Weka.

3.1. Agricultura de precisión

Tradicionalmente, la agricultura se practica realizando una tarea particular, tal como siembra o cosecha, en función de un horario predeterminado. Sin embargo, al recolectar datos en tiempo real sobre el clima, la calidad del suelo y del aire, la madurez de los cultivos e incluso los costos, la disponibilidad de los equipos y la mano de obra, puede hacerse un análisis predictivo para tomar decisiones más inteligentes, lo cual es conocido como agricultura de precisión (Ibañes, 2009). La implementación de técnicas de agricultura de precisión se realiza con el objetivo de poder determinar con exactitud las necesidades de riego y de fertilizantes, las fases de desarrollo y de maduración de los productos, los puntos óptimos de siembra y de recolección, etc. Es decir, predecir adecuadamente las distintas etapas de producción de los cultivos. Para ello, es importante obtener toda la información posible del agua, del suelo, de las plantas y del ambiente.

3.2. IoT en la agricultura de precisión

El Internet de las Cosas (IoT) es una red de objetos tales como sensores y actuadores conectados a Internet a través de redes fijas e inalámbricas donde pueden capturar datos de forma autónoma y auto-configurable de forma inteligente basada en hechos del mundo físico; permitiendo que estos sistemas se conviertan en participantes activos en diversos procesos públicos, comerciales, científicos y personales (Fundación de la Innovación Bankinter, 2011).

El IoT es impulsado por una combinación de métodos y procesos que comprenden la utilización de sensores, una red y un dispositivo final, los cuales tienen como objetivo principal proporcionar al usuario final una representación de los datos de una manera visual, legible y práctica. Cuando se habla de IoT enfocado en la agricultura no sólo se hace referencia a dispositivos móviles como tabletas o drones, pues este concepto implica una interconexión de sistemas agrícolas de comunicaciones compatibles y colaborativos que comparten información (sensores, cámaras, lámparas, estaciones meteorológicas, etc.) (Fundación de la Innovación Bankinter, 2011).

3.3. Arquitectura Lambda

Una arquitectura de referencia estándar que comprende al IoT es conocida como la arquitectura Lambda (Deshmane, 2015), la cual consta de cuatro componentes a saber: Captura de Datos, capa de Velocidad o Procesamiento, la Capa de Almacenamiento o Seguridad y la Capa de Consulta. La capa de Captura de Datos, encargada del ingreso de la información, procesamiento de streaming o capa de velocidad, satisface todas las solicitudes que están sujetas a requisitos de baja latencia usando algoritmos rápidos e incrementales, considerando únicamente datos recientes. La capa de almacenamiento o lotes soporta la gestión de todo el conjunto de datos obtenidos, haciendo un histórico con estos. Finalmente, la capa de consulta donde se representa la información ya sea la obtenida en tiempo real o la parte almacenada.

La arquitectura Lambda intenta equilibrar la latencia, el rendimiento y la tolerancia a fallos mediante el procesamiento por lotes para proporcionar vistas completas y precisas de los datos por lotes, mientras que simultáneamente se utiliza el procesamiento de flujo en tiempo real para proporcionar vistas de datos en línea.

3.4. SparkJava Framework

Spark es un framework libre y de código abierto escrito en lenguaje Java para el desarrollo de aplicaciones web y dominios específicos. Es una alternativa a otros entornos de aplicaciones web en Java, como JAX-RS, framework Play y Spring MVC (Model-View-Controller). Se ejecuta en un servidor web embebido Jetty por defecto, pero se puede configurar para ejecutarse en otros servidores web. Spark fue inspirado en Sinatra, una librería de código abierto para aplicaciones web en lenguaje dominio- especifico; no se sigue el patrón modelo-vista-controlador utilizado en otros framework, como Spring MVC. En su lugar, Spark está destinado a la creación rápida de aplicaciones web en Java con el mínimo esfuerzo (Jurado, 2013). El framework Spark fue usado como pasarela de integración y procesamiento de los datos obtenidos a partir de los sensores.

3.5. Weka

Weka es un software libre desarrollado por la Universidad de Waikato (Nueva Zelanda), el cual cuenta con una extensa colección de algoritmos de aprendizaje de máquina implementados en Java, los cuales pueden ser aplicados sobre datos ya sea mediante la interfaz gráfica o para embeberlos dentro de cualquier aplicación. Además, Weka contiene las herramientas necesarias para realizar transformaciones sobre los datos, tareas de clasificación, regresión, clustering, asociación y visualización. Weka está diseñado como una herramienta orientada a la extensibilidad por lo que añadir nuevas funcionalidades es una tarea sencilla (Kulkarni & Kulkarni, 2016).

La licencia de Weka es GNU- GPL, lo que significa que este programa es de libre distribución. Además, ya que esta herramienta está desarrollada en Java, es independiente de la arquitectura, ya que funciona en cualquier plataforma sobre la que haya una máquina virtual Java disponible, permitiendo acceder a la biblioteca de sus propios programas Java o escribir y probar los esquemas de aprendizajes propios. En este trabajo se hizo uso de Weka para la implementación de un clasificador bayesiano, cuyo propósito es predecir la categoría de las instancias en función de una serie de atributos de entrada. En este caso, la clase es uno de los atributos simbólicos disponibles, el cual puede estar asociado a la condición climática o de riego del cultivo. El resultado de aplicar el algoritmo de clasificación se efectúa comparando la clase predicha con la clase real de las instancias.

4. Arquitectura Soportada en IoT

En esta sección se presenta la descripción de la arquitectura para agricultura de precisión soportada en IoT, la cual se representa por medio de tres vistas a saber: vista del negocio, vista funcional y vista de implementación (ver Figura 1). En la vista del negocio se presenta el modelo de negocio de la arquitectura en el contexto de la agricultura de precisión. En la vista funcional se describen los diferentes componentes funcionales de la propuesta arquitectónica y finalmente en la vista de implementación se presentan los diferentes componentes hardware y software escogidos para la construcción de la arquitectura. A continuación, se presenta la descripción de cada una de las capas de la propuesta arquitectónica.

 

 

4.1. Vista de Negocio

En esta vista de negocio se presenta la arquitectura IoT propuesta desde las cuatro capas asociadas a la arquitectura Lambda: capa de captura, capa de almacenamiento, capa de procesamiento y la capa de consulta. Como se muestra en la Figura 2, en la capa de captura se encuentran los sensores y módulos de adquisición de datos, así como los sistemas embebidos, microcontroladores o estaciones meteorológicas para la toma de las condiciones climáticas en el cultivo. La capa de almacenamiento está constituida por plataformas, servidores y base de datos que permiten guardar todos los datos obtenidos en la capa de captura. En la capa de procesamiento se extraen estos datos almacenados para realizar su respectivo análisis y obtener información de interés que puede ser aplicada en los cultivos. El componente final en la arquitectura es la capa de consulta, la cual le permite al agricultor visualizar en tiempo real el comportamiento de las variables asociadas al cultivo, así como las predicciones y recomendaciones a tomar de acuerdo a las necesidades del cultivo.

 

 

4.2. Vista funcional

En esta sección se presenta la estructura funcional concebida para la propuesta arquitectónica fundamentada en la arquitectura Lambda. Así en la vista funcional se distinguen las cuatro capas Lambda: captura, almacenamiento, procesamiento y consulta, ver Figura 3. La capa de captura de datos se encarga de realizar la adquisición de las variables meteorológicas a través de los sensores y el sistema embebido. La capa de almacenamiento tiene por función recibir los datos y almacenarlos en la plataforma en línea. La capa de procesamiento se encarga de analizar estos datos por medio de la herramienta de minería de datos. A través de la cual es posible la generación de predicciones y recomendaciones. Finalmente, la capa de consulta es la encargada de la monitorización de las condiciones del cultivo y visualización de la información entregada por la capa de procesamiento.

 

 

En la figura 3, se presentan los diferentes módulos funcionales asociados a las diferentes capas de la propuesta arquitectónica. En la capa de captura, el flujo de datos entrantes se toma con el sistema de Captura de Datos (Sensores-Microcontrolador) y se puede enviar en dos direcciones, ya sea la capa de almacenamiento (base de datos en Línea, nube, servidores) o a la capa de procesamiento (herramientas Machine Learning). Esto garantiza que cualquier pérdida de datos se puede reproducir para garantizar que todos ellos se procesan al menos una vez. Esta información puede ser consultada a través de internet por medio de los dispositivos finales (servicios web, aplicaciones móviles) por medio de la capa de consulta.

La capa de almacenamiento o de seguridad brinda un archivo histórico, guardando todos los datos que se hayan recogido. Su almacenamiento podría ser para siempre, o se tendría que evaluar exactamente cuánto tiempo se desea mantener los datos (períodos de tiempo de meses o años). El almacenamiento para siempre soportaría análisis avanzados y los modelos predictivos que se desean implementar tendrían mayor exactitud para crear señales en la plataforma de transmisión y para consultas generales.

La capa de velocidad o procesamiento se define como una combinación de almacenes de colas, streaming y datos operativos. En la Arquitectura Lambda, la capa de velocidad es similar a la capa de almacenamiento a la hora de estimaciones analíticas, salvo que el proceso se realice en tiempo real. La capa de almacenamiento basa sus estimaciones en datos almacenados previamente, por lo que la responsabilidad de la capa de velocidad es obtener análisis en tiempo real a partir de datos de movimiento rápido.

Estas funciones descritas para cada una de las capas de la arquitectura propuesta, se pueden desglosar en sub-módulos funcionales como se presenta en el diagrama de flujo de la Figura 4, en el cual se representa la secuencia funcional de la arquitectura soportada en IoT para agricultura de precisión, de acuerdo a las capas provistas por la arquitectura Lambda.

 

 

4.3. Vista de implementación

En esta sección se presenta detalladamente los componentes hardware y software escogidos para la implementación de la propuesta arquitectónica soportada en IoT y descrita en el presente artículo, ver Figura 5, los cuales están organizados de acuerdo a las capas de la arquitectura Lambda.

 

 

De acuerdo a la figura 5, en “1”, se ubican sensores de temperatura, humedad relativa, humedad de suelo y luminosidad en el cultivo de prueba para realizar la adquisición de las variables climáticas correspondientes. En “2” por medio de la tarjeta de IoT Arduino YÚN, se configuran estos sensores con sus parámetros necesarios y se establece la comunicación inalámbrica formando así la capa de captura de datos. A través de la tarjeta de captura se envía en tiempo real el registro de cada una de las variables asociadas a los sensores para ser almacenadas en “3”, por medio de la base de datos en línea Ubidots.

En “4” haciendo uso del framework de desarrollo web Spark, se implementa en Java un servicio web que permite realizar en línea el procesamiento de los datos capturados a partir de las anteriores capas. Para realizar el procesamiento de estos datos, al framework Spark integra en “5” la API provista por la herramienta de minería de datos Weka. Mediante esta API, se implementa un clasificador basado en el algoritmo de Naive Bayes con la información contenida en el archivo en formato arff (atribute-relation file formate), obteniendo así la capa de procesamiento y brindando las predicciones de las condiciones atmosféricas a tener en cuenta en el cultivo.

Finalmente, por medio del servicio web siendo visualizado en “6” por los usuarios, se genera la capa de consulta donde se monitorean las condiciones del cultivo y se proporcionan los resultados de predicciones entregados por el clasificador y las recomendaciones de interés.

A continuación, se presenta la descripción en detalle de cada uno de los componentes hardware y software asociados a las capas de la propuesta arquitectónica.

Capa de captura

En la figura 6 se presenta el esquema de conexión establecido para operar los sensores de temperatura, humedad relativa, humedad de suelo y luminosidad conectados junto a la tarjeta Arduino YÚN para la captura de las variables climáticas.

 

 

Para esta investigación se utiliza la tarjeta de IoT Arduino YÚN como el sistema embebido adecuado en la capa de captura de datos y para utilizar en el diseño de dispositivos conectados y en proyectos de IoT. Combina la potencia de Linux con la facilidad de uso de Arduino ya que al poseer comunicación y configuración vía Wi-Fi, permite enviar los datos de variables climáticas de forma inalámbrica a las otras capas de la arquitectura propuesta.

Los sensores utilizados son el DHT11, SEN92355P y un LDR, elegidos para esta investigación por su bajo costo cumpliendo con el requisito de componentes económicos para la implementación de la arquitectura para la agricultura de precisión. También se consideró la compatibilidad de estos componentes con el módulo Arduino YÚN y sus características de trabajo para operar en un cultivo controlado.

Capa de almacenamiento

Para establecer la propuesta arquitectónica IoT basada en Lambda, se debe contar con un gestor de almacenamiento que funcione como la capa de almacenamiento. Para lo anterior, se seleccionó la base de datos en línea Ubidots la cual es una herramienta especializada para aplicaciones IoT. Ofrece una plataforma para desarrolladores que permite capturar fácilmente datos de sensores para convertirlos en información útil, la cual brinda una adecuada compatibilidad con el módulo de captura Arduino YÚN y en su versión de prueba permite el almacenamiento de hasta 500.000 muestras.

En esta sección se presenta el módulo de administración de la base de datos en línea Ubidots, en el cual se presentan las diferentes variables climáticas capturadas a través de la tarjeta Arduino YÚN, ver Figura 7.

 

 

Capa de Procesamiento

Por medio de la capa de procesamiento, los datos obtenidos de las variables climáticas pasan por un proceso de análisis mediante el algoritmo de aprendizaje bayesiano ofrecido por el software de minería de datos. Este algoritmo permite obtener las predicciones de las condiciones climáticas en el cultivo, así como recomendaciones de cuando es debido irrigar o no el cultivo, facilitando la toma de decisiones al agricultor y aportando a la reducción de insumos requeridos por el cultivo. Esta capa se comprende de dos etapas de procesamiento: la generación de un archivo en el formato específico de Weka y el procesamiento del archivo generado haciendo uno del software de minería de datos Weka.

Generación de archivo ARFF

Para procesar las variables climáticas con la herramienta de minería de datos Weka, se deben organizar la información de una manera específica, esto se realiza mediante un archivo ARFF, el cual es un formato de texto en ASCII que describe una lista de instancias compartiendo un juego de atributos; siendo este formato el único compatible para usarse en el software.

Estos archivos tienen dos secciones distintas, ver Figura 8: La primera sección es la información de cabecera la cual contiene el nombre de la relación, una lista de los atributos donde cada fila corresponde a una variable climática con los respectivos valores que este atributo puede tener, finalmente en esta sección se ubica la clase, en este caso asociada a la condición de riego del cultivo, siendo esta clase la que considera el software Weka para realizar las predicciones.

 

 

En la segunda sección del archivo ARFF, se presentan los datos organizados como instancias, donde cada columna corresponde al valor de la variable climática siguiendo el orden en que se ubicaron los atributos.

Análisis con software Weka

Una vez generado el archivo ARFF, este es analizado a través de la API provista por la herramienta Weka, considerando la secuencia presentada en la figura 9. La primera etapa en la utilización de esta herramienta es el pre-procesamiento, el cual consiste en la manipulación de vectores con contenido discreto de los valores sensados, donde al cargar el archivo con los datos necesarios, se identifica la clase a predecir y se pueden realizar filtrados de atributos, instancias o discretización. La segunda etapa consiste en la generación del clasificador utilizando un algoritmo de aprendizaje al cual se le entregan un conjunto de datos los cuales corresponden al contenido del archivo ARFF. Para esta investigación se hizo uso del algoritmo de Naive Bayes y los datos entregados para generar el clasificador se seleccionaron como conjunto de datos de entrenamiento y con validación cruzada.

 

 

En la tercera etapa se realiza la evaluación de este clasificador, lo cual puede definirse como el grado de concordancia entre los valores de la clase asignados por el clasificador y sus ubicaciones correctas según los datos entregados como referencia en el archivo ARFF. Para esto se presentan las métricas o información de ejecución entregada por Weka que permiten evaluar el rendimiento del modelo basado en el algoritmo de Naive Bayes. En la última etapa se representan las predicciones realizadas por el clasificador de la condición climática seleccionada.

Al finalizar este poceso, el sofware Weka entraga los resultados con las predicciones y recomendaciones obtenidas a partir de las condiciones climáticas del cultivo, las cuales son visualizados en la siguiente capa de la arquitectura propuesta.

Capa de consulta

Para completar la etapa final de la arquitectura, se desarrolló una interfaz gráfica de acceso al servicio web de procesamiento provisto por el framework Spark. La interfaz desarrollada permite visualizar en tiempo real en forma de tabla y de manera gráfica, los datos climáticos de temperatura, humedad relativa, humedad de suelo e iluminación que está tomando el componente de captura de datos, ver Figura 10. Además, esta interfaz posibilita la consulta en línea del histórico con los datos almacenados en la base de datos Ubidots, así como las predicciones y recomendaciones para que el agricultor puede tomar decisión acerca del riego del cultivo.

 

 

5.      Evaluación de la propuesta arquitectónica

Finalmente, a modo de evaluación de la propuesta arquitectónica, se evaluó el componente principal de la arquitectura, el cual corresponde al módulo de procesamiento. Este componente fue sometido a pruebas de carga con el fin de determinar su capacidad y su tiempo de respuesta. Estas pruebas realizadas permiten obtener los límites bajo los cuales el módulo de procesamiento se comportará de manera apropiada y permite saber cuándo se necesitan implementar diferentes estrategias de optimización ya sea a niveles de configuración del servidor o de balanceo de carga.

Así, en las gráficas de las figuras 11 y 12 muestran los tiempos de respuesta para las pruebas de estrés realizadas sobre el módulo de procesamiento, las cuales se llevaron a cabo mediante la variación incremental de 100 a 1000 peticiones concurrentes. En la figura 11 se presenta la prueba para la URL Monitoreo, en la cual se realiza la extracción de la información de la base de datos Ubidots para realizar la tabulación de los datos climáticos en tiempo real. En la figura 12 se presentan los tiempos de respuesta para la prueba de estrés realizada a la URL WEKA, provista para la generación y visualización de las predicciones.

 

 

 

En ambas pruebas de carga se corrobora como los tiempos de respuesta son más altos a medida que aumentan las peticiones concurrentes. En el caso de la URL Monitoreo en la figura 11, se tiene un tiempo de 2ms para 20 peticiones concurrentes y este tiempo aumenta hasta 70 ms cuando se tienen un número de 100 peticiones concurrentes. A medida que aumentan las peticiones concurrentes de 800 a 1000 los tiempos de respuesta aumentan de 100ms a 300ms. Esto es, a medida que la aplicación presenta tráfico continuo con un número de clientes en aumento, tiende a darse un retardo al sistema, afectando la carga, la actualización y la visualización de datos en tiempo real.

Los tiempos de respuesta de la URL WEKA en la figura 12, están entre 200ms para 200 peticiones concurrentes y hasta 3 segundos para 1000 peticiones concurrentes. Estos tiempos obtenidos se deben al procesamiento realizado desde la interfaz gráfica la cual realiza la extracción de la información desde Ubidots, la discretización de las variables meteorológicas, el pre-procesamiento, la clasificación y la evaluación.

Al observar el análisis de las pruebas de estrés efectuadas al módulo de procesamiento, el tiempo de respuesta máximo obtenido efectuando 1000 peticiones concurrentes es de 3000ms, el cual es un valor que no afecta la operación del sistema en el entorno de agricultura de precisión puesto que este no se somete a un alto número de usuarios accediendo simultáneamente. Además, el tiempo de respuesta máximo para una cantidad inferior de usuarios es de 50 ms el cual es aceptable para ofrecer toda la información solicitada en el momento deseado.

6.      Conclusiones y trabajos futuros

Aprovechando la gran flexibilidad y funcionalidad que ofrece la combinación de herramientas hardware de bajo costo y software libre, se ha conseguido el diseño, implementación y despliegue de una arquitectura soportada en IoT, la cual se aborda desde tres vistas arquitectónicas de modelo de negocio, funcionalidad e implementación en un escenario de agricultura de precisión. Además, se despliegan cuatro capas de operación comprendiendo la captura de las variables climáticas, el almacenamiento de esta información, su procesamiento y su consulta; sirviendo como referencia para los agricultores y la comunidad interesada en utilizar nuevas tecnológicas, técnicas y servicios basados en IoT que buscar mejorar la productividad agrícola.

Se ha logrado integrar todos los componentes propuestos en esta investigación en torno a una propuesta arquitectónica, que parte de la arquitectura Lambda, teniendo el módulo de captura Arduino YÚN como componente de adquisición de datos, la base de datos en línea Ubidots correspondiente a la etapa de almacenamiento, la herramienta de minería de datos Weka utilizada como la etapa de procesamiento y el framework de diseño web Spark de Java para la etapa de consulta; dando como resultado una arquitectura soportada en herramientas IoT.

Como trabajo futuro, se pretende evaluar esta propuesta arquitectónica en otros contextos de aplicación donde se requiera la captura de altos volúmenes de datos para realizar un procesamiento de estos en tiempo real, de tal modo que se consideren contextos tales como la educación, el marketing, ciudades inteligentes y entornos de desarrollo IoT.

 

REFERENCIAS

Datta, S. K., Bonnet, C., & Nikaein, N. (2014). An IoT gateway centric architecture to provide novel M2M services. InProceedings of the 2014 IEEE World Forum on Internet of Things (WF-IoT), (pp. 514-519). Seoul. doi:10.1109/WF-IoT.2014.6803221        [ Links ]

Deshmane, S. (2015). Using the Lambda Architecture on a Big Data Platform to Improve Mobile Campaign Management. Retrieved from http://www.talentica.com/pdf/Big-Data-Using-Lambda-Architecture.pdf.         [ Links ]

Fundación de la Innovación Bankinter. (2011). El Internet de las Cosas - En un mundo conectado de objetos inteligentes. Retrieved from http://www.belt.es/expertos/imagenes/XV_FTF_El_internet_de_las_cosas.pdf        [ Links ]

Fundación para la Innovación Agraria. (2008). Tecnologías aplicables en agricultura de precisión. Retrieved from http://wapp.corfo.cl/ticrural/descargas/I+D+I_3_TECNOLOGIAS_AGRICULTURA_PRECISION.pdf        [ Links ]

Ibañes, J. (2009, Marzo 9). Agricultura de Precisión y Suelos. Retrieved from http://www.madrimasd.org/blogs/universo/2009/03/09/114118

Jurado, J. (2013, Marzo). Spark: Framework ligero en Java. Retrieved from http://www.happyminds.es/spark-framework-ligero-en-java/#sthash.ki1BKXfK.dpbs

Kulkarni, E., & Kulkarni, R. B. (2016). WEKA Powerful Tool in Data Mining. International Journal of Computer Applications, 9-15. Retrieved from http://research.ijcaonline.org/rtdm2016/number2/rtdm2575.pdf        [ Links ]

Li, S. (2012). Application of the Internet of Things Technology in Precision Agriculture IRrigation Systems. In Proceedings of the 2012 International Conference on Computer Science and Service System (pp. 1009-1013). Nanjing: IEEE. doi:10.1109/CSSS.2012.256        [ Links ]

Lopez, J., Chavez, J., & Sánchez, A. (2017). Modelado de una red de sensores y actuadores inalámbrica para aplicaciones en agricultura de precisión. In Proceedings of the Humanitarian Technology Conference (MHTC), IEEE Mexican. Puebla: IEEE.         [ Links ]

Yashiro, T., Kobayashi, S., Koshizuka, N., & Sakamura, K. (2013). An Internet of Things (IoT) architecture for embedded appliances. In Proceedings of the Humanitarian Technology Conference (R10-HTC), 2013 IEEE Region 10 (pp. 314-319). Sendai: IEEE. doi:10.1109/R10-HTC.2013.6669062        [ Links ]

Ungurean, I., Gaitan, N.-C., & Gaitan, V. (2014). An IoT architecture for things from industrial environment. In Proceedings of the Communications (COMM), 2014 10th International Conference on. Bucharest - Romania: IEEE. doi:10.1109/ICComm.2014.6866713        [ Links ]

Wang, N., Zhang, N., & Wang, M. (2006). Wireless sensors in agriculture and food industry—Recent development and future. Computers and Electronics in Agriculture, 50(1), 1-14.         [ Links ]

 

Recebido/Submission: 25/05/2016

Aceitação/Acceptance: 18/08/2016

Creative Commons License Todo o conteúdo deste periódico, exceto onde está identificado, está licenciado sob uma Licença Creative Commons