Artículo de investigación/Research article

DESARROLLO DE UN SISTEMA WEB Y MÓVIL PARA LA GESTIÓN DE CULTIVOS AGRÍCOLASA*

Developing a web and mobile system for crop management

Gustavo Martínez Villalobos**
David Flórez Méndez***
Néstor Bravo Osorio****

* Proyecto adscrito al grupo de investigación GESE de la Universidad de Ibagué, categoría C en Colciencias

** Magíster en Nuevas Tecnologías para la Educación. Profesor asociado a la Universidad de Ibagué. Ibagué - Colombia, grupo de investigación GESE - Estudios en Educación. E-mail: gustavo.martinez@unibague.edu.co

*** Estudiante de Ingeniería de Sistemas de la Universidad de Ibagué. Ibagué - Colombia. E-mail: 2220101006@estudiantesunibague.edu.co

**** Estudiante de Ingeniería de Sistemas de la Universidad de Ibagué. Ibagué - Colombia. E-mail: 2220101013@estudiantesunibague.edu.co

Fecha de recepción: 14 de abril del 2017
Fecha de aceptación: 2 de noviembre del 2017


Cómo citar / How to cite

Martínez Villablobos, G.; Flórez Méndez, D. y Bravo Osorio, N. (2018). Desarrollo de un sistema web y móvil para gestión de cultivos agrícolas. trilogía Ciencia Tecnología Sociedad, 10(18), 151-166.


Resumen

Este artículo presenta resultados de un proyecto de investigación aplicada en el sector de las TIC, para la gestión de cultivos agrícolas con sistema de riego. El proceso fue realizado con varios productores de cultivos en corregimientos y veredas del municipio de Ibagué, mediante la aplicación de encuestas que evidenciaron la necesidad de diseñar un sistema de información que facilite la gestión e interacción remota del usuario con sus cultivos, la programación y el cumplimiento satisfactorio de cada una de sus actividades, optimizando los recursos correspondientes. Este sistema cuenta con una plataforma web y otra móvil, facilitando el acceso a la información y a la programación remota de actividades sobre el cultivo. Los resultados obtenidos demuestran que las aplicaciones desarrolladas en internet y dispositivos móviles pueden generar un impacto positivo y mejorar la forma de vida de los agricultores, con su apropiación y participación social.

Palabras clave: computación móvil, cultivos agrícolas, sistema de gestión, aplicación web.

Abstract

This article presents the results of an applied research project in the field of ICT for managing crops with an irrigation system. The process was carried out with several producers in settlements and villages in the Municipality of Ibagué through the application of a survey. The latter revealed the need for designing an information system that facilitated users’ remote management and interaction with their crops, as well as scheduling and satisfactorily completing activities, thus optimizing the corresponding resources. This system has two platforms: web and mobile. They enable the access to information and remote scheduling of activities on the crop. The results show that social appropriation and participation in applications deployed on the Internet and mobile devices can generate a positive impact and improve the quality of life of farmers.

Keywords: Mobile computing, agricultural crops, management system, Web application.

INTRODUCCIÓN

La gestión de los cultivos constituye un aspecto fundamental para las plantaciones forestales y la producción agrícola. En este entorno, el productor se ve inmerso en situaciones que amenazan y afectan el completo desarrollo de sus actividades. Entre estas circunstancias, se encuentran las condiciones climáticas, distancias, costos, entre otras. Estas situaciones demandan un completo acompañamiento físico en el lugar para que el proceso de administración de la producción se realice satisfactoriamente.

En este contexto, se desarrolló un proceso de investigación en varios corregimientos y veredas del municipio de Ibagué, y con la colaboración del propietario de un cultivo de ‘moringa’, en el municipio de Melgar. Se aplicaron encuestas que permitieron identificar los tipos de cultivo, sus características, actividades, variables, problemas y necesidades en el proceso de gestión. Los resultados del análisis de estas encuestas evidenciaron la necesidad de diseñar una nueva alternativa para la administración eficiente de los cultivos que utilizan sistema de riego: la apropiación y uso adecuado de las Tecnologías de Información y Comunicación, TIC, para el desarrollo de una aplicación informática que facilite la interacción remota del usuario con sus cultivos, la programación y el cumplimiento satisfactorio de cada una de sus actividades, optimizando los recursos correspondientes.

