Printer Friendly

Propuesta de una Arquitectura para Agricultura de Precision Soportada en IoT.

Proposal of an Architecturefor Precision Agriculture Supported in IoT

1. Introduccion

Actualmente, en el area 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 (Fundacion para la Innovacion Agraria, 2008). De este modo, aplicar tecnicas apropiadas de manejo de la informacion, se ha convertido en una gran necesidad en la industria agricola teniendo como objetivo obtener una mayor eficiencia operativa.

La modernizacion y utilizacion de nuevas tecnologias para obtener datos de interes como sistemas de posicionamiento global (GPS), redes inalambricas 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 precision (Wang, Zhang, & Wang, 2006). Esta tecnificacion puede tambien 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 mas tecnico, IoT consiste en la integracion de sensores y dispositivos en objetos cotidianos para que estos queden conectados a Internet a traves de redes fijas e inalambricas (Fundacion de la Innovacion Bankinter, 2011).

Una de las areas de mayor aplicacion del IoT es la meteorologia, al usar sistemas con multiples sensores para la monitorizacion en tiempo real de las condiciones climaticas, buscando obtener predicciones concisas y precisas. A pesar de los grandes avances agricolas y tecnologicos de los ultimos anos, las condiciones atmosfericas, el impacto del cambio climatico y fenomenos atmosfericos como el nino y la nina que generan desde fuertes sequias hasta incontrolables inundaciones, siguen siendo un gran problema que impacta a la industria generando altos riesgos y altos costos en todos los ambitos, siendo necesario una adecuada prevision meteorologica con el fin de eliminar la necesidad de usar la intuicion en la agricultura (Fundacion de la Innovacion Bankinter, 2011) (Lopez, Chavez, & Sanchez, 2017).

Las tecnicas de mineria de datos tienen como objetivo encontrar patrones en los datos que son valiosos e interesantes para determinar las posibles condiciones climaticas en los cultivos. Sin embargo, el problema para un agricultor que aun no ha implementado en sus cultivos algunas de estas tecnicas de prediccion y herramientas de agricultura de precision, es el alto costo y la complejidad en interpretar la informacion obtenida al utilizar sistemas de posicionamiento global GPS o imagenes satelitales e incluso la utilizacion 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 arquitectonica, dada la gran cantidad de tecnologias que vienen surgiendo para simplificar la obtencion, almacenamiento y procesamiento de datos climatologicos, donde los factores mas influyentes son la condicion de resequedad y la alta temperatura por radiacion solar. La demanda de predicciones climaticas concisas y precisas ha aumentado considerablemente en la industria agricola, por lo que los agricultores desean saber tan pronto como sea posible, las condiciones atmosfericas en las que se encuentra su cultivo; ademas, de poder obtener predicciones de dichas condiciones e indicaciones de cuando es debido irrigar sus cultivos, para asi reducir el uso inapropiado de recursos y mejorar el rendimiento de sus cultivos.

Teniendo en cuenta lo anterior, en este articulo se presenta como aporte la propuesta de una arquitectura para agricultura de precision soportada en tecnologias abiertas para IoT y tecnicas de mineria de datos para la obtencion, visualizacion y analisis en tiempo real de variables climaticas en un cultivo de prueba a pequena escala. Esta propuesta es abordada desde tres vistas arquitectonicas asociadas al modelo de negocio, a la funcionalidad y a la implementacion de la arquitectura para escenarios de agricultura de precision. 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 esta formada por un conjunto de sensores cuyo objetivo es la obtencion de variables climaticas asociadas al cultivo. La capa de almacenamiento se encarga de recopilar informacion en tiempo real a partir de las diferentes fuentes (sensores) distribuida en el cultivo. La capa de procesamiento tiene como funcion la prediccion de informacion relevante a partir de los datos recopilados, usando en este caso tecnicas de mineria de datos y/o clasificacion. Finalmente, la capa de consulta permite la visualizacion y seguimiento en tiempo real de las variables del cultivo y de las predicciones obtenidas en la capa de procesamiento.

Esta propuesta arquitectonica pretende servir de referencia para la implementacion de servicio en el area de la agricultura, con el fin de mejorar la productividad agricola, a traves de la flexibilidad y funcionalidad que ofrece la combinacion de herramientas de hardware y software libres para la implementacion de servicios soportados en IoT en escenarios de agricultura de precision. El resto del articulo esta organizado de la siguiente forma: en la seccion 2 se presentan un conjunto de trabajos relacionados que se consideraron en la presente investigacion. En la seccion 3 se presenta el marco conceptual con los conceptos mas relevantes que se tuvieron en cuenta para el desarrollo de la presente investigacion. En la seccion 4 se describen cada una de las vistas de la propuesta arquitectonica; en la seccion 5 se presenta la evaluacion de la propuesta arquitectonica y finalmente en la seccion 6 se presentan las conclusiones y trabajos futuros derivados de la presente investigacion.

2. Trabajos Relacionados

En esta seccion se presentan un conjunto de trabajos relacionados con la presente investigacion, los cuales se enmarcan en la tematica 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 modulos principales: el servidor de datos y la aplicacion de HMI (Human Machine Interface). El servidor obtiene datos de una red de sensores (Bus de campo) y envia comandos a los actuadores (tales como reles y electrovalvulas) que estan conectados en los buses de campo. La aplicacion del servidor puede adquirir datos de redes inalambricas basadas en ZigBee. Este trabajo aporta ideas importantes relacionadas con la manera de representar la informacion de interes al usuario a traves de distintos dispositivos moviles, asi como la integracion de sensores para la captura de datos de interes.

En (Datta, Bonnet, & Nikaein, 2014) se propone una arquitectura IoT centralizada para ofrecer nuevos servicios M2M (Machine to Machine), la cual permite la interaccion en tiempo real entre clientes moviles y objetos inteligentes (sensores y actuadores) a traves de una pasarela inalambrica. Asi, este articulo brinda las bases para realizar el procesamiento de los datos obtenidos.

En (Yashiro, Kobayashi, Koshizuka, & Sakamura, 2013) se propone la arquitectura uIDCoAP, una nueva arquitectura disenada para alojar servicios IoT en sistemas embebidos comunes, como los aparatos de consumo habituales. Los autores combinan el protocolo de aplicacion restringido (CoAP) con la arquitectura omnipresente (uID) que permite el reconocimiento de los datos requeridos para los servicios IoT. Mediante este articulo se corroboro la importancia de ofrecer aplicaciones practicas soportadas en IoT sobre los sistemas embebidos existentes con poco esfuerzo computacional.

Multiples proyectos se han desarrollado en torno a la interaccion entre el IoT y la agricultura; donde se encuentra el proyecto desarrollado en la Universidad de Pekin, el cual disena una arquitectura conformada por diferentes herramientas que generan la plataforma de infraestructura de informacion espacial, la plataforma de infraestructura de la IoT, la plataforma de gestion de la agricultura y el cliente movil para un sistema de gestion de la agricultura de precision PAMS; permitiendo a los usuarios supervisar la produccion agricola, donde el metodo de integracion de modulo y software de codigo abierto ayudan a reducir el costo de desarrollo y mejorar la eficiencia del sistema (Li, 2012). Mediante este referente teorico se evidencio la aplicabilidad de tecnologicas IoT para soportar el area de la agricultura.

Asi, 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 precision. De este modo, en este articulo se hace una propuesta arquitectonica para IoT basada en el uso de plataformas de hardware libre, servicios web, bases de datos en linea o plataformas en la nube y protocolos de comunicacion, implementandose en un entorno de agricultura de precision el cual es un cultivo de vegetales a pequena escala.

3. Marco Conceptual