El sector de las TIC comprende la producción de bienes y servicios que permiten realizar el procesamiento y comunicación de información por medios electrónicos, incluyendo su transmisión, almacenamiento y despliegue (Ruiz, 2011). Por lo tanto, se eligió también una metodología de desarrollo de software y se planificaron las actividades fundamentales (obtención de requerimientos, análisis, diseño, implementación, pruebas y documentación) para generar un sistema eficiente, una herramienta práctica y útil que brinde mayor bienestar a los agricultores.

Con la participación de estudiantes del semillero de investigación en aplicaciones móviles, se planteó la propuesta con los siguientes objetivos específicos: desarrollar una plataforma web y otra móvil, con el fin de entregar un sistema útil para realizar el riego remoto, obtención de información y notificación de actividades a realizar en un cultivo; efectuar la revisión bibliográfica correspondiente a estas categorías de soluciones computacionales, el estudio y aplicación de la respectiva metodología de desarrollo de software, como base fundamental para la construcción de un sistema de información y la documentación del proyecto, con el propósito de consolidar un respaldo frente a futuras expansiones hacia la ganadería y otros campos del sector agropecuario.

METODOLOGÍA

La investigación aplicada en el sector de las TIC es el enfoque metodológico aplicado en el proyecto. Como técnicas de recolección de datos para establecer las necesidades y problemas existentes que afectan la gestión de cultivos, se utilizaron la entrevista, cuestionario, encuesta y la observación directa.

Las TIC también ofrecen hoy nuevos escenarios de aprendizaje y socialización en el campo de la investigación, como herramientas online para facilitar la tarea de levantamiento y análisis posterior de la información. En el proyecto se utilizó Limesurvey como instrumento de levantamiento y análisis de datos. Esta herramienta de software libre permite utilizar una base de datos común. El tratamiento informático de los datos facilita una visión de conjunto del objeto de estudio (Campoy y Gomes, 2009).

En el análisis del estado del arte realizado, se encontró que el desarrollo de nuevas tecnologías ha traído consigo la creación de aplicaciones orientadas a la producción agrícola, denominadas Agroaplicaciones, que buscan incrementar el apoyo técnico dentro de los campos de cultivo. Cada vez son más las compañías e instituciones que desarrollan apps agrícolas, con servicios que ofrecen al agricultor aumentar la eficiencia en la gestión, planeación y seguimiento, comunicación y toma de decisiones. Algunas de estas aplicaciones son: software ERP Agrícola (una robusta plataforma en la nube), ERP AGRO, Agroptima, Sismagro, Appgro, Cultivapp y el software agrícola AgroWin.

El Centro Internacional de Agricultura Tropical (CIAT) también desarrolla tecnologías, métodos y conocimientos que contribuyen a que los agricultores, en especial los de escasos recursos, logren una agricultura eco-eficiente. El CIAT cuenta con dos tipos principales de plataformas de gestión de datos: a) plataformas para gestionar (recopilar, almacenar, consultar y analizar) los datos de investigación del día a día. Estos son usualmente internos para el CIAT, por ejemplo, bases de datos Oracle y aplicaciones relacionadas para los programas de investigación de cultivos del CIAT, DAPAFS y el Breeding Management System IBP; b) plataformas para la publicación de datos de investigación, estas tienen datos publicados como bienes públicos internacionales, por ejemplo, Dataverse y AgTrials.

No se logró identificar un aplicativo con las características que presenta este proyecto, pero el CIAT sigue construyendo productos digitales utilizables – herramientas analíticas, bases de datos en línea, visualizaciones, portales y otros.

Después de identificar la situación problemática, como punto de partida para la investigación, los elementos y las relaciones existentes entre ellos, se realizó la caracterización del problema y su formulación. Se presentó el planteamiento de un problema en el área de gestión de cultivos agrícolas que tienen sistema de riego. Posteriormente, se consideraron los recursos disponibles: humanos, financieros, tiempo, bibliografía, y los conocimientos previos para delimitar su alcance.