En esta seccion se presentan un conjunto de conceptos y tecnologias que se tuvieron en cuenta para el desarrollo del presente trabajo, dentro de los cuales se encuentran: agricultura de precision, IoT, arquitectura Lambda, Framework Spark de Java y la aplicacion de mineria de datos Weka.

3.1. Agricultura de precision

Tradicionalmente, la agricultura se practica realizando una tarea particular, tal como siembra o cosecha, en funcion 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 analisis predictivo para tomar decisiones mas inteligentes, lo cual es conocido como agricultura de precision (Ibanes, 2009). La implementacion de tecnicas de agricultura de precision se realiza con el objetivo de poder determinar con exactitud las necesidades de riego y de fertilizantes, las fases de desarrollo y de maduracion de los productos, los puntos optimos de siembra y de recoleccion, etc. Es decir, predecir adecuadamente las distintas etapas de produccion de los cultivos. Para ello, es importante obtener toda la informacion posible del agua, del suelo, de las plantas y del ambiente.

3.2. IoT en la agricultura de precision

El Internet de las Cosas (IoT) es una red de objetos tales como sensores y actuadores conectados a Internet a traves de redes fijas e inalambricas donde pueden capturar datos de forma autonoma y auto-configurable de forma inteligente basada en hechos del mundo fisico; permitiendo que estos sistemas se conviertan en participantes activos en diversos procesos publicos, comerciales, cientificos y personales (Fundacion de la Innovacion Bankinter, 2011).

El IoT es impulsado por una combinacion de metodos y procesos que comprenden la utilizacion de sensores, una red y un dispositivo final, los cuales tienen como objetivo principal proporcionar al usuario final una representacion de los datos de una manera visual, legible y practica. Cuando se habla de IoT enfocado en la agricultura no solo se hace referencia a dispositivos moviles como tabletas o drones, pues este concepto implica una interconexion de sistemas agricolas de comunicaciones compatibles y colaborativos que comparten informacion (sensores, camaras, lamparas, estaciones meteorologicas, etc.) (Fundacion de la Innovacion Bankinter, 2011).

3.3. Arquitectura Lambda

Una arquitectura de referencia estandar 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 informacion, procesamiento de streaming o capa de velocidad, satisface todas las solicitudes que estan sujetas a requisitos de baja latencia usando algoritmos rapidos e incrementales, considerando unicamente datos recientes. La capa de almacenamiento o lotes soporta la gestion de todo el conjunto de datos obtenidos, haciendo un historico con estos. Finalmente, la capa de consulta donde se representa la informacion 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 simultaneamente se utiliza el procesamiento de flujo en tiempo real para proporcionar vistas de datos en linea.

3.4. SparkJava Framework

Spark es un framework libre y de codigo abierto escrito en lenguaje Java para el desarrollo de aplicaciones web y dominios especificos. Es una alternativa a otros entornos de aplicaciones web en Java, como JAX-RS, framework Play y Spring MVC (Model- ViewController). 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 libreria de codigo abierto para aplicaciones web en lenguaje dominio-- especifico; no se sigue el patron modelo-vista-controlador utilizado en otros framework, como Spring MVC. En su lugar, Spark esta destinado a la creacion rapida de aplicaciones web en Java con el minimo esfuerzo (Jurado, 2013). El framework Spark fue usado como pasarela de integracion 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 coleccion de algoritmos de aprendizaje de maquina implementados en Java, los cuales pueden ser aplicados sobre datos ya sea mediante la interfaz grafica o para embeberlos dentro de cualquier aplicacion. Ademas, Weka contiene las herramientas necesarias para realizar transformaciones sobre los datos, tareas de clasificacion, regresion, clustering, asociacion y visualizacion. Weka esta disenado como una herramienta orientada a la extensibilidad por lo que anadir 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 distribucion. Ademas, ya que esta herramienta esta desarrollada en Java, es independiente de la arquitectura, ya que funciona en cualquier plataforma sobre la que haya una maquina 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 implementacion de un clasificador bayesiano, cuyo proposito es predecir la categoria de las instancias en funcion de una serie de atributos de entrada. En este caso, la clase es uno de los atributos simbolicos disponibles, el cual puede estar asociado a la condicion climatica o de riego del cultivo. El resultado de aplicar el algoritmo de clasificacion se efectua comparando la clase predicha con la clase real de las instancias.

4. Arquitectura Soportada en IoT

En esta seccion se presenta la descripcion de la arquitectura para agricultura de precision soportada en IoT, la cual se representa por medio de tres vistas a saber: vista del negocio, vista funcional y vista de implementacion (ver Figura 1). En la vista del negocio se presenta el modelo de negocio de la arquitectura en el contexto de la agricultura de precision. En la vista funcional se describen los diferentes componentes funcionales de la propuesta arquitectonica y finalmente en la vista de implementacion se presentan los diferentes componentes hardware y software escogidos para la construccion de la arquitectura. A continuacion, se presenta la descripcion de cada una de las capas de la propuesta arquitectonica.

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 modulos de adquisicion de datos, asi como los sistemas embebidos, microcontroladores o estaciones meteorologicas para la toma de las condiciones climaticas en el cultivo. La capa de almacenamiento esta 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 analisis y obtener informacion de interes 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, asi como las predicciones y recomendaciones a tomar de acuerdo a las necesidades del cultivo.

4.2. Vista funcional

En esta seccion se presenta la estructura funcional concebida para la propuesta arquitectonica fundamentada en la arquitectura Lambda. Asi 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 adquisicion de las variables meteorologicas a traves de los sensores y el sistema embebido. La capa de almacenamiento tiene por funcion recibir los datos y almacenarlos en la plataforma en linea. La capa de procesamiento se encarga de analizar estos datos por medio de la herramienta de mineria de datos. A traves de la cual es posible la generacion de predicciones y recomendaciones. Finalmente, la capa de consulta es la encargada de la monitorizacion de las condiciones del cultivo y visualizacion de la informacion entregada por la capa de procesamiento.

En la figura 3, se presentan los diferentes modulos funcionales asociados a las diferentes capas de la propuesta arquitectonica. 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 Linea, nube, servidores) o a la capa de procesamiento (herramientas Machine Learning). Esto garantiza que cualquier perdida de datos se puede reproducir para garantizar que todos ellos se procesan al menos una vez. Esta informacion puede ser consultada a traves de internet por medio de los dispositivos finales (servicios web, aplicaciones moviles) por medio de la capa de consulta.

La capa de almacenamiento o de seguridad brinda un archivo historico, guardando todos los datos que se hayan recogido. Su almacenamiento podria ser para siempre, o se tendria que evaluar exactamente cuanto tiempo se desea mantener los datos (periodos de tiempo de meses o anos). El almacenamiento para siempre soportaria analisis avanzados y los modelos predictivos que se desean implementar tendrian mayor exactitud para crear senales en la plataforma de transmision y para consultas generales.

La capa de velocidad o procesamiento se define como una combinacion 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 analiticas, 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 analisis en tiempo real a partir de datos de movimiento rapido.

Estas funciones descritas para cada una de las capas de la arquitectura propuesta, se pueden desglosar en sub-modulos 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 precision, de acuerdo a las capas provistas por la arquitectura Lambda.

4.3. Vista de implementacion

En esta seccion se presenta detalladamente los componentes hardware y software escogidos para la implementacion de la propuesta arquitectonica soportada en IoT y descrita en el presente articulo, ver Figura 5, los cuales estan 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 adquisicion de las variables climaticas correspondientes. En "2" por medio de la tarjeta de IoT Arduino YUN, se configuran estos sensores con sus parametros necesarios y se establece la comunicacion inalambrica formando asi la capa de captura de datos. A traves de la tarjeta de captura se envia 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 linea Ubidots.