Una actividad fundamental fue el análisis y la aplicación de una encuesta a varios productores de cultivos agrícolas en el departamento del Tolima. El objetivo de la encuesta fue obtener información acerca de las características generales y las diferentes actividades realizadas en sus cultivos. La información suministrada por los agricultores de la región, aportaron elementos de juicio y reflexión sobre las características generales, los recursos y requerimientos funcionales necesarios para el proceso de desarrollo del sistema de información.

El proyecto aportó respuestas a estas preguntas de investigación: ¿cómo acercar el cultivo al usuario a través de un dispositivo móvil?, ¿cómo gestionar de manera remota la realización de riegos al cultivo?, ¿con qué recursos apoyarse?

La población estuvo conformada por 35 agricultores, de zonas rurales de Ibagué (corregimientos y veredas), y del municipio de Melgar.

Tabla 1. Distribución de cultivadores encuestados

Fuente: autores.

Como metodología de desarrollo de software, se utilizó XP (Extreme Programming), al ser considerada la más apropiada por la naturaleza del proyecto. Fue propuesta con un enfoque en la adaptabilidad más que en la previsibilidad (Beck, 2013). Está basada en la minimización de riesgos al realizar un desarrollo en pequeños grupos y en cortas iteraciones, en la que en cada fase se realizan las actividades básicas del ciclo de desarrollo (planificación, análisis, diseño, codificación, documentación y pruebas) buscando el máximo progreso al final de cada iteración.

Como metodología ágil, la primera medida de progreso es el software funcional donde los requisitos y soluciones propuestas evolucionan a través del tiempo tras una colaboración organizada y multidisciplinaria. De igual forma, esta metodología hace más fácil adaptarse a los cambios de requisitos en cualquier punto del ciclo de vida del proyecto en lugar de tratar de determinar los requisitos desde un comienzo y programar esfuerzos más adelante para evaluar si hay adición o cambio en alguno de ellos.

El éxito de la metodología está basado en la plena satisfacción del cliente, donde se prefiere estar evaluando los cambios y haciendo entregas según las preferencias del cliente, en lugar de programar fechas lejanas donde tal vez no se puedan cumplir los objetivos deseados por el mismo.

También, el trabajo en equipo es uno de los aspectos importantes de Extreme Programming, donde se enmarca al director, desarrollador y cliente del proyecto bajo el mismo nivel de importancia dentro del equipo de desarrollo. De esta forma, el equipo se pudo auto organizar y encontrar soluciones más efectivas.

El flujo de trabajo entre los actores del proyecto es muy interactivo. Los programadores se comunican constantemente con el cliente haciendo pequeñas entregas simples y concretas del producto. Además, están atentos a las observaciones para realizar los cambios adecuadamente ajustándose a las necesidades cambiantes en el entorno de desarrollo de software.

Tabla 2. Ciclo de vida original XP

Fuente: adaptado de Beck, Kent (2013).

Tabla 3. Equipo de trabajo ideal en XP

Fuente: Tomado de Beck, Kent (2013).

Marco de trabajo para desarrollo de aplicaciones web

Lavarel es un framework para el desarrollo de aplicaciones web que centra su arquitectura en el modelo vista controlador (MVC). Sus inicios se remontan al año 2011, con los aportes de Taylor Otwell. La filosofía principal de Laravel es permitir el desarrollo de código con php de una manera sencilla, brindando una experiencia agradable al desarrollador. Su licencia es de código abierto y posee dependencias basadas en framework de otros lenguajes de programación como Ruby on Rails y ASP.NET, como también del framework symfony para php. El ciclo de vida de una solicitud en Laravel inicia con la interacción del cliente por medio de un navegador web; seguidamente, el sistema de rutas dispara al controlador que contiene la lógica para solucionar la petición. El controlador interactúa con el modelo, el cual con el mecanismo eloquent orm se comunica con la base de datos sin necesidad de código sql y retorna los datos (Ventura, 2012). Finalmente, el controlador envía la información a las vistas donde lo recibe el sistema de procesamiento de plantillas blade para desplegarlo al usuario.

Para este proyecto, y debido al equipo de trabajo pequeño, se adoptó el lineamiento de la metodología acerca de la programación por pares, en la que cada persona tuvo más de un rol además de rotar los mismos en diferentes partes del proyecto. Durante cada fase se buscó la integralidad con los avances que se tenían previamente, de modo que la planificación, análisis, diseño, codificación, pruebas y documentación pudieron seguir una línea de avance equitativa al finalizar cada iteración de trabajo.

Descripción y alcance del sistema

El sistema de información para la gestión de cultivos, denominado SIGC, es una herramienta fundamental para la administración de cultivos con sistema de riego, que permite estar en contacto con ellos de manera remota sin la necesidad de que el dueño o administrador esté presente en el sitio. Las condiciones climáticas, económicas y de distancia, en muchas ocasiones generan dificultades en los cultivos y en el acceso a los mismos, de modo que el sistema de información pretende romper dicho esquema y acercar el cultivo al usuario de una forma útil, novedosa y eficiente.

El desarrollo del sistema de información SIGC contempló la construcción de una aplicación web en el lenguaje de programación php (Valade, 2010), mediante el framework Laravel y otra aplicación móvil en Android nativo que hizo uso de la API REST, provista por la aplicación web. La programación nativa permite explotar al máximo las características del dispositivo, lo que brinda un buen rendimiento a la aplicación móvil.

Android nativo, por estar basado en Java y ser una herramienta de desarrollo libre, fue la opción más ajustada a los conocimientos y posibilidades de acceso del equipo de desarrollo.

Mediante el uso de metodologías ágiles se buscó asegurar una integración continua y una correcta documentación teniendo en cuenta diagramas y documentos que facilitaron el entendimiento de la estructura de ambas aplicaciones.

La aplicación web cuenta con módulos para facilitar la gestión de usuarios, cultivos, actividades, dispositivos y reglas de sugerencia, pero también tiene dos módulos dedicados exclusivamente a la consulta de estadísticas y riegos de un cultivo. Adicionalmente, por medio de la API REST se gestiona la comunicación con otros dispositivos que se encuentren registrados en el sistema de información.

Dentro de las principales utilidades está el poder gestionar diferentes cultivos cada uno con información detallada que ayuden a suplir los interrogantes del dueño a través del tiempo y que así mismo, el cliente pueda estar orientado para tomar las decisiones que sean necesarias.

El sistema de información web cuenta con diversos niveles de privilegios, de modo que un usuario puede realizar acciones sobre su cultivo o en su defecto, un administrador o súper usuario puede realizar por el usuario, diferentes acciones que el cultivo requiera.

Por otro lado, el sistema ofrece la gestión de actividades de modo que el usuario pueda programarlas y estar al tanto de ellas. También, brinda estadísticas del cultivo de acuerdo a las situaciones climáticas que se estén presentando actualmente en la zona donde está presente la plantación.

Figura 1. Módulo estadísticas del cultivo

Fuente: autores.

La aplicación móvil provee módulos para la consulta de las actividades pendientes, consulta de datos en tiempo real de los cultivos asociados al usuario, envío de peticiones de riego, consulta de sugerencias para el cultivo, programar una nueva actividad y desactivar las actividades que estén pendientes. Adicional a esto, la aplicación cuenta con un sistema de notificaciones para avisar al usuario cuando tiene una tarea pendiente.

La realización de riegos sobre el cultivo es una tarea rutinaria para los administradores. Por ello, la aplicación cuenta con la opción de realizar un riego de manera remota programándolo desde su dispositivo móvil, además de mostrar información correspondiente a los riegos programados y realizados recientemente.

De igual manera, las posibles situaciones del cultivo que requieran atención o mejora, son dadas a conocer al usuario a través del módulo de sugerencias del sistema, el cual es multiplataforma, accesible a través de la aplicación móvil o desde el sistema de información web.