En "4" haciendo uso del framework de desarrollo web Spark, se implementa en Java un servicio web que permite realizar en linea 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 mineria de datos Weka. Mediante esta API, se implementa un clasificador basado en el algoritmo de Naive Bayes con la informacion contenida en el archivo en formato arff (atribute- relation file formate), obteniendo asi la capa de procesamiento y brindando las predicciones de las condiciones atmosfericas 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 interes.

A continuacion, se presenta la descripcion en detalle de cada uno de los componentes hardware y software asociados a las capas de la propuesta arquitectonica.

Capa de captura

En la figura 6 se presenta el esquema de conexion establecido para operar los sensores de temperatura, humedad relativa, humedad de suelo y luminosidad conectados junto a la tarjeta Arduino YUN para la captura de las variables climaticas. Para esta investigacion se utiliza la tarjeta de IoT Arduino YUN como el sistema embebido adecuado en la capa de captura de datos y para utilizar en el diseno de dispositivos conectados y en proyectos de IoT. Combina la potencia de Linux con la facilidad de uso de Arduino ya que al poseer comunicacion y configuracion via Wi-Fi, permite enviar los datos de variables climaticas de forma inalambrica a las otras capas de la arquitectura propuesta.

Los sensores utilizados son el DHT11, SEN92355P y un LDR, elegidos para esta investigacion por su bajo costo cumpliendo con el requisito de componentes economicos para la implementacion de la arquitectura para la agricultura de precision. Tambien se considero la compatibilidad de estos componentes con el modulo Arduino YUN y sus caracteristicas de trabajo para operar en un cultivo controlado.

Capa de almacenamiento

Para establecer la propuesta arquitectonica IoT basada en Lambda, se debe contar con un gestor de almacenamiento que funcione como la capa de almacenamiento. Para lo anterior, se selecciono la base de datos en linea Ubidots la cual es una herramienta especializada para aplicaciones IoT. Ofrece una plataforma para desarrolladores que permite capturar facilmente datos de sensores para convertirlos en informacion util, la cual brinda una adecuada compatibilidad con el modulo de captura Arduino YUN y en su version de prueba permite el almacenamiento de hasta 500.000 muestras.

En esta seccion se presenta el modulo de administracion de la base de datos en linea Ubidots, en el cual se presentan las diferentes variables climaticas capturadas a traves de la tarjeta Arduino YUN, ver Figura 7.

Capa de Procesamiento

Por medio de la capa de procesamiento, los datos obtenidos de las variables climaticas pasan por un proceso de analisis mediante el algoritmo de aprendizaje bayesiano ofrecido por el software de mineria de datos. Este algoritmo permite obtener las predicciones de las condiciones climaticas en el cultivo, asi como recomendaciones de cuando es debido irrigar o no el cultivo, facilitando la toma de decisiones al agricultor y aportando a la reduccion de insumos requeridos por el cultivo. Esta capa se comprende de dos etapas de procesamiento: la generacion de un archivo en el formato especifico de Weka y el procesamiento del archivo generado haciendo uno del software de mineria de datos Weka.

Generacion de archivo ARFF

Para procesar las variables climaticas con la herramienta de mineria de datos Weka, se deben organizar la informacion de una manera especifica, 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 unico compatible para usarse en el software.

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

En la segunda seccion del archivo ARFF, se presentan los datos organizados como instancias, donde cada columna corresponde al valor de la variable climatica siguiendo el orden en que se ubicaron los atributos.

Analisis con software Weka

Una vez generado el archivo ARFF, este es analizado a traves de la API provista por la herramienta Weka, considerando la secuencia presentada en la figura 9. La primera etapa en la utilizacion de esta herramienta es el pre-procesamiento, el cual consiste en la manipulacion 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 discretizacion. La segunda etapa consiste en la generacion 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 investigacion 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 validacion cruzada.