Tabla 4. Actores del sistema

Fuente: autores.

Diagrama de casos de uso

Figura 2. Casos de uso SIGC

Fuente: autores.

Tabla 5. Descripción caso de uso gestionar cultivos

Fuente: autores.

Tabla 6. Descripción caso de uso riego remoto

Fuente: autores.

Tabla 7. Descripción caso de uso manejo de estadísticas

Fuente: autores.

Estructura de los servicios web Api rest

Para la implementación de los servicios web se utilizó OAuth2 para protección mediante token de acceso basado en un cliente ya registrado en la base de datos. Esto permitió garantizar intercambio de información segura entre los servicios web. Por otro lado, mediante los filtros que ofrece OAuth solo se permite el acceso a usuarios y dispositivos que son los roles que están involucrados y autorizados a utilizar estos servicios web.

Tabla 8. Servicio web que provee cultivos de un usuario

Fuente: autores.

Tabla 9. Servicio web que provee datos de un cultivo

Fuente: autores.

Tabla 10. Servicio web que desactiva múltiples actividades

Fuente: autores.

Tabla 11. Servicio web que desactiva la actividad indicada

Fuente: autores.

Tabla 12. Servicio web que retorna actividades de un usuario

Fuente: autores.

Tabla 13. Servicio web para registro de estadísticas

Fuente: autores.

Tabla 14. Servicio web que provee estado de un cultivo

Fuente: autores.

Tabla 15. Servicio web para registro de inicio de riego

Fuente: autores.

Tabla 16. Servicio web para registro de finalización de riego

Fuente: autores.

Tabla 17. Servicio web para registro de una actividad

Fuente: autores.

Tabla 18. Servicio web que registra las peticiones de riego

Figura 3. Modelo lógico de datos


Fuente: autores.

Aplicación móvil construida

La aplicación móvil desarrollada cuenta con múltiples clases asíncronas encargadas de listar datos, otras dedicadas a cargar datos para algunos componentes de tipo Fragment Activity, y adicionalmente otras clases para el envío de datos mediante formularios como los de inicio de sesión y programación de las actividades del usuario.

La lógica de la aplicación móvil se basa en traer datos del servidor haciendo uso de los servicios web, tratar los datos mediante el uso de objetos de la clase JSONObject y JSONArray según corresponda, y por último mostrar al usuario toda la información de una manera agradable.

El uso de listas que derivan de la clase ListView permite una correcta visualización de información correspondiente a cultivos y actividades. El servicio de notificación de actividades para el usuario es lanzado desde que el dispositivo móvil inicia, pero si en algún momento el proceso se cierra por alguna situación desconocida este es relanzado cuando el usuario accede a la aplicación, ya que esta verifica que el proceso esté corriendo en segundo plano.

También se hace uso de una ViewPager que permite mostrar al usuario de manera muy clara los datos del cultivo, sugerencias, acciones, etc. Logrando así mostrar toda la información que el usuario necesita en una sola vista dividiendo la información de manera interactiva.

La implementación de formularios está presente mediante el uso de clases, como EditText, Button, ToggleButton, entre otras, que permitieron plasmar formularios intuitivos que ayudan al usuario a la hora de iniciar sesión, gestionar el cultivo junto con sus actividades o programar una tarea.

Figura 4. Interfaces gráficas aplicación móvil

Fuente: autores.

Figura 5. Paneles de navegación aplicación móvil

Fuente: autores.

Aplicación web desarrollada

El panel de administración de la aplicación web se implementó de acuerdo con las características ofrecidas por el framework Laravel y utilizando una plantilla de código abierto y libre distribución. La plantilla ofrece un tablero completo de administración con diseño responsive, hecho con bootstrap, fácil de personalizar, con tecnología html5 y css3, con más de 1000 iconos, soporte para compatibilidad con diferentes navegadores y plugins adicionales para ofrecer una buena administración del sistema y exposición de la información.

Figura 6. Sección de gráficos estadísticos del cultivo

Fuente: autores.

Para el equipo de desarrollo fue importante que el panel de administración web fuera comprensible, completo y fácil de usar, por lo que se decidió personalizar los componentes provistos en la plantilla. Por consiguiente, se organizó un menú lateral con las opciones principales, donde cada ítem de menú cuenta con sub ítems que muestran las diferentes operaciones a realizar en dicha categoría.

Figura 7. Interfaz gráfica módulo web gestión de cultivos

Fuente: autores.

CONCLUSIONES

La implementación del sistema de información con acceso remoto, en el campo de la producción agrícola, aporta de manera significativa en la administración de las plantaciones con sistema de riego, dado que disminuye el gasto económico y los tiempos para hacer efectivas las actividades. Además, el dueño de la plantación interactúa con la aplicación web para informarse de los sucesos más importantes y, a través de la aplicación móvil verifica, programa y realiza acciones sobre la plantación, convirtiéndolo en una figura activa para la toma de decisiones en su cultivo, sin la necesidad de estar presente en el sitio físicamente.

En el contexto actual de la agricultura colombiana, la utilización de nuevas estrategias para mejorar los procesos de administración de los cultivos es esencial. Los agricultores tienen hoy un mayor acceso a las tecnologías de la información, comparados con los de años anteriores, sin que esto implique que la entienden por completo.

Este proyecto de investigación aplicada en TIC fue dirigido fundamentalmente hacia un objetivo práctico específico; sus resultados son útiles para la sociedad y mejoran la calidad de vida de los agricultores.

La documentación del sistema de información para la gestión de cultivos se realizó con lo estrictamente necesario, siguiendo las pautas de la metodología ágil. Esto permitió obtener documentos claros, concisos y que son comprensibles para futuras modificaciones o ampliaciones del sistema.

REFERENCIAS

Almasae (2015). Plantilla de código abierto y de libre distribución. Recuperado de http:// almsaeedstudio.com/

Beck, K. (2013). Extreme programming: A gentle introduction. Recuperado de http://www. extremeprogramming.org/

Bitbucket (2015). Recuperado de https://es.atlassian.com/software/bitbucket/overview

Campoy, T. y Gomes, E. (2009). Técnicas e instrumentos cualitativos de recogida de datos. En Pantoja, A. (Coord.). Manual básico para la realización de tesinas, tesis y trabajos de investigación. Madrid: EOS Universitaria.

CIAT (2016). Centro Internacional de Agricultura Tropical. Recuperado de http://ciat.cgiar.org/

Fundamentos de Git (2015). Trabajando con repositorios remotos. Recuperado de http://git-scm.com/book/es/v1/Fundamentos-de-Git-Trabajando-con-repositorios-remotos

POO y MVC con PHP (2015). El paradigma de la programación orientada a objetos en PHP y el patrón de arquitectura de software MVC. Recuperado de http://www.filtralub.com/admin/cursos/ f94c96a6d573310f66e591ac5cb0757e.pdf

Curso Android. (2016). Desarrollo de aplicaciones móviles. Recuperado de http://www. maestrosdelweb.com/curso-android/

Trello. (2014). Disponible:https://trello.com/

Duilio (2013). Controladores y MVC con laravel. Recuperado de http://www.cristalab.com/ tutoriales/controladores-y-mvc-con-laravel-c111505l/

ERP Agrícola (2016). Aplicaciones para el campo. Recuperado de http://sistemaagricola.com. mx/blog/aplicaciones-para-el-campo/

Ruiz, J. (2011). Herramientas para la investigación en Tecnologías de la Información y la Comunicación. Profesorado. Recuperado de http://www.ugr.es/~recfpro/rev151ART9.pdf

Valade, J. (2010). Php y Mysql para dummies. Indianápolis, Estados Unidos: Wiley publishing.

Ventura, P. (2012). Principales módulos de Apache. Recuperado de https://www.pedroventura.com/sysadmin/principales-modulos-de-apache/

Zapata, L.; Ospina, J.; Sepúlveda, J.; López, E. (2013). Prototipo de evaluación con TIC. Revista Trilogía Ciencia Tecnología Sociedad, 8.