En la tercera etapa se realiza la evaluacion 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 segun los datos entregados como referencia en el archivo ARFF. Para esto se presentan las metricas o informacion de ejecucion entregada por Weka que permiten evaluar el rendimiento del modelo basado en el algoritmo de Naive Bayes. En la ultima etapa se representan las predicciones realizadas por el clasificador de la condicion climatica seleccionada.

Al finalizar este poceso, el sofware Weka entraga los resultados con las predicciones y recomendaciones obtenidas a partir de las condiciones climaticas 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 desarrollo una interfaz grafica 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 grafica, los datos climaticos de temperatura, humedad relativa, humedad de suelo e iluminacion que esta tomando el componente de captura de datos, ver Fig. 10. Ademas, esta interfaz posibilita la consulta en linea del historico con los datos almacenados en la base de datos Ubidots, asi como las predicciones y recomendaciones para que el agricultor puede tomar decision acerca del riego del cultivo.

5. Evaluacion de la propuesta arquitectonica

Finalmente, a modo de evaluacion de la propuesta arquitectonica, se evaluo el componente principal de la arquitectura, el cual corresponde al modulo 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 limites bajo los cuales el modulo de procesamiento se comportara de manera apropiada y permite saber cuando se necesitan implementar diferentes estrategias de optimizacion ya sea a niveles de configuracion del servidor o de balanceo de carga.

Asi, en las graficas de las figuras 11 y 12 muestran los tiempos de respuesta para las pruebas de estres realizadas sobre el modulo de procesamiento, las cuales se llevaron a cabo mediante la variacion incremental de 100 a 1000 peticiones concurrentes. En la figura 12 se presenta la prueba para la URL Monitoreo, en la cual se realiza la extraccion de la informacion de la base de datos Ubidots para realizar la tabulacion de los datos climaticos en tiempo real. En la figura 13 se presentan los tiempos de respuesta para la prueba de estres realizada a la URL WEKA, provista para la generacion y visualizacion de las predicciones.

En ambas pruebas de carga se corrobora como los tiempos de respuesta son mas 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 numero 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 aplicacion presenta trafico continuo con un numero de clientes en aumento, tiende a darse un retardo al sistema, afectando la carga, la actualizacion y la visualizacion de datos en tiempo real.

Los tiempos de respuesta de la URL WEKA en la figura 12, estan 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 grafica la cual realiza la extraccion de la informacion desde Ubidots, la discretizacion de las variables meteorologicas, el pre-procesamiento, la clasificacion y la evaluacion.

Al observar el analisis de las pruebas de estres efectuadas al modulo de procesamiento, el tiempo de respuesta maximo obtenido efectuando 1000 peticiones concurrentes es de 3000ms, el cual es un valor que no afecta la operacion del sistema en el entorno de agricultura de precision puesto que este no se somete a un alto numero de usuarios accediendo simultaneamente. Ademas, el tiempo de respuesta maximo para una cantidad inferior de usuarios es de 50 ms el cual es aceptable para ofrecer toda la informacion solicitada en el momento deseado.

6. Conclusiones y trabajos futuros

Aprovechando la gran flexibilidad y funcionalidad que ofrece la combinacion de herramientas hardware de bajo costo y software libre, se ha conseguido el diseno, implementacion y despliegue de una arquitectura soportada en IoT, la cual se aborda desde tres vistas arquitectonicas de modelo de negocio, funcionalidad e implementacion en un escenario de agricultura de precision. Ademas, se despliegan cuatro capas de operacion comprendiendo la captura de las variables climaticas, el almacenamiento de esta informacion, su procesamiento y su consulta; sirviendo como referencia para los agricultores y la comunidad interesada en utilizar nuevas tecnologicas, tecnicas y servicios basados en IoT que buscar mejorar la productividad agricola.

Se ha logrado integrar todos los componentes propuestos en esta investigacion en torno a una propuesta arquitectonica, que parte de la arquitectura Lambda, teniendo el modulo de captura Arduino YUN como componente de adquisicion de datos, la base de datos en linea Ubidots correspondiente a la etapa de almacenamiento, la herramienta de mineria de datos Weka utilizada como la etapa de procesamiento y el framework de diseno 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 arquitectonica en otros contextos de aplicacion donde se requiera la captura de altos volumenes de datos para realizar un procesamiento de estos en tiempo real, de tal modo que se consideren contextos tales como la educacion, el marketing, ciudades inteligentes y entornos de desarrollo IoT.

Recebido/Submission: 25/05/2016

Aceitacao/Acceptance: 18/08/2016

Referencias

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

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.

Fundacion de la Innovacion 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

Fundacion para la Innovacion Agraria. (2008). Tecnologias aplicables en agricultura de precision. Retrieved from http://wapp.corfo.cl/ticrural/descargas/I+D+I_3_ TECNOLOGIAS_AGRICULTURA_PRECISION.pdf

Ibanes, J. (2009, Marzo 9). Agricultura de Precision 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

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

Lopez, J., Chavez, J., & Sanchez, A. (2017). Modelado de una red de sensores y actuadores inalambrica para aplicaciones en agricultura de precision. In Proceedings of the Humanitarian Technology Conference (MHTC), IEEE Mexican. Puebla: IEEE.

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

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

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.

Edwin Andres Quiroga Montoya (1), Sergio Fernando Jaramillo Colorado (1), Wilmar Yesid Campo Munoz (1), Gabriel Elias Chanchi Golondrino (2)

eaquirogam@uqvirtual.edu.co, sfjaramilloc@uqvirtual.edu.co, wycampo@uniquindio.edu.co, gchanchi@unimayor.edu.co

(1) Universidad del Quindio, Cra. 15 Cll. 12 norte, 630004, Armenia, Colombia.

(2) Institucion universitaria Colegio Mayor del Cauca, Cra. 7 #2-34, 190003, Popayan, Colombia.

DOI: 10.17013/risti.24.39-56

Leyenda: Figura 1--Vistas de la arquitectura

Leyenda: Figura 2--Vista del negocio para la arquitectura IoT

Leyenda: Figura 3--Diagrama funcional del sistema IoT

Leyenda: Figura 4--Secuencia funcional de la arquitectura IoT

Leyenda: Figura 5--Vista de implementacion de la arquitectura IoT

Leyenda: Figura 6--Esquemas de conexion de sensores con microcontrolador

Leyenda: Figura 7--Variables climaticas asociadas en base de datos en linea y su almacenamiento

Leyenda: Figura 8--Archivo ARFF generado para procesamiento

Leyenda: Figura 9--Proceso de operacion de software de mineria de datos Weka

Leyenda: Figura 10--Visualizacion de pestanas del servicio web para la consulta de la informacion

Leyenda: Figura 11--Tiempos de respuesta para prueba de estres en capa de procesamiento

Leyenda: Figura 12--Pruebas de estres aplicadas al servicio web en la capa de consulta
COPYRIGHT 2017 AISTI (Iberian Association for Information Systems and Technologies)
No portion of this article can be reproduced without the express written permission from the copyright holder.
Copyright 2017 Gale, Cengage Learning. All rights reserved.

Article Details
Printer friendly Cite/link Email Feedback
Author:Quiroga Montoya, Edwin Andres; Jaramillo Colorado, Sergio Fernando; Campo Munoz, Wilmar Yesid; Chanc
Publication:RISTI (Revista Iberica de Sistemas e Tecnologias de Informacao)
Date:Oct 1, 2017
Words:6253
Previous Article:Evaluacion de mapas de competencias educativas: una propuesta difusa basada en 2-tuplas.
Next Article:Las redes sociales web como herramienta para gestionar informacion en procesos de co-creacion.
Topics:

Terms of use | Privacy policy | Copyright © 2019 Farlex, Inc. | Feedback | For webmasters