APRENDIZAJE AUTOMATICO PARA TOMA DECISIONES EN APLICACIONES DE RIEGO INTELIGENTE
Daniel Jair Jiménez Tovar
Facultad de Ingeniería
Programa Ingeniería Electrónica
Ibagué, 2019
Título de la tesis o trabajo de investigación
APRENDIZAJE AUTOMATICO PARA TOMA DECISIONES EN APLICACIONES DE RIEGO INTELIGENTE
Daniel Jair Jiménez Tovar
Trabajo de grado que se presenta como requisito parcial para optar al título de:
Ingeniero Electrónico
Director:
Harold Fabián Murcia Moreno
Profesor Universidad de Ibagué
Facultad de Ingeniería
Programa de Ingeniería Electrónica
Ibagué, 2019
Aprendizaje automático para la toma decisiones en aplicaciones riego de inteligente
Tesis. Ingeniería Electrónica, 2019. III
Resumen
Actualmente se están implementando sistemas inteligentes que permiten atender a las
necesidades de diferentes aplicaciones. En este caso, en al ámbito agrícola existen
sistemas de riego inteligente que a partir de estaciones agroclimáticas definen acciones
para la irrigación de cultivos. Los métodos clásicos de riego se basan en el encendido y
apagado de los actuadores de irrigación, teniendo en cuenta únicamente las variables
agroclimáticas, dejando de lado al agricultor. En el presente proyecto se desarrolló un
sistema de soporte de decisiones para la irrigación inteligente en un huerto experimental
a partir del dispositivo Agro-sensor (proyecto previo a este trabajo) con el fin de generar
una base de datos de reglas de irrigación propuestas. Posteriormente en el lenguaje
Python mediante la librería de Scikit-learn se implementaron 4 clasificadores supervisados
entre los que se encuentran SGDClassifier, MLPClassifier, Adaboost y Gradientboosting
los cuales fueron entrenados y validados con los datos registrados en la base de datos,
demostrando entre los resultados Aboost fue el clasificador con mejor desempeño
obteniendo una puntuación de F1-score de 84.35%.
Palabras clave: Agro-sensor, aprendizaje de máquina, riego inteligente, clasificación
supervisada
Abstract
Currently, intelligent systems are being implemented to meet the needs of different
applications. In this case, in the agricultural field there are intelligent irrigation systems that,
from agroclimatic stations, define actions for the irrigation of crops. The classic methods of
irrigation are based on the switching on and off of the irrigation actuators, taking into
account only the agroclimatic variables, leaving aside the farmer. In the present project, a
decision support system for intelligent irrigation in an experimental garden was developed
from the Agro-sensor device (project prior to this work) in order to generate a database of
proposed irrigation rules. Subsequently, in the Python language through the Scikit-learn
library, 4 supervised classifiers were implemented, among which are SGDClassifier,
MLPClassifier, Adaboost and Gradientboosting, which were trained and validated with the
data registered in the database, demonstrating among the results that Aboost was the
classifier with the best performance, obtaining an F1-score score of 84.35%.
Keywords: Agro-sensor, Machine learning, intelligent irrigation, supervised classification
IV Jimenez Daniel
Contenido
Resumen ........................................................................................................................ III
Lista de figuras .............................................................................................................. VI
Lista de tablas .............................................................................................................. VII
Lista de abreviaturas ................................................................................................... VIII
Introducción ................................................................................................................... 1
Planteamiento del problema .......................................................................................... 2
Objetivos ......................................................................................................................... 3
Metodología .................................................................................................................... 3
Capítulo 1: Marco de Referencia ................................................................................... 1 1.1 Trabajo Relacionado .......................................................................................... 1
1.1.1 Riego inteligente ............................................................................................. 1 1.1.2 Sistemas de Monitoreo en Agricultura ............................................................ 3
1.2 Marco Teórico .................................................................................................... 5 1.2.1 Riego .............................................................................................................. 5 1.2.2 Riego por gravedad o superficie ..................................................................... 5 1.2.3 Riego por Aspersión ....................................................................................... 6 1.2.4 Riego localizado ............................................................................................. 6 1.2.5 Fenología de las plantas ................................................................................. 7 1.2.6 Factores climáticos de la planta ...................................................................... 9 1.2.7 Demanda hídrica cultivos ................................................................................ 9 1.2.8 Wireless Sensor Network: ............................................................................. 10 1.2.9 Aprendizaje Automático ................................................................................ 11 1.2.10 Aprendizaje Supervisado .............................................................................. 11
Clasificación supervisada ............................................................................. 11 Gradiente descendente ................................................................................. 12 Redes Neuronales ........................................................................................ 12 Perceptron .................................................................................................... 13 Adaboost ...................................................................................................... 13
Capítulo 2: Riego inteligente con Agro-sensor .......................................................... 15 2.1 Acondicionamiento del Sistema. ....................................................................... 15
2.1.1 Agro-sensor .................................................................................................. 15 2.1.2 Diseño del Entorno de Experimentación ....................................................... 15
Sensor TLS2561: .......................................................................................... 17 Sensor Ds18b20 ........................................................................................... 17 Soil Moisture Sensor SKU: SEN0193 ........................................................... 18 Fuente de Alimentación ................................................................................ 18 Sistema de irrigación. ................................................................................... 18
Relé o relevador ............................................................................................... 19 Motobomba: ..................................................................................................... 19
Aprendizaje automático para la toma decisiones en aplicaciones riego de inteligente
Tesis. Ingeniería Electrónica, 2019. V
Depósito de agua: ............................................................................................ 19 Mangueras: ...................................................................................................... 20
Raspberry Pi ................................................................................................. 20 Adecuación de caja: ..................................................................................... 21 Bosquejo de cultivo ....................................................................................... 21 Implementación ............................................................................................ 22
2.2 Recolección de datos ....................................................................................... 23 2.3 Interfaz de usuario para supervisión remota ..................................................... 25
2.3.1 Flask y HTML ............................................................................................... 25 2.4 Riego como Clasificación Binaria ..................................................................... 26
2.4.1 Scikit-learn .................................................................................................... 27 SGDClassifier ............................................................................................... 27 MLPClassifier ............................................................................................... 28 Adaboost ...................................................................................................... 28 Gradientboosting .......................................................................................... 29
Capítulo 3: Resultados ................................................................................................. 31 3.1 Recolección de Datos ...................................................................................... 31
3.1.1 Ciclo 1 .......................................................................................................... 31 3.1.2 Ciclo 2 .......................................................................................................... 32 3.1.3 Ciclo 3 .......................................................................................................... 33
3.2 Interfaz de usuario para supervisión remota ..................................................... 34 3.3 Resultados de Riego como Clasificación Binaria .............................................. 35
3.3.1 Riego automático .......................................................................................... 37 Ciclo 1 .......................................................................................................... 37 Ciclo 2 .......................................................................................................... 38 Ciclo 3 .......................................................................................................... 39
Capítulo 4: Conclusiones y recomendaciones ........................................................... 41 4.1 Conclusiones .................................................................................................... 41 4.2 Recomendaciones ............................................................................................ 41 4.3 Aportes ............................................................................................................. 42
Referencias Bibliográficas........................................................................................... 43
VI Jimenez Daniel
Lista de figuras
Pág. Figura 1-1 Riego por superficie en un cultivo de arroz. Tomada de [14] ........................... 5
Figura 1-2 Riego por aspersión usando aspersores. Tomada de [16] ............................... 6
Figura 1-3 Riego localizado usando gotero. Tomada de [12] ........................................... 7
Figura 1-4 Etapas de desarrollo del frijol. Modificada de [18]............................................ 7
Figura 1-5 Esquema red de sensores inalámbricos para agricultura. Tomada de [6] ..... 10
Figura 1-6 Esquema Red Neuronal. Tomada de [32]...................................................... 12
Figura 1-7 Representación gráfica de un Perceptrón. Tomada de [28] ........................... 13
Figura 1-8 Diagrama Adaboost. Tomada de [29] ........................................................... 14
Figura 2-1 a) Agro-sensor b) Tarjeta Agro-sensor. Tomada de [34] ............................... 15
Figura 2-2 Diagrama de bloques del entorno experimental. Fuente: autor...................... 16
Figura 2-3 Ensamble de tarjeta Agro-sensor. Fuente: autor ......................................... 16
Figura 2-4 Sensor TL2561. Fuente: autor ....................................................................... 17
Figura 2-5 Sensor Ds18b20. Fuente: autor .................................................................... 17
Figura 2-6 Sensor SKU:SEN0193. Fuente: autor ........................................................... 18
Figura 2-7 Fuente de alimentación. Fuente: autor .......................................................... 18
Figura 2-8 Modulo relé. Fuente: autor ............................................................................ 19
Figura 2-9 Motobomba. Fuente: autor ........................................................................... 19
Figura 2-10 Depósito de agua. Fuente: autor ................................................................ 20
Figura 2-11 Mangueras del sistema de riego. Fuente: autor ........................................... 20
Figura 2-12 Adecuación de caja. Fuente: autor .............................................................. 21
Figura 2-13 Bosquejo de cultivo. Fuente: autor ............................................................. 21
Figura 2-14 Implementación entorno experimental. Fuente: autor .................................. 22
Figura 2-15 Cultivo de frijol. Fuente: autor ..................................................................... 23
Figura 2-16 Flujo de información del software. Fuente: autor ......................................... 23
Figura 2-17 Base datos Thingspeak Fuente: autor ........................................................ 24
Figura 2-18 Flujo de información de interfaz. Fuente: autor ............................................ 26
Figura 2-19 Flujo de información de clasificación binaria. Fuente: autor ......................... 30
Figura 3-1 Gráficos del Ciclo 1 de las variables agroclimáticas. Fuente: autor ............... 31
Figura 3-2 Gráficos del Ciclo 2 de las variables agroclimáticas. Fuente: autor ............... 32
Figura 3-3 Gráficos del ciclo 3 de las variables agroclimáticas. Fuente: autor ................ 33
Figura 3-4 Navegador al ingresar a la interfaz. Fuente: autor ......................................... 34
Figura 3-5 Variables y botón de control de riego. Fuente: autor ..................................... 35
Figura 3-6 Gráficos del ciclo 1 del riego automático. Fuente: autor ................................ 38
Figura 3-7 Gráficos del ciclo 2 del riego automático. Fuente: autor ................................ 39
Figura 3-8 Gráficos del ciclo 3 del riego automático. Fuente: autor ................................ 40
Aprendizaje automático para la toma decisiones en aplicaciones riego de inteligente
Tesis. Ingeniería Electrónica, 2019. VII
Lista de tablas
Pág.
Tabla 1-1 : Investigaciones de Riego inteligente. Elaborada por el autor .......................... 2
Tabla 1-2 : Investigaciones de sistemas de monitoreo. Elaborada por el autor ................ 4
Tabla 2-1 Reglas de irrigación. Elaborada por el autor ................................................... 25
Tabla 3-1 F1-Score de los algoritmos propuestos. Elaborada por el autor ..................... 36
VI
II
Jimenez Daniel
Lista de abreviaturas
Símbolo Término
IoT Internet of Things
WSN Wireless Sensor Network
ML Aprendizaje automático o Machine learning
AS Aprendizaje Supervisado
PE Perceptron
RN Red Neuronal
AB Adaboost
Aprendizaje automático para la toma decisiones en aplicaciones riego de inteligente
Introducción
Los efectos que el cambio climático puede tener en la agricultura son una de las principales
preocupaciones de la sociedad. Según algunas investigaciones realizadas por la
Organización de las Naciones Unidas para la Alimentación y la Agricultura FAO en el 2016,
las condiciones climáticas extremas y los cambios de temperatura reducirán la producción
mundial de maíz, trigo, arroz y soya en un 23% para 2050. Se estima que la producción de
alimentos debe aumentar alrededor del 60% para 2050, dado el crecimiento de la población
y las limitaciones constantes en el área de cultivo [1]. En Colombia, el aumento promedio
previsto de la temperatura media anual para el 2050 se estima que sea de 2.5 °C y es
probable que la precipitación aumente en un 2.5% a mediados de siglo [2]. Para evitar
estos efectos climáticos se espera una contribución de las actividades agrícolas que
disminuya el efecto invernadero [1], ya que según informes del Grupo Intergubernamental
de Expertos sobre el Cambio Climático IPCC el 14% de las emisiones globales derivadas
del uso del suelo corresponden al de la agricultura y en Colombia se registra las emisiones
del suelo corresponden al 40% en la agricultura, ya que es la actividad que más se realiza
en todo el país [3]. Lo que implica una enorme necesidad por interpretar el impacto de los
cambios climáticos sobre los cultivos. Se espera mejorar las técnicas en la agricultura,
como el uso eficiente de los fertilizantes y del agua, se sabe que el riego es la actividad
con mayor consumo del agua mundialmente con un 80% en los usos que se le da. En
Colombia se ha demostrado que la agricultura utiliza la mayoría del agua, con el 46.6% de
la demanda hídrica, es decir alrededor de 16,760.3 millones de metros cúbicos [4]. En la
actividad agrícola, se han implementado muchas técnicas de riego que ayudan en ahorro
del recurso, la más conocida es el riego localizado o goteo que permite un control en el
gasto de agua, pero es una de las técnicas más costosas a la hora de implementar por lo
que los agricultores para evitar gastos usan las técnicas tradicionales.
En los recientes años, tanto comercial como académicamente se han desarrollado un gran
número de estaciones agro-climáticas que monitorean el estado de los cultivos, que incluso
algunas veces permiten accionar remotamente elementos de irrigación y hasta establecer
sistemas de control de riego, para el uso eficiente del agua, permitiendo así establecer una
solución parcial al uso ineficiente del recurso hídrico [5]. No obstante, este problema
presenta varias aristas: De un lado estas redes de estaciones no van más allá de un simple
monitoreo y de otro lado se van al extremo de contar con modelos complejos que requieren
altos costos de inversión, lo cual los convierte en una tecnología de difícil acceso.
Adicionalmente, estas soluciones tienden a desplazar al agricultor de las decisiones de
riego y desaprovechan su experiencia y conocimiento al respecto. Recientemente se han
realizado investigaciones académicas que consisten en su mayor parte en el uso de
inteligencia artificial, donde se recopila información de variables agroclimáticas con el fin
entrenar algoritmos en base a esos datos y hacer validaciones para poder predecir las
Aprendizaje automático para la toma decisiones en aplicaciones riego de inteligente
2 Jimenez Daniel
tareas que debe realizar una estación agroclimática como es el control de los sistemas de
irrigación.
En la Universidad de Ibagué se realizó una investigación que consiste en una simulación
empleando MATLAB de un escenario experimental para la toma de decisiones en un
cultivo utilizando un algoritmo de aprendizaje. El objetivo era utilizar la experiencia de un
agricultor, mediante la lectura del estado de un actuador que definiría el proceso de riego
y así entrenar los algoritmos de aprendizaje desde las acciones del agricultor respecto a
la medición de variables agroclimáticas. Los resultados de esta aplicación han demostrado
su potencial con una precisión del 97% [6].
Con base en la investigación mencionada previamente, en el presente proyecto se
desarrolló un sistema de soporte de decisiones para la irrigación inteligente en un huerto
experimental a partir del dispositivo Agro-sensor. Se realizó una base de datos de reglas
de irrigación propuestas por el autor, de un periodo 55 días, la cual se divide en 3 ciclos
de periodos (Ciclo 1: 20 días, Clico 2: 20 días y Ciclo 3: 15 días) con base a esta
información se implementaron 4 algoritmos de clasificación supervisada SGDClassifier,
MLPClassifier, Adaboost y Gradientboosting de este modo explorar cual es la mejor
elección y comparar el rendimiento de cada algoritmo.
Planteamiento del problema
El proyecto se da cuando surge la necesidad de superar los problemas que se presentan
en la agricultura, como son la falta de un control para el ahorro del agua y las temporadas
de sequias que afectan a los cultivos por la falta de precipitaciones (lluvia), una de las
soluciones que se conoce actualmente son los sistemas de riego, estos sirven para
abastecer a los cultivos cuando se presentan las temporadas de sequias, ya que el clima
no es favorable para estos, también cuando no existe un buen control en el riego. una
desventaja de los sistemas de riego es que son tecnologías de difícil acceso para los
agricultores, por lo que ellos ven más factible emplear técnicas de riego más accesibles,
pero sin saberlo generan un impacto negativo, porque están desperdiciando un recurso
esencial como es el agua. Con este proyecto se busca brindar un apoyo para solucionar
estos problemas, se desarrolló un sistema de soporte de decisiones para la irrigación
inteligente en cultivos a partir de una estación agroclimática de bajo costo, implementando
reglas de irrigación por ciclo basadas en variables agroclimáticas, así mismo establecer
decisiones automáticas de irrigación, con el fin de comprobar si lo echo en la investigación
que se llevó a cabo en [6] es aplicable en un escenario real y dar respuesta a la pregunta
de investigación ¿ Es viable utilizar algoritmos de clasificación supervisada como sistema
de control on-off en aplicaciones de riego inteligente ?
Tesis. Ingeniería Electrónica, 2019. 3
Objetivos
Objetivo General
Desarrollar un sistema de soporte de decisiones para la irrigación inteligente en cultivos a
partir de una estación agro-climática de bajo costo.
Objetivos Específicos
1. Acondicionar el sistema de adquisición Agro-Sensor, el sistema de manipulación
del actuador de riego e integrar los diferentes elementos necesarios para el
escenario experimental.
2. Generar una base de datos que contenga información proveniente de los sensores
de la estación Agro-Sensor y las acciones de riego referencia de usuario
(Agricultor).
3. Diseñar e implementar algoritmos de aprendizaje automático para el control de
riego por aprendizaje y evaluar su desempeño
Metodología
El proyecto se desarrolló en tres etapas: 1) Se desarrolló el hardware y software necesario
para la adquisición de la información y la manipulación del sistema de irrigación en un
entorno experimental; 2) Se generó una base de datos de variables agroclimáticas reales
que contiene variables de entrada y salida, la salida es la simulación de un agricultor
mediante reglas de irrigación variantes por ciclos implementadas en un Arduino, y la
entrada son las variables agroclimáticas reales: humedad, luz y temperatura; 3) Se
implementaron algoritmos de clasificación supervisada para interpretar las reglas de
irrigación propuestas y poder establecer un control de riego. En la primera etapa se calibró
la estación de medición Agro-sensor desarrollada en una etapa anterior a este proyecto [7]
y se acondiciono sobre un escenario controlado que emulo las condiciones de un cultivo
en exteriores. Se incluyó una fuente de agua sobre el cultivo de prueba de manera que se
generó una irrigación manipulada desde un actuador de dos estados. El sistema
implementado fue bastante robusto ya que opero de manera continua las 24 horas del día.
La segunda etapa una vez que se acondiciono el entorno experimental, se estableció una
base de datos detallada en la que se incluyó tanto las variables de entrada y salida, a partir
de la base de datos, se efectuó el análisis de la información donde se graficó cada uno de
los ciclos de irrigación para observarlos detalladamente, de esto modo se escogió los
descriptores que permitirían facilitar el aprendizaje del sistema. En la etapa final se
implementaron 4 algoritmos de clasificación supervisada y se evaluó su desempeño ante
diferentes ciclos de irrigación como reglas empíricas. De este modo se comparó cuál de
los algoritmos seleccionados fue el más eficiente.
Capítulo 1: Marco de Referencia
1.1 Trabajo Relacionado
En este capítulo se presentan los trabajos académicos realizados con el proyecto de grado
como son riego inteligente y los sistemas de monitoreo en agricultura.
1.1.1 Riego inteligente
El riego es una parte fundamental en la agricultura puesto la mayoría de los alimentos del
país dependen de esta actividad, para solucionar el uso inapropiado que se le da al recurso
hídrico en los recientes años se han hecho investigaciones académicas las cuales
consisten en el desarrollo sistemas de riego inteligente con el fin de brindar un apoyo en
la actividad agrícola.
En el trabajo de grado [8], realizan simulaciones de modelos usando técnicas de
inteligencia artificial que predicen el valor para el siguiente día de evapotranspiración en
un cultivo mini clavel, realizando mediciones en un cierto periodo para después ser usadas
en un modelo generado compuesto de un sistema difuso, que evalúa el criterio de riego
aplicado en el día en curso, y una red neuronal de tipo backpropagatión, con la que se
obtienen las predicciones de evapotranspiración para el día siguiente.
En [9], desarrollan un sistema de irrigación inteligente de bajo costo usando un
microcontrolador Atmel ATMEGA16 e implementando sensores desarrollados los cuales
son de humedad y temperatura, de este modo supervisar las variables de temperatura y
humedad del suelo en un cultivo, el autor usa una red neuronal basada en múltiples
perceptrones para compensar la falta de linealidad de los sensores fabricados de este
modo dar linealidad a las salidas, el sistema que proponen permite la irrigación sólo
cuando es necesario y por lo tanto sirve para conservar el agua. Además, el sistema
elimina la intervención del ser humano con fines de riego.
Como último en [10], desarrollan un sistema neurodifuso para un cultivo hidropónico de la
planta de tomate, que controla la humedad del suelo mediante un riego automatizado. Este
modelo utiliza una red neuronal tipo feedforward con algoritmo backpropagation (topología
multicapa) y el sistema difuso tipo Takagi-Sugeno. La red neuronal emplea los valores de
entradas de los sensores de humedad y el sistema difuso los valores de salida para el
control de humedad del cultivo. Los algoritmos del sistema neurodifuso fueron
desarrollados y simulados en Matlab e implementados en una placa Arduino.
En la Tabla 1-1, se presenta un resumen en detalle de los aspectos importantes que abarca
cada una de las investigaciones como es el método que usaron, el hardware y lenguaje de
programación que implementaron, el cultivo que utilizaron para realizar el estudio y las
variables agroclimáticas que emplearon.
Aprendizaje automático para la toma decisiones en aplicaciones riego de inteligente
2 Jimenez Daniel
Tabla 1-1 : Investigaciones de Riego inteligente. Elaborada por el autor
Método Hardware Lenguaje de
programación Variables Cultivo Titulo Referencia
Sistema difuso-Red neuronal
No presenta
Matlab
Humedad Radiación
solar Temperatura
Mini Clavel
Generación y simulación de
un modelo para mejorar
los criterios de riego en los cultivos de
mini clavel de la sabana de
Bogotá mediante
técnicas de inteligencia
artificial
[8]
Red Neuronal basada
Múltiples perceptrones
Atmel ATMEGA
16 Lenguaje C
Humedad, Temperatura
Arroz Maíz
a low cost portable
temperatue moisture
sensing unit with artificial
neural network
based signal conditioning
for smart irrigation
applications
[9]
Sistema Neurodifuso
Arduino Matlab- Arduino (C++)
Humedad Tomate
Modelo neurodifuso
para el control de
humedad del suelo en cultivo
hidropónico para la
planta de tomate
[10]
Capítulo 1: Marco de referencia
Tesis. Ingeniería Electrónica, 2019. 3
1.1.2 Sistemas de Monitoreo en Agricultura
Estos sistemas se basan en estaciones agroclimáticas que permiten a los agricultores estar
al pendiente de posibles cambios climáticos, como su nombre lo dice solo se encargan de
medir variables como pueden ser: temperatura del aire, precipitaciones, humedad
relativa, presión barométrica, humedad del follaje, punto de rocío, radiación solar,
dirección y velocidad del viento. Esto da facilidad a la hora de hacer actividades agrícolas
como la siembra, irrigación, cosecha.
En los recientes años se han desarrollado sistemas de monitoreo académicamente que
permiten medir estas variables. En [11], desarrollan un sistema web de bajo costo para
monitorear y controlar un invernadero, utilizan un NodeMcu es una tarjeta de desarrollo
que permite conexión Wi-fi, esta tarjeta permite el desarrollo de aplicaciones como Base
de datos, correos, etc. en el monitoreo capturan variables climáticas como son humedad,
temperatura, luz y también cuenta un sensor de gases para medir la calidad del aire dentro
del invernadero. La interfaz permite al usuario estar al pendiente de variables climáticas
desde internet a tiempo real.
Para la investigación [12], los autores desarrollan una estación meteorológica de bajo costo
que se pueda ajustar a diferentes sensores y tiempos de muestreo, medir variables como
radiación solar, temperatura y las precipitaciones, utilizando un microcontrolador
PIC18F4620, como también módulos de radiofrecuencia para la comunicación. De este
modo poder comparar datos entre otras 2 estaciones comerciales. Los resultados que
obtuvieron los actores a comparación con estaciones comerciales de altos costos fueron
semejantes en algunas variables climáticas.
En esta última investigación [13],desarrollan un sistema de monitoreo usando redes
inalámbricas para hacer mediciones de variables de temperatura ambiente, humedad
relativa, radiación solar dentro de un cultivo de cebolla roja, utilizan una red 3 nodos de
sensores, que cuentan con un microcontrolador Atmel para la adquisición de datos de
sensores y módulo Xbee para la comunicación , un nodo coordinador que recibe los datos
de los nodos sensores que los carga previamente a un aplicativo web. que muestra los
datos de las lecturas a través de graficas o tablas. De esa manera, se pone a disposición
del agricultor una herramienta práctica y fácil de utilizar, que le permite conocer las
condiciones ambientales de su cultivo en cualquier momento y lugar, sirviéndole de apoyo
en actividades agrícolas.
En la Tabla 1-2, se presenta un resumen en detalle de los aspectos importantes que abarca
cada una de las investigaciones como es la aplicación que usaron, el hardware y lenguaje
programación que implementaron, lugar de realizaron las pruebas y las variables
agroclimáticas que emplearon
Aprendizaje automático para la toma decisiones en aplicaciones riego de inteligente
4 Jimenez Daniel
Tabla 1-2 : Investigaciones de sistemas de monitoreo. Elaborada por el autor
Aplicación Hardware Lenguaje de programaci
ón Variables
Lugar estudio
Titulo Referencia
Sistema Web
NodeMCU
Arduino (C++)
Humedad, Temperatura
Luz Gases
Invernadero
Sistema web de bajo costo
para monitorear y controlar un invernadero
agrícola
[11]
Prototipo Estación
Agroclimática
PIC18F4620 Lenguaje C
Radiación solar,
temperatura y
precipitaciones
Universidad sede
académica autores
Desarrollo y validación de una estación
meteorológica automatizada de bajo costo
dirigida a agricultura
[12]
Redes Sensores
Inalámbricos-
Aplicación Web
Arduino –Modulo Xbee
Arduino (C++)
Temperatura Humedad Radiación
solar
Cultivo de Cebolla roja
Agricultural Monitoring
System Using Wireless Sensor
Networks
[13]
Capítulo 1: Marco de referencia
Tesis. Ingeniería Electrónica, 2019. 5
1.2 Marco Teórico
A continuación, y con la intención de poner contexto al lector se presentarán algunos
conceptos relacionados a los temas de estudio del proyecto:
1.2.1 Riego
El riego es la actividad en la cual se aporta agua a los cultivos o huertas por medio del
suelo para satisfacer las necesidades hídricas que no se aportaron durante las
precipitaciones (lluvia) o también si lo requieren por la falta de nutrientes en el suelo. El
riego es un componente esencial en el desarrollo agrario, ya que con este permite
garantizar la productividad en la producción de alimentos y permitir un desarrollo
económico-social.
Hoy en día se han descubierto nuevas formas de usar el agua a la hora de hacer irrigación
en cultivos o huertas de este modo permitiendo un control en el uso eficiente, existen
diferentes técnicas de riego que como son superficie, aspersión y localizado [14].
1.2.2 Riego por gravedad o superficie
Es el sistema de riego por el cual el agua fluye por gravedad a través del suelo, como parte
de su sistema de distribución, es uno de los métodos más antiguos usado en la agricultura,
se estima que el 80% de las tierras regadas en el mundo utilizan el riego por superficie,
debido a sus costos de inversión que son relativamente bajos y que no requiere de
consumo de energía usando equipos externos como bombas, a pesar de tener estas
ventajas de que es un sistema de fácil acceso para el agricultor, presenta un gran
inconveniente que es el mal uso del agua debido a que se necesitan grandes cantidades
de agua para poder realizar este tipo de riego, eso se evidencia en la Figura 1-1 donde
utilizan riego por superficie en cultivo de arroz, existen métodos de riego por superficie los
más comunes son el riego por surcos, riego por canteros, riego por fajas [15].
Figura 1-1 Riego por superficie en un cultivo de arroz. Tomada de [14]
Aprendizaje automático para la toma decisiones en aplicaciones riego de inteligente
6 Jimenez Daniel
1.2.3 Riego por Aspersión
Es el método donde se permite aplicar el agua en forma de lluvia sobre las plantas,
utilizando para ello una red de riego de tuberías que permiten conducir el agua con la
presión adecuada hasta los elementos encargados de aplicarla, que son los aspersores
(ver Figura 1-2). La cantidad de agua que se infiltra será más o menos homogénea según
sean las características físicas del suelo y las propias características de funcionamiento de
los aspersores, se dice que un aspersor el tamaño de expulsión de sus gotas deben ser
de menor tamaño para que no se provoque erosión en el suelo. El viento es un elemento
que tiene mayor influencia a lo hora de aplicar el riego por aspersión ya que cuando se
producen grandes vientos los corros de agua se distorsionan provocando que el agua se
distribuya irregularmente sobre el suelo. El riego por aspersión es usado un 10% en las
áreas del mundo más que todo en los países más desarrollados. Es un sistema de alto
costo que utilizan mucha energía eléctrica debido que se necesitan de motobombas para
distribuir el agua por las tuberías [16].
Figura 1-2 Riego por aspersión usando aspersores. Tomada de [16]
1.2.4 Riego localizado
Es el sistema donde el agua se suministra de manera lenta y uniforme a baja presión, se
asemeja al riego por aspersión ya que usa redes de tuberías o mangueras plásticas para
realizar la distribución del agua y emisores de diversas formas que entregan pequeños
volúmenes de agua que solo mojan una parte del suelo. Estos emisores pueden ser de
goteo, micro aspersión y riego a chorros, el más utilizado es el riego por goteo Figura 1-3.
Su localización de instalación se realiza de tal modo que queden cercanas a las raíces de
las plantas, esto permite que a lo hora de realizar la irrigación allá un mejor control en el
uso eficiente del agua, es un riego de alta frecuencia debido a que se debe reponer el agua
constantemente ya que esta se evapora más rápido que en los otros riegos. Este sistema
presenta algunos inconvenientes como son los altos costos de mano obra y el gasto de
energía eléctrica en el uso de motobombas que distribuyen el agua [17].
Capítulo 1: Marco de referencia
Tesis. Ingeniería Electrónica, 2019. 7
Figura 1-3 Riego localizado usando gotero. Tomada de [12]
1.2.5 Fenología de las plantas
La fenología es el estudio de las fases o actividades periódicas y repetitivas del ciclo de
vida de las plantas y su variación temporal a lo largo del año. La Fenología de las plantas
es fuertemente controlada por el clima este influye directamente en su ciclo de vida. Siendo
las variables como la temperatura, radiación solar, humedad relativa y precipitación
responsables de estos cambios, gracias a que todos estos fenómenos climáticos se
pueden apreciar visiblemente en las plantas, se ha podido recoger información que permite
a agricultores y agrónomos estar al pendiente de los tiempos de germinación de las
semillas, duración y suspensión del crecimiento del tallo y ramificaciones, producción,
caída de hojas, floración, maduración de los frutos y liberación de estos últimos. Como
también poder efectuar los procesos agrícolas como son los riegos, control de plagas y
enfermedades [18]. En cada planta se presentan diferentes ciclos de vida. Esto se
evidencia en sus fases fenológicas de la Figura 1-4, esto representa las etapas que pasa
una planta durante su crecimiento en este caso vamos ver las fases fenológicas del frijol
[19].
Figura 1-4 Etapas de desarrollo del frijol. Modificada de [18]
Las etapas de desarrollo del frijol son diez: cinco de desarrollo vegetativo (V) y cinco de
desarrollo reproductivo (R), requiriéndose de 62 a 77 días después de la siembra para
completar la madurez.
Aprendizaje automático para la toma decisiones en aplicaciones riego de inteligente
8 Jimenez Daniel
Fase vegetativa:
Esta es la fase de desarrollo de las plantas, es el periodo comprendido desde la
germinación hasta la diferenciación floral y la aparición de los primeros botones florales.
Germinación (V0): En esta primera etapa de la fase vegetativa se encuentra la
germinación como se ve Figura 1-4, el embrión de la semilla se hincha permitiendo así que
la cubierta se rompa dando paso a la radícula la cual es la raíz embrionaria o principal de
una planta y con el tiempo el desarrollo de raíces secundarias y del hipocotilo se le dice a
si a la parte subterránea del tallo, el cual conduce hasta la superficie del suelo a los
cotiledones que son las hojas embrionarias de la planta.
Emergencia(V1): Esta es la etapa de emergencia como se ve en la Figura 1-4, los
cotiledones aparecen a nivel del suelo, con el tiempo el hipocotilo se endereza
posicionándose de forma vertical y sigue creciendo permitiendo que los cotiledones se
separen y luego desplieguen las hojas primarias.
Hojas primarias (V2): Esta etapa como se ve en la Figura 1-4, comienza cuando las hojas
primarias están totalmente desplegadas, en esta etapa empieza el desarrollo vegetativo
rápido de la planta, durante el cual se formará el tallo, en esta etapa los cotiledones pierden
su forma arrugándose y marchitándose, en esta etapa se caracteriza por ser la única que
posee 2 par de hojas.
Primera Hoja trifoliada (V3): En esta etapa como se ve en la Figura 1-4, crece la primera
hoja trifoliada completamente abierta y plana.
Tercera Hoja trifoliada (V4): Ya en esta etapa nos encontramos al final de la fase
vegetativa, esta comienza cuando ya se presenta una tercera hoja trifoliada desplegada, a
partir de esta etapa ya se puede apreciar claramente algunas estructuras vegetativas como
el tallo, las ramas.
Fase Reproductiva:
En esta etapa empieza la aparición de los primeros botones o racimos florales dando lugar
a la producción del grano.
Prefloración(R5): En esta etapa como se ve en la Figura 1-4, aparecen los primeros
botones florales estos aparecen en las axilas de las hojas trifoliadas inferiores del tallo
principal, el nacimiento de estos botones depende muchos factores como la temperatura.
Floración (R6): En esta etapa se inicia cuando se presentan la primera flor abierta, esta
flor abierta corresponde al primer botón floral que apareció. la floración comienza en el
último nudo del tallo o de las ramas y continúa en forma descendente en los nudos
inferiores. Por el contrario, en las variedades de crecimiento indeterminado, la floración
Capítulo 1: Marco de referencia
Tesis. Ingeniería Electrónica, 2019. 9
comienza en la parte baja del tallo y continúa en forma ascendente. Una vez que la flor ha
sido fecundada y se encuentra abierta, la corola se marchita y la vaina inicia su crecimiento.
Formación de las vainas(R7): En esta etapa como se ve en la Figura 1-4, ya cuando la
flor fue fecundada y la córala se ha marchitado, la vaina la cual alberga las semillas
empezara a crecer hasta alcanzar su máxima longitud y dar inicio poco crecimiento de las
semillas.
Llenado de las vainas(R8): En esta etapa como se ve en la Figura 1-4, las vainas se
empiezan a llenar, ya que sus semillas comienzan un crecimiento activo hasta pigmentarse
coger el color característico rojizo.
Maduración (R9):se da por finalizo el ciclo fenológico de la planta, ya que ocurre la
maduración de la planta, las vainas de planta empiezan a secarse, la planta como sus
hojas se marchitan es decir ya está lista para ser cosechada.
1.2.6 Factores climáticos de la planta
Los factores climáticos que más influyen en el desarrollo del cultivo de frijol son la
temperatura y la luz; tanto los valores promedio como las variaciones diarias y estacionales
tienen una influencia importante en la duración de las etapas de desarrollo y en el
comportamiento del cultivo. La planta de fríjol crece bien en temperaturas promedio entre
15 y 27° C, las bajas temperaturas retardan el crecimiento, mientras que las altas causan
una aceleración. Las temperaturas extremas (5° C o 40° C) pueden ser soportadas por
períodos cortos, pero por tiempos prolongados causan daños irreversibles, el agua es un
elemento importante para el crecimiento de la planta, estas plantas no toleran el exceso
de agua, ni la escases, al ser plantas muy frágiles, en la actividad de riego es recomendable
usar el riego por goteo, este método no las maltrata y hay un buen control en el uso del
recurso [20][21].
1.2.7 Demanda hídrica cultivos
La agricultura es una las actividades donde se emplea el 70% del agua utilizada en el
mundo. Según el estudio nacional del agua hecho por IDEAM en Colombia han
demostrado que la agricultura utiliza la mayor parte de la demanda de agua: 46,6% de la
demanda hídrica con 16,760.3 millones de metros cúbicos y según proyecciones esto
puede ir en aumento con el aumento de la población. Este es el sector que más agua
consume en el país frente a otros como el de energía, doméstico,, industrial y servicios [4].
La cantidad de agua que se debe suministrar en el sector agrícola depende de su
localización, en un cultivo la superficie del terreno es mucho mayor, en este habrá más
abundancia de plantas, es decir la cantidad de agua necesaria para abastecer todo el
terreno a cada una de las respectivas plantas que se encuentren será mucho mayor. Por
otro lado, en una huerta casera el abastecimiento de agua será menor al contar con una
menor superficie y menor número de plantas.
Aprendizaje automático para la toma decisiones en aplicaciones riego de inteligente
10 Jimenez Daniel
Es necesario utilizar las técnicas de riego más eficientes para el ahorro del recurso, una
de las más recomendables es el riego por goteo, también tener en cuenta el tipo de suelo,
ya que de este dependerá la frecuencia de riego, en los suelos arenosos suelen ser los
que más agua gastan ya que no la retiene, los suelos que se recomienda usar son los
suelos de tierra negra, contienen artos nutrientes para las plantas y retienen el agua con
facilidad [14].
1.2.8 Wireless Sensor Network:
Figura 1-5 Esquema red de sensores inalámbricos para agricultura. Tomada de [6]
Un sistema Wireless Sensor Network WSN de sensores inalámbricos es una red con
numerosos dispositivos distribuidos espacialmente, que utilizan sensores para medir
diferentes variables, su propósito es ser capaces de comunicarse entre sí con un mínimo
de consumo de energía y entregando un registro de datos especifico. Estos dispositivos
son unidades autónomas que constan generalmente de un microcontrolador, una fuente
de energía (casi siempre una batería), un radio transceptor y un elemento sensor [22]. En
la figura 1-5 anterior podemos observar una conexión WSN en la agricultura [23]. Los
nodos WSN utilizados en la agricultura cuentan con sensores inteligentes de temperatura
del aire, radiación solar, temperatura del suelo, temperatura de la planta, dióxido de
carbono, humedad relativa del aire, humedad del suelo y PH [24], Las redes de sensores
pueden ser una solución en instrumentación cuando la adquisición de datos a medir
presentan coberturas más extensas.
Capítulo 1: Marco de referencia
Tesis. Ingeniería Electrónica, 2019. 11
1.2.9 Aprendizaje Automático
El aprendizaje automático o también conocido como Machine Learning ML, es una rama
de la inteligencia artificial cuyo objetivo es desarrollar técnicas de análisis de datos que
enseña a los ordenadores a hacer lo que resulta natural para las personas y los animales,
y de este modo aprender de la experiencia. Los algoritmos de ML, emplean métodos de
cálculo para “aprender” información directamente de los datos sin depender de una
ecuación predeterminada como modelo; el ML se puede usar para problemas que no
pueden ser resueltos a través de la programación tradicional, de esta manera surgen
muchas aplicaciones ya que esta técnica tiene muchas ventajas ya que permite resolver
problemas y así atender a sus necesidades [25].
1.2.10 Aprendizaje Supervisado
El aprendizaje supervisado es un tipo de ML, este aprendizaje se caracteriza con contar
con la presencia de un agente externo que se encarga de controlar el proceso de
entrenamiento, eso quiere decir es un aprendizaje que necesita de la intervención humana.
Esta intervención se puede hacer evidente en conjunto de datos donde ya están
previamente etiquetados y organizados [26] [27].
A la hora de realizar un algoritmo de aprendizaje supervisado, se sabe que en un conjunto
de datos de entrada se conoce de antemano los datos correctos de salida. Consta de 2
fases, una de entrenamiento y otra de pruebas, en la fase de entrenamiento se cuenta con
un conjunto de datos (por lo general entre el 60% o 70% del total de la data disponible) y
el 30% de los datos restantes se usa para hacer las predicciones y poder validar el
rendimiento del algoritmo de clasificación. Dentro del aprendizaje supervisado se
encuentra dos métodos el de regresión y clasificación [28].
Clasificación supervisada
Es un método de aprendizaje supervisado, que se utiliza para encontrar diferentes
patrones y tiene como objetivo clasificar elementos de diferentes grupos provenientes de
datos que contengan información de objetos, animales y personas, también datos de
magnitudes físicas como la luz, humedad, etc.
Sus algoritmos se basan en usar información suministrada por un conjunto de muestras de
entrenamiento, que son asumidos como representantes de las clases, y los mismos
poseen una etiqueta de clase correcta. A este conjunto de prototipos correctamente
etiquetados se le llama conjunto de entrenamiento y es el conocimiento empleado para la
clasificación de nuevas muestras. El método más simple encontrado en la clasificación es
el binario donde se clasifica un registro de variables de entrada definidas con 1 o 0. Dentro
de este método de aprendizaje podemos encontrar algoritmos de clasificación como son
el perceptron, adaboost y muchos algoritmos más [27] [28].
Aprendizaje automático para la toma decisiones en aplicaciones riego de inteligente
12 Jimenez Daniel
Gradiente descendente
Este es un algoritmo iterativo de optimización, se usa en algoritmos de aprendizaje
supervisado, como las redes neuronales, el gradiente descendiente consiste en definir una
función objetivo que debe ser optimizada en el proceso de aprendizaje, esta función es
conocida como función de costo J, con la cual se quiere minimizar mediante un proceso
iterativo encontrando los pesos correspondientes de este modo encontrar el mínimo error
posible de una predicción de un conjunto de datos. De este modo permitiendo a los
algoritmos de aprendizaje hacer clasificaciones precisas [29].
Redes Neuronales
Las redes neuronales RN, están inspiradas en la biología del cerebro y están organizadas
similarmente a este. las RN buscan solucionar problemas de la vida como lo haría el
cerebro humano [30], han tenido gran importancia en investigaciones ya que pueden
predecir conjuntos de datos lineales y no lineales [31], las RN consisten en una serie de
nodos conectados como se ve en la Figura 1-6, cada nodo representa una neurona
artificial, las neuronas están conectadas por unos enlaces llamados sinapsis que llevan el
valor de la respuesta de la neurona la cual se multiplica con los pesos los cuales son los
encargados de inhibir en el estado de activación de las neuronas adyacentes. La RN está
constituida de diferentes niveles o capas, una capa de entrada donde se presentan los
datos de la red, una capa de salida que mantiene la respuesta de la red a una entrada, las
capas ocultas realizan el trabajo interno de la neurona [32].
Figura 1-6 Esquema Red Neuronal. Tomada de [32]
En el aprendizaje supervisado, aprenden de la experiencia mediante un conjunto de datos
o desde la intervención de un agente externo, de esta manera se puede entrenar para que
reconozca patrones, clasifique datos. Se busca que una red neuronal se entrene para
producir una salida deseada como respuesta a unos datos de entrada [33].
Capítulo 1: Marco de referencia
Tesis. Ingeniería Electrónica, 2019. 13
Perceptron
Este algoritmo de aprendizaje fue desarrollado por Frank Rosenblatt en 1957, es la forma
más simple de una red neuronal, el perceptrón(PE) es un algoritmo para el aprendizaje
supervisado de clasificadores binarios, el cual genera una predicción basándose en un
algoritmo combinado con el peso de las entradas el PE Figura 1-7, cuenta con una o más
entradas(X), pero genera una única salida binaria, las entradas se multiplican con los pesos
sinápticos(W), para después sumarse y pasar por una función de activación la cual se
conoce la función de paso de Heavside, esta función se encarga decidir si se activa o no
el PE. si la salida de la suma es positiva la salida es 1, Si es negativo la salida es -1. La
forma en que el PE o red puede averiguar si ha hecho una predicción incorrecta. Es
aprender de su error y ajustar sus pesos. el PE es de una capa está limitado hacer la
clasificación 2 clases como es clasificación binaria en la que nos referimos a nuestras dos
clases como 1 (clase positiva) y -1 (clase negativa). Si se desea clasificar más clases es
necesario más capas de PE [29].
Figura 1-7 Representación gráfica de un Perceptrón. Tomada de [28]
Adaboost
Adaboost AB es un meta-algoritmo de aprendizaje automático, fue propuesto en 1996, por
Yoav Freund y Robert Schapire. Este consiste en combinar múltiples clasificadores débiles
es decir clasificadores de baja precisión, para obtener un clasificador robusto de tal modo
de obtener más precisión. Los clasificadores débiles que utiliza AB son los arboles de
decisiones, AB se llama adaptativo porque utiliza múltiples iteraciones para generar un
único aprendizaje compuesto fuerte. El concepto básico detrás de AB es establecer los
pesos de los clasificadores y entrenar la muestra de datos en cada iteración de modo que
garantice las predicciones precisas de observaciones inusuales [34].
El AB propone entrenar clasificadores débiles de manera interactiva de modo que cada
nuevo clasificador se enfoque en los datos que fueron erróneamente clasificados de sus
predecesores, de esta manera se adapta y logra obtener mejores resultados, AB funciona
con los siguientes pasos esto se hace evidente en diagrama de la Figura 1-8:
Aprendizaje automático para la toma decisiones en aplicaciones riego de inteligente
14 Jimenez Daniel
Figura 1-8 Diagrama Adaboost. Tomada de [29]
1. Inicialmente, AB selecciona un subconjunto de entrenamiento al azar.
2. Entrena iterativamente el modelo de aprendizaje automático de AB seleccionando
el conjunto de entrenamiento basado en la predicción precisa del último
entrenamiento.
3. Asigna el mayor peso a las observaciones clasificadas incorrectas, de modo que
en la siguiente iteración estas observaciones obtendrán una alta probabilidad de
clasificación.
4. Además, asigna el peso al clasificador entrenado en cada iteración de acuerdo con
la precisión del clasificador. El clasificador más preciso tendrá un alto peso.
5. Este proceso se repite hasta que los datos de entrenamiento completos se ajustan
sin ningún error o hasta que se alcanza el número máximo de estimadores
especificado.
6. Las predicciones de todos ellos luego se combinan a través de un voto mayoritario
ponderado (o suma) para producir la predicción final
Lo bueno que tiene este meta algoritmo es que es fácil de implementar, es muy preciso a
la hora de hacer clasificación de datos. Lo malo sería que es muy sensible a datos ruidos
y se necesita de una gran cantidad de datos para hacer una buena clasificación.
2.1.1 Disponible online en: https://sites.google.com/a/unibague.edu.co/si2c/species-description
Capítulo 2: Riego inteligente con Agro-sensor
2.1 Acondicionamiento del Sistema.
2.1.1 Agro-sensor
Es un dispositivo desarrollado en un proyecto anterior del semillero de Investigación SI2C
de la Universidad de Ibagué que surgió como una iniciativa de docentes, estudiantes y
agricultores. Agro-sensor es una herramienta de bajo costo, la cual se encarga de adquirir
la información del entorno de los cultivos y los envía vía el Internet de las cosas (Internet
of Things) IoT para su correspondiente visualización y registro, en la Figura 2-1a se ilustra
el dispositivo, el hardware como se ve en la Figura 2-1b se basa en un “shield” de arduino,
el cual integra toda la electrónica necesaria para realizar las mediciones de diferentes
sensores localizados dentro de un cultivo. Para la adquisición de datos utiliza una tarjeta
de desarrollo Raspberry Pi, la cual contiene un código fuente desarrollado en lenguaje
Python [7].
Figura 2-1 a) Agro-sensor b) Tarjeta Agro-sensor. Tomada de [34]
2.1.2 Diseño del Entorno de Experimentación
Para la elaboración del entorno de experimentación en donde se hicieron las pruebas de
riego inteligente, se partió por diseñar primero el hardware adquisición el cual sería
instalado, el cual contaría con el shield de adquisición Agro-sensor elaborado en un
proyecto anterior. En el siguiente diagrama de bloques de la figura 2-2, podemos observar
cada uno de los componentes del hardware que conforman el entorno experimental
(sensores, fuente alimentación, shield agro-sensor, sistema de riego, Rasperry Pi,
Conexión red eléctrica e internet)
Aprendizaje automático para la toma decisiones en aplicaciones riego de inteligente
16 Jimenez Daniel
Figura 2-2 Diagrama de bloques del entorno experimental. Fuente: autor
Para conocer el funcionamiento del shield Agro-sensor, permitiendo al usuario tener
conocimiento previo sobre todo el hardware que contiene, se construyó uno nuevo desde
cero como se ve en la Figura 2-3, con todos sus respectivos componentes (resistencias,
capacitores, integrados, etc.)
Figura 2-3 Ensamble de tarjeta Agro-sensor. Fuente: autor
Agro-sensor es un shield de adquisición que permite dar una facilidad al usuario en la
lectura de diferentes sensores, está hecha con el propósito de atender la información de
variables de cultivos como se nombró anteriormente en la sección 2.21, fue fabricado
únicamente para el Arduino Mega 2560 , el cual es un plataforma de código abierto robusta
que cuenta con múltiples puertos analógicos y digitales, la tarjeta Agro-sensor aprovecha
cada uno de estos pines, lo que permite la conexión de una variedad de sensores (Luz,
humedad, temperatura, etc.), como se puede ver en la figura 2-2, el hardware cuenta con
3 sensores que son:
Capítulo 2: Riego inteligente con Agro-sensor 17
Tesis. Ingeniería Electrónica, 2019. 17
Sensor TSL2561: Sensor de luz
Sensor Ds18b20: Sensor de temperatura del suelo
Soil Moisture Sensor SKU: SEN0193: Sensor de humedad
La mayoría de los sensores nombrados anteriormente son sensores digitales que miden
magnitudes diferentes, como se ve en la Figura 2-2 están conectados a las entradas
analógicas del arduino, cada uno en un pin diferente para su respectiva lectura. A
continuación, se presentará una breve descripción de los principales componentes:
Sensor TLS2561:
Es el sensor de Figura 2-4, este es un sensor de luz de alta precisión, es un sensor digital,
permite cálculos de luz exactos, su configuración se basa en diferentes rangos de ganancia
para detectar rangos de luz 0.1 - 40,000, tiene una interfaz digital (I2C), funciona a un
voltaje de operación de 3V, su consumo de corriente es extremadamente bajo, alrededor
de 0,5 mA cuando se detecta activamente y menos de 15 uA cuando está en modo de
apagado.
Figura 2-4 Sensor TL2561. Fuente: autor
Sensor Ds18b20
Este es uno de los sensores de temperatura más versátiles. Es idóneo para medir
temperaturas en lugares húmedos e incluso medir sumergido en agua, esto se debe a
como está fabricado, ya que este viene en una versión que es una sonda impermeable
(Figura 2-5), es un sensor digital, sus rangos de medición de temperatura son - 55ºC y
125ºC.
Figura 2-5 Sensor Ds18b20. Fuente: autor
Aprendizaje automático para la toma decisiones en aplicaciones riego de inteligente
18 Jimenez Daniel
Soil Moisture Sensor SKU: SEN0193
Este un sensor de humedad del suelo (Figura 2-6), mide los niveles de humedad del suelo
mediante detección capacitiva. Está fabricado de un material dieléctrico, dependiendo de
nivel de humedad varia su impedancia. Los voltajes de operación del sensor 3-5V, corriente
de funcionamiento de 5mA, cuenta con un pin de salida analógico por cual su voltaje
cambia con la humedad del suelo voltajes de 0 ~ 3.0VDC.
Figura 2-6 Sensor SKU:SEN0193. Fuente: autor
Fuente de Alimentación
Para la alimentación de nuestro sistema como se ve en la Figura 2-7, se escogió una fuente
de 5V a 2A, debido a que el Arduino Mega 2560 y Raspberry pi funciona a este voltaje de
operación de 5V, como también cada sensor y componente que se encuentra en el shield
Agro-sensor, la corriente 2A es la indicada para suministrar a todo el hardware, los que
más necesitan corriente para su funcionamiento serian el Arduino y Raspberry pi. La fuente
que se adquirió fue una fuente comercial (Cargador genérico de 5V a 2A) dado que esta
es más eficiente y nos permite ahorrar tiempo en el montaje.
Figura 2-7 Fuente de alimentación. Fuente: autor
Sistema de irrigación.
Este sistema es el conjunto de componentes que permiten conducir el agua hasta un punto
en específico, en este caso sería en una huerta experimental, existen diferentes tipos de
riego, donde cada uno tiene diferentes formas de distribuir el agua, lo que los diferencia de
Capítulo 2: Riego inteligente con Agro-sensor 19
Tesis. Ingeniería Electrónica, 2019. 19
cada uno es la cantidad de agua utilizada, es decir que hay riegos más ahorradores que
otros. Para el proyecto se escogió el riego por goteo ya que es uno de los riegos donde se
suministra el agua de manera lenta y uniforme permitiendo un uso eficiente del agua, otra
de las razones de escoger este riego fue el tipo de planta que se iba cultivar, la planta que
se escogió fue frijol, es una planta que requiere agua, pero no en exceso, con este riego
es mucho más fácil controlar por medio software cantidad de agua a distribuir.
Relé o relevador
Es un dispositivo electromagnético, que funciona como un interruptor que puede ser
controlado eléctricamente, el modulo que se usó cuenta con 2 relés (Figura 2-8) cada uno
cuenta con una bobina que se activa a los 5V, este voltaje seria la señal del pin digital de
activación, permite controlar encendido o apagado de una carga 110VAC, la carga seria la
motobomba del sistema.
Figura 2-8 Modulo relé. Fuente: autor
Motobomba:
Es el mecanismo eléctrico que bombea agua de un lugar a otro, la motobomba que se
utilizo fue una motobomba sumergible de acuario SP-980 (Figura 2-9), su voltaje de
operación es de la red eléctrica 110-120VAC, potencia de 9W, altura máxima de circulación
agua que alcanza es de 1.30m, esta ira dentro del depósito de agua
Figura 2-9 Motobomba. Fuente: autor
Depósito de agua:
Es que el almacenara el agua que se utilizara en la irrigación, el cual también contara con
un sensor de nivel de líquido de 2 niveles, sus componentes son 2 transistor y 4 resistencia
como se ve en el circuito de la Figura 2-10a, en la Figura 2-10b podemos apreciar el diseño
Aprendizaje automático para la toma decisiones en aplicaciones riego de inteligente
20 Jimenez Daniel
del PCB, este en un sensor que nos indica el nivel por medio de conducción donde el agua
será nuestro medio conductor, en la Figura 2-10c podemos ver la colocación pines de nivel
y vcc en el depósito, vcc se encontrara en circuito cerrado con los pines de nivel así
indicándonos en qué nivel de agua se encuentra.
Figura 2-10 Depósito de agua. Fuente: autor
Mangueras:
Las mangueras son los conductos que nos permitirán transportar el agua hasta un sitio
especifico. Para el diseño del sistema se usaron mangueras plásticas, las cuales se
perforaron para hacer pequeños orificios por donde saliera el agua como se ve en la Figura
2-11, con esto el agua saldría de manera lenta, es decir que el riego se aplicaría por goteo.
Estás van conectadas a la motobomba que se encontrara dentro del depósito de agua
permitiendo el transporte de agua al cultivo.
Figura 2-11 Mangueras del sistema de riego. Fuente: autor
Raspberry Pi
Es un ordenador pequeño de bajo costo y de código abierto, que trabaja bajo un sistema
operativo Linux en distribución debían. Se utiliza mucho en el desarrollo de aplicaciones
IoT. Su función en entorno de experimental es el manejo de la información de los sensores.
Capítulo 2: Riego inteligente con Agro-sensor 21
Tesis. Ingeniería Electrónica, 2019. 21
Adecuación de caja:
Para almacenar los componentes del hardware, de esta forma evitar daños, se utilizó una
caja Dexson comercial como se ve en la Figura 2-12a, la cual se usa comúnmente en
instalaciones eléctricas protegiendo mecanismos eléctricos alojados en su interior, para la
adecuación de esta caja se hizo un corte cuadrado en el centro con una cortadora laser,
con el fin de hacer una ventana que permitiría el paso de luz a los sensores, se hicieron
cortes circulares en la parte inferior por donde pasaría el cableado de los sensores, se
hicieron unos grabados y se cortó un acrílico transparente el cual se pegó en la parta frontal
como se ilustra en Figura 2-12b , ya en la Figura 2-12c se ve la caja con el hardware
integrado.
Figura 2-12 Adecuación de caja. Fuente: autor
Bosquejo de cultivo
Figura 2-13 Bosquejo de cultivo. Fuente: autor
Como podemos ver en la Figura 2-13, se realizó un bosquejo del escenario experimental
que se deseaba instalar, este sería un cultivo vertical, es un sistema que permite cultivar
plantas de todo tipo (hortalizas, verduras, decorativas, aromáticas o culinarias), en una
estructura vertical, la cual se usa en lugares donde no se dispone de un terreno suficiente
para cultivar. Se pueden observar los materiales del cultivo vertical: Dos macetas, cable
Aprendizaje automático para la toma decisiones en aplicaciones riego de inteligente
22 Jimenez Daniel
de guaya el cual es el soporte de elevación de las 2 macetas, depósito de agua con las
instalaciones de las mangueras y la estación Agro-sensor.
Implementación
Para la implementación del bosquejo que se realizó anteriormente se buscó un lugar en la
Universidad de Ibagué que cumpliera con las condiciones óptimas, como son la conexión
a internet vía cable ethernet o Wi-fi y conexión a red eléctrica, se escogió una zona cerca
al laboratorio de fluidos para hacer la instalación. Primero se implementó el cultivo vertical,
seguidamente se realizó la instalación eléctrica y de internet, ubicando el hardware (la
estación, él depósito de agua y sistema de irrigación) como se ve en la Figura 2-14 a. En
la Figura 2-14b se observan fotografías del montaje real de la estación la cual cuenta con
la caja donde van integrado la tarjeta Agro-sensor, arduino y de más componentes, la
Raspberry pi 3 la cual va conectado vía USB al arduino, la salida de cableado de los
sensores y el cable de alimentación.
Figura 2-14 Implementación entorno experimental. Fuente: autor
Se escogió la semilla de frijol, esta sería cultivada en el cultivo vertical del entorno
experimental, esto se hace con el fin de tener adecuado nuestro entorno a condiciones
reales, la planta ayuda en la evaporización del agua lo que permite un cambio de un estado
húmedo a seco más rápido, lo que facilita la toma de datos de humedad, de este modo no
se prolongue una acción de riego. Como se observa en Figura 2-15 el cultivo de frijol estuvo
una fase de hojas primarias, el cual es un estado después de la germinación de la semilla.
Capítulo 2: Riego inteligente con Agro-sensor 23
Tesis. Ingeniería Electrónica, 2019. 23
Figura 2-15 Cultivo de frijol. Fuente: autor
2.2 Recolección de datos
El software está diseñado para operar sobre la plataforma Agro-Sensor como se vio en la sección 2.1, como podemos recordar este contiene el siguiente Hardware para su debido funcionamiento:
Arduino Mega 2560 Shield Agro-Sensor para Arduino (Desarrollada por semillero SI2C de la
Universidad de Ibagué) que contiene: Sensor TSL2561 Sensor Ds18b20 Soil sensor DFROBOT
Raspberry pi 3, con OS Linux en distribución debían Sistema de Irrigación (activado por relevo, Motobomba 110 AC, Depósito de Agua
Con Sensor de Nivel).
La siguiente figura 2-16, relaciona los elementos de Hardware involucrados y el respectivo flujo información que toma el software en la recolección de datos.
Figura 2-16 Flujo de información del software. Fuente: autor
Aprendizaje automático para la toma decisiones en aplicaciones riego de inteligente
24 Jimenez Daniel
El software gestiona la adquisición de variables agroclimáticas provenientes de sensores
tales como: Luz, Humedad, temperatura, el software es el conjunto de 2 elementos de
cómputo comunicados entre sí, como se ve en la Figura 2-16,se encuentra el entorno
experimental el cual maneja adquisición y adecuación de datos de los sensores
agroclimáticos, como también se encarga del control de actuadores de irrigación, su
programación se basa en lenguaje arduino es un lenguaje basado en C++ y el uso de
librerías que permiten dar acondicionamiento a la lectura de los sensores. Los datos son
entregados al computador (Raspberry pi) mediante comunicación serial por medio de un
cable USB. La Raspberry pi maneja el IoT lo que permite la conexión con bases de datos
datos y envío automático de correos electrónicos, mediante el lenguaje Python.
Los datos recolectados de los sensores son entregados a una plataforma libre llamada
Thingspeak como se ve en la Figura 2-17, el usuario podrá hacer seguimiento a las
variables como (Luz, Humedad, Temperatura), ThingSpeak es una aplicación y una API
de IoT de código abierto para almacenar y recuperar datos de cosas mediante el protocolo
HTTP a través de Internet o mediante una red de área local.
Figura 2-17 Base datos Thingspeak1 Fuente: autor
Para la recolección de datos se propusieron reglas de irrigación, esto con el fin de generar
una base datos con diferentes ciclos de riego, cambiando las variables agroclimáticas (Luz,
Humedad, Temperatura), estas condiciones que se pueden ver en la Tabla 2-1, ya que no
se contaba con un experto, fueron realizadas por el autor, para poder llevar a cabo la
investigación, se tuvieron en cuenta los factores climáticos de la planta consultados, los
conocimientos básicos de riego y también se tuvo de referencia las reglas implementadas
en la investigación [6], de este modo simular la actividad de riego del agricultor en
diferentes horas del día. Se implementaron en el Arduino mega 2560, el cual controlaría el
1 Disponible online en: https://thingspeak.com/channels/487900
Capítulo 2: Riego inteligente con Agro-sensor 25
Tesis. Ingeniería Electrónica, 2019. 25
sistema de irrigación y realizara la actividad de riego cuando las condiciones de las
variables climáticas en cada ciclo sean las indicadas.
Tabla 2-1 Reglas de irrigación, la temperatura se representa en grados centígrados y la humedad en escala digital provista por el sensor, la elección de los sensores tiene por
propósito evaluar la adaptación de los algoritmos. Elaborada por el autor
Ciclo Datos Regla de irrigación Actividad simulada
1 20 días Humedad > 390 y Luz > 10 El agricultor activa el irrigador de día cuando la humedad es baja
2 20 días Humedad > 390 y Luz = 0 y Temperatura <25ºC
El agricultor activa el irrigador de noche cuando la humedad es baja y la temperatura es menor a 25ºC
3 15 días Humedad > 390 y Luz > 10 y Temperatura <25ºC
El agricultor activa el irrigador de día cuando la humedad es baja y la temperatura es menor a 25ºC
En la tabla se observa, que la actividad de riego en cada ciclo siempre ocurre cuando la
humedad presenta un valor por encima de los 390, este valor nos indica los niveles de
humedad que se presentan en el suelo, cuando los valores son superiores a 390, la
humedad es mínima, es decir la tierra está en un estado seco. En rangos inferiores por
ejemplo 360 la humedad es máxima, es decir la tierra está en un estado húmedo. En la luz
su unidad de medida es el lux, es decir el nivel de iluminación que se presenta en una
superficie, en este caso la superficie seria el lugar donde se realizó la implementación del
entorno experimental, Cuando la luz presenta niveles de iluminación mayores a 10 nos
indica que hay presencia de ella y cuando es igual a cero indica que no hay presencia de
luz. Por último, la temperatura se mide en Grados Centígrados (°C), en los ciclos 1 y 2
siempre se aplicaba el riego cuando la temperatura era menor a 25ºC.
2.3 Interfaz de usuario para supervisión remota
2.3.1 Flask y HTML
Es un aplicativo el cual combina HTML y una librería de Python conocida como Flask, Flask
es un micro framework escrito en Python que facilita a los usuarios el desarrollo de
aplicaciones web, se usa para crear aplicaciones básicas de forma ágil que no necesiten
tanto contenido, este incluye un servidor web básico por cual se permite el manejo de
datos. Flask nos permite incorporar HTML este es el lenguaje de diseño web que permite
el manejo de elementos como imágenes, texto, y videos. Permitiendo así realizar un
interfaz de usuario, la cual es un medio que permite la comunicación del usuario con una
máquina. El objetivo de esta interacción es permitir el funcionamiento y control más
efectivo de la máquina desde la interacción con el humano.
Aprendizaje automático para la toma decisiones en aplicaciones riego de inteligente
26 Jimenez Daniel
En la siguiente Figura 2-18, relaciona los elementos de hardware involucrados y el
respectivo flujo información que toma la interfaz web en la recolección de datos y control
de actuadores de riego.
Figura 2-18 Flujo de información de interfaz. Fuente: autor
Como se observa en la figura anterior, el computador el cual es la Raspberry pi será la
encargada de manejar todo el flujo de información. Los datos son adquiridos desde el
entorno experimental, la adquisición se hace utilizando Arduino Mega 2560 incorporando
el shield Agro-sensor que contiene la electrónica necesaria para facilitar la lectura de
sensores, los datos de sensores de humedad, temperatura y luz son entregados por
comunicación serial entre el Arduino y la Raspberry pi mediante un cable USB. La
Raspberry maneja el IoT, por lo que permite el desarrollo de aplicaciones web, manejo
base de datos y envío automático de correos electrónicos. La interfaz se encarga de la
visualización de variables climáticas y el control de actuadores de irrigación de manera
remota, también almacena la recolección en una base datos mediante el lenguaje Python.
El usuario podrá hacer seguimiento del estado de las variables climáticas y del control de
los actuadores de riego a través de la plataforma desarrollada.
2.4 Riego como Clasificación Binaria
El aprendizaje automático o Machine Learning ML, busca solucionar los problemas que
surgen de las necesidades de las personas, animales, etc., creando sistemas que
aprenden automáticamente a partir de información, la intensión de este proyecto es
implementar aprendizaje automático, permitiendo de este modo que el usuario y el sistema
trabajen de la mano, a esta intervención se le conoce como aprendizaje supervisado AS,
de esta manera, el usuario puede definir sus reglas de riego, que se reflejan en el sistema
con base a las variables agroclimáticas, así mismo generar una base de datos y con esta
información entrenar algoritmos de AS y poder validar su funcionamiento en el entorno
experimental elaborado y verificar cual es más eficiente a la hora de cumplir con las reglas
de riego.
El aporte de este proyecto es verificar el uso de un clasificador binario como un controlador
on-off, dado que ambos presentan dos estados. Por su parte el controlador on-off define
Capítulo 2: Riego inteligente con Agro-sensor 27
Tesis. Ingeniería Electrónica, 2019. 27
su estado generalmente tras evaluar un condicional o comparador, situación que podría
reflejarse en el clasificador binario, siendo este entrenado a partir de datos experimentales.
De esta manera el agricultor representa el condicional que activa el actuador, y que al
mismo tiempo genera los datos para que el clasificador se entrene de manera automática.
La etapa experimental consiste en generar datos reales en los que el agricultor se simula
con un Arduino, con diferentes reglas de irrigación según las plantas crezcan, es decir en
diferentes ciclos. Los clasificadores se evalúan en cada ciclo y se validan con datos
diferentes a los de entrenamiento, para así realizar una comparación respecto al
controlador on-off.
2.4.1 Scikit-learn
En el proyecto se utilizó Scikit-learn, una librería ML para el lenguaje de programación
Python, la cual contiene diferentes métodos de ML, incluye de clasificación, regresión entre
los cuales encontramos algoritmos de adaboost, redes neuronales, perceptron entre otros.
Esta librería permite a usuarios introducirse al mundo de la inteligencia artificial ya que es
de fácil uso [35].
Se eligieron cuatro clasificadores de la librería de Scikit-learn, para de este modo usar
aprendizaje automático en el control de nuestro sistema de riego, las cuales fueron,
SGDClassifier, MLPClassifier, Adaboost y Gradientboosting.
SGDClassifier
Este en un clasificador que implementa modelos lineales regularizados con aprendizaje de
descenso de gradiente estocástico, el descenso de gradiente estocástico considera solo 1
punto aleatorio, mientras que los pesos cambian a diferencia del descenso de gradiente
que considera la totalidad de los datos de entrenamiento. Como tal, el descenso de
gradiente estocástico es mucho más rápido que el descenso de gradiente cuando se trata
de grandes conjuntos de datos [36]. Se realizó en lenguaje de programación Python
mediante la librería de Scikit-learn “from sklearn. linear_model import SGDClassifier”, esta
librería nos permite a los usuarios de manera fácil implementar ML, mediante el ajuste de
parámetros, los parámetros más importantes son:
Loss: Función de perdida
n_iter: El número de pasadas sobre los datos de entrenamiento (también
conocido como épocas)
max_iter: es el número máximo de iteraciones que el modelo usara.
ramdom_rate: Permite generar números aleatorios, hace que la salida del modelo
sea replicable. Siempre producirá los mismos resultados cuando le asigne un valor
fijo, así como los mismos parámetros y datos de entrenamiento.
Aprendizaje automático para la toma decisiones en aplicaciones riego de inteligente
28 Jimenez Daniel
MLPClassifier
En el proyecto se usó un perceptron multicapa que es una red neuronal, que a diferencia
del perceptron que es de una sola capa este presenta múltiples capas, tienen la capacidad
de resolver problemas que no son lineales, es una red compuesta por una capa de entrada
una capa de salida y una o más capas ocultas, se utiliza en AS , aprenden de la experiencia
mediante conjunto de datos o desde la intervención de un agente externo, de esta manera
se puede entrenar para que reconozca patrones y clasifique datos. Se busca que una red
neuronal se entrene para producir una salida deseada como respuesta a unos datos de
entrada, para la clasificación suelen entrenarse con el algoritmo Back Propagation es un
método de cálculo de gradiente [37], se realizó en lenguaje de programación Python
mediante la librería de Scikit-learn “from sklearn.neural_network import MLPClassifier”,
esta librería nos permite a los usuarios de manera fácil implementar ML, mediante el ajuste
de parámetros, los parámetros más importantes son:
Solver: Este parámetro sirve para la optimización de los pesos.
hidden_layer_sizes: representa el número de neurona que se van asignar en la
capa oculta.
ramdom_rate: Permite generar números aleatorios, hace que la salida del modelo
sea replicable. Siempre producirá los mismos resultados cuando le asigne un valor
fijo, así como los mismos parámetros y datos de entrenamiento.
max_iter: es el número máximo de iteraciones que el modelo usara.
Adaboost
Adaboost es un meta-algoritmo de ML, este consiste en combinar las predicciones de
múltiples clasificadores débiles es decir clasificadores de baja precisión, para obtener un
clasificador robusto de tal modo de obtener más precisión en clasificación de un conjunto
de datos. Los clasificadores débiles que se usan comúnmente son los arboles de decisión.
Se realizó en lenguaje de programación Python mediante la librería de Scikit-learn “from
sklearn. ensemble import AdaBoostClassifier”, esta librería nos permite a los usuarios de
manera fácil implementar ML, mediante el ajuste de parámetros.
n_estimators: Es el número de modelos a entrenar iterativamente. Define el
número de estimadora base, donde el valor predeterminado es 10, pero puede
aumentarlo para obtener un mejor rendimiento.
learning_rate. Es la contribución de cada modelo a los pesos y por defecto a 1.
Reducir la tasa de aprendizaje significará que los pesos aumentarán o disminuirán
en pequeña medida, lo que obligará a que el modelo de tren sea más lento (pero a
veces resultará en mejores puntuaciones de rendimiento)
Capítulo 2: Riego inteligente con Agro-sensor 29
Tesis. Ingeniería Electrónica, 2019. 29
ramdom_rate: Permite generar números aleatorios, hace que la salida del modelo
sea replicable. Siempre producirá los mismos resultados cuando le asigne un valor
fijo, así como los mismos parámetros y datos de entrenamiento.
Gradientboosting
Funciona prácticamente igual que el adaboost, es una técnica de ML, utilizado para
problemas de clasificación estadística, la única variante del este algoritmo es que usa el
gradiente descendente como una técnica de optimización, GradientBoosting funciona
agregando de forma secuencial las predicciones previas poco adecuadas, asegurando que
los errores creados anteriormente se corrijan, la diferencia radica en lo que hace con los
valores inadecuados de su predecesor. Al contrario de AdaBoost, que ajusta los pesos de
instancia en cada interacción, este método intenta ajustar el nuevo predictor a los errores
residuales cometidos por el predictor anterior [38], se realizó en lenguaje de programación
Python mediante la librería de Scikit-learn ”from sklearn. ensemble import
GradientBoostingClassifier” esta librería nos permite a los usuarios de manera fácil
implementar ML, mediante el ajuste de parámetros, los parámetros más importantes son:
min_samples_split: Número mínimo de muestras que se requiere en un nodo para
ser considerado para la división. Se utiliza para controlar el sobreajuste.
min_samples_leaf: Mínimas muestras requeridas en un terminal o nodo hoja. Los
valores más bajos deben elegirse para problemas de clases desequilibradas, ya
que las regiones en las que la mayoría de las clases minoritarias serán muy
pequeñas.
max_depth: profundidad máxima de un árbol. Se utiliza para controlar el
sobreajuste.
n_estimators: Es el número de modelos a entrenar iterativamente. Define el
número de estimadora base, donde el valor predeterminado es 10, pero puede
aumentarlo para obtener un mejor rendimiento.
learning_rate. Es la contribución de cada modelo a los pesos y por defecto a 1.
Reducir la tasa de aprendizaje significará que los pesos aumentarán o disminuirán
en pequeña medida, lo que obligará a que el modelo de tren sea más lento (pero a
veces resultará en mejores puntuaciones de rendimiento)
ramdom_rate: Permite generar números aleatorios, hace que la salida del modelo
sea replicable. Siempre producirá los mismos resultados cuando le asigne un valor
fijo, así como los mismos parámetros y datos de entrenamiento.
Aprendizaje automático para la toma decisiones en aplicaciones riego de inteligente
30 Jimenez Daniel
Figura 2-19 Flujo de información de clasificación binaria. Fuente: autor
Como se ilustra en la Figura 2-19, este sería el flujo de información de la clasificación
binaria a la hora de implementarla en nuestro entorno experimental, la Raspberry pi (el
computador) es el cerebro detrás del ML, primero los datos de las variables agroclimáticas
luz, temperatura y humedad son entregados por el Arduino Mega 2560 incorporando el
shield Agro-sensor, mediante comunicación serial por un cable USB, la Raspberry pi se
encarga de realizar las predicciones del control de riego usando el algoritmo de ML
entrenado con la base de datos de las reglas de riego propuestas. La Raspberry pi tomara
la decisión del control de los sistemas riego ON/OFF, dependiendo de que regla de riego
se use en el momento. También se encargará manejo de base de datos para registrar las
variables agroclimáticas.
Capítulo 3: Resultados
En este capítulo se presentan los resultados producto del desarrollo del proyecto. En la
sección 3.1 nos encontramos con los datos de cada ciclo de riego registrados en la base
de datos, además de las gráficas de las variables agroclimáticas de cada ciclo. En la
sección 3.2 se presenta una introducción a la interfaz de usuario remoto, por su parte en
la sección 3.3 se encuentra la aplicación de riego como clasificación binaria en la cual se
presentan los puntajes F1-score y se comparan los clasificadores con base a los
resultados; también se encuentran las gráficas obtenidas del riego automático empleando
adaboost.
3.1 Recolección de Datos
A continuación, se presentan los datos obtenidos en las reglas de riego propuesta que se
encuentran en el capítulo 2 en la Tabla 2-1.
3.1.1 Ciclo 1
El ciclo 1 tuvo una duración de 20 días con un periodo de muestreo de 10 minutos, este
ciclo usa la regla de irrigación (Irrigación = 1; si Humedad > 390 y Luz > 10).
Figura 3-1 Gráficos del Ciclo 1 de las variables agroclimáticas. Fuente: autor
En la recolección de datos del ciclo 1, hecha por nuestro entorno experimental y
almacenada en la base de datos, se construyeron los gráficos de las variables
agroclimáticas en lenguaje Python, tal y como se ve en la Figura 3-1. Adicionalmente se
observa que en la gráfica azul se presentaron 7 picos máximos de humedad mayores a
390, esto implica un nivel de humedad bajo es decir la tierra está en un estado seco. En la
señal de luz, que es la gráfica color verde, se aprecia que un comportamiento periódico
Aprendizaje automático para la toma decisiones en aplicaciones riego de inteligente
32 Jimenez Daniel
que obedece a los cambios de iluminación diarios, además uno de los días alcanzo un
valor máximo por encima de 600, más que los días anteriores. Por su parte, en la
temperatura (grafica de color negro) se observa que es menor cuando la luz es 0 es decir
en las noches las temperaturas son tienden a ser bajas en el suelo. Finalmente, como se
ve en el grafico del actuador (motobomba) o Target, que es de color rojo, se presentan dos
estados de activación de la motobomba, el estado ON que se representa con 1 lógico y
estado OFF representado con 0. Como se ve en la gráfica en los 20 días, hubo 7 momentos
de riego que cumplieron con la regla propuesta los cuales están señalados con un circulo
azul, esto nos indica que la motobomba estuvo en estado ON (1 lógico) haciendo la
actividad de irrigación en ese momento, también se aprecia que en la mayor parte del
tiempo la motobomba se encuentra en estado OFF o 0.
3.1.2 Ciclo 2
El ciclo 1 tuvo una duración de 20 días con un periodo de muestreo de 10 minutos, este
ciclo usa la regla de irrigación (Irrigación = 1; si Humedad > 390 y Luz = 0 y Temperatura
<25ºC).
Figura 3-2 Gráficos del Ciclo 2 de las variables agroclimáticas. Fuente: autor
En la recolección de datos del ciclo 2, hecha por nuestro entorno experimental y
almacenada en la base de datos, se construyeron los gráficos de las variables
agroclimáticas en lenguaje Python , tal y como se ve en la Figura 3-2, Adicionalmente se
observa en la gráfica azul se presentaron 5 picos máximos de humedad mayores a 390
menores al ciclo anterior, en este ciclo cuando la luz es igual a cero, se activa la
motobomba, es decir que la actividad de riego se hace en las noches, la señal de luz que
es la gráfica verde se aprecia que es un comportamiento periódico que obedece a los
cambios de iluminación diarios, además uno de los días alcanzo un valor máximo por
Capítulo 3: Resultados 33
Tesis. Ingeniería Electrónica, 2019. 33
encima de 400, más que los días anteriores, el riego dependía en este ciclo de otra
variable que es la temperatura (grafica de color negro), se aprecia que solo cuando la
temperatura del suelo es menor a 25ºC. Finalmente, como se ve en el grafico del actuador
(motobomba) o Target, que es de color rojo, se presentan dos estados de activación de la
motobomba, el estado ON que representa con 1 lógico y estado OFF representado con 0.
Como se ve en la gráfica en los 20 días, hubo 5 momentos de riego que cumplieron con la
regla propuesta, los cuales están señalados con un circulo azul, esto nos indica que la
motobomba estuvo en estado ON (1 lógico) haciendo la actividad de irrigación en ese
momento, también se aprecia que en la mayor parte del tiempo la motobomba se encuentra
en estado OFF o 0.
3.1.3 Ciclo 3
El ciclo 3 tuvo una duración de 15 días con un periodo de muestreo de 10 minutos, este
ciclo usa la regla de irrigación (Irrigación = 1; si Humedad > 390 y Luz > 10 y Temperatura
<25ºC).
En la recolección de datos del ciclo 3, hecha por el entorno experimental y almacenada en
la base de datos, se construyeron los gráficos de las variables agroclimáticas en lenguaje
Python, tal y como se ilustra en la Figura 3-3. Adicionalmente, se observa que en la curva
azul se presentaron 5 picos máximos de humedad mayores a 390 al igual que en el ciclo
2, aunque esté presente menos días de datos. En la señal de luz, que es la gráfica color
verde, se aprecia un comportamiento periódico que obedece a los cambios de iluminación
diarios, en ese ciclo la única diferencia que hay respecto al ciclo anterior es que el riego se
hace cuando hay presencia de luz. La activación de la motobomba también depende de la
temperatura que es la gráfica de color negro, y solo cuando la temperatura del suelo era
menor a 25ºC se efectuaba la irrigación. Finalmente, como se ve en el grafico del actuador
Figura 3-3 Gráficos del ciclo 3 de las variables agroclimáticas. Fuente: autor
Aprendizaje automático para la toma decisiones en aplicaciones riego de inteligente
34 Jimenez Daniel
(motobomba) o Target, que es de color rojo, se presentan dos estados de activación de la
motobomba, el estado ON que se representa con 1 lógico y estado OFF representado con
0. Como se ve en la gráfica en los 20 días, hubo 5 momentos de riego que cumplieron con
la regla propuesta, los cuales están señalados con un circulo azul, esto nos indica que la
motobomba estuvo en estado ON (1 lógico) haciendo la actividad de irrigación en ese
momento, también se aprecia que en la mayor parte del tiempo la motobomba se encuentra
en estado OFF o 0.
3.2 Interfaz de Usuario para Supervisión Remota
En la interfaz de usuario se diseñó utilizando la librería de Flask y también HTML para el
manejo de las imágenes, colores y texto de la interfaz, el usuario tiene que estar conectado
directamente a la misma red del dispositivo, ya que esta funciona de forma local, al entrar
en el navegador ingresando la dirección IP del servidor de la interfaz el usuario se
encuentra con una página como la que se presenta en la Figura 3-4.
Figura 3-4 Navegador al ingresar a la interfaz. Fuente: autor
En la Figura 3-4, en la interfaz podemos encontrar el valor de las variables agroclimáticas:
luz, temperatura y humedad en tiempo real, también presenta variables como tanque
donde se muestra el nivel del agua del entorno experimental. Al final se encuentran los
botones de interacción ON/OFF, estos nos permiten manipular el sistema de irrigación
remotamente. La interfaz permite monitorear y controlar el riego del entorno experimental,
lo que lo facilita las tareas del usuario. El usuario se encarga de realizar la actividad de
irrigación cuando él lo crea conveniente, dependiendo de las variables agroclimáticas que
se presenten en el momento. Esta opción de interfaz no se utiliza en los esquemas de
aprendizaje, únicamente en un modo manual y de registro de datos.
Capítulo 3: Resultados 35
Tesis. Ingeniería Electrónica, 2019. 35
Figura 3-5 Variables y botón de control de riego. Fuente: autor
3.3 Resultados de Riego como Clasificación Binaria
Se utilizaron los clasificadores: Adaboost, Gradientboosting, SGDClassifier y
MLPClassifier, cada uno de estos es un modelo de aprendizaje supervisado. Se utilizó la
base de datos de las reglas de irrigación para entrenar cada algoritmo con los 3 ciclos
propuestos, de modo que cada algoritmo clasifique correctamente el Target, es decir la
variable que contiene las acciones de riego del sistema. Estás acciones de riego se
identificaron como las clases ON/OFF, el estado ON ocurre cuando las variables
agroclimáticas cumplen con la regla de riego establecida y se le asigna un valor binario 1,
de otro lado el estado OFF se da cuando las variables agroclimáticas no cumplen la regla
establecida por lo cual se le asigna un valor binario 0. De acuerdo con lo anterior, se puede
decir que se trata de una clasificación binaria, con datos de entrada que son las variables
agroclimáticas y con una salida binaria cuyo estado depende de las entradas. Para el
entrenamiento de los algoritmos se usó 70% de los datos en cada uno de los ciclos y el
30% de los datos se utilizó para la validación. El proceso de validación se basa en una
comparación cuantitativa mediante el indicador F1-score, el cual presenta el asertividad
del predictor respecto a una referencia (el Target en este caso). El indicador F1-socre se
usa comúnmente en el análisis estadístico de clasificadores de todo tipo y su valor tiene
un rango entre 0 y 1, siendo 1 el valor ideal. Su cálculo se basa en un conteo de número
de verdaderos positivos (VP), verdaderos negativos (VN), falsos positivos (FP) y falsos
negativos (FN), tal y como se presenta a continuación:
𝑃𝑟𝑒𝑐𝑖𝑠𝑖𝑜𝑛 = 𝑉𝑃
𝑉𝑃 + 𝐹𝑃
Ecuación 3.1
𝑅𝑒𝑐𝑎𝑙𝑙 = 𝑉𝑃
𝑉𝑃 + 𝐹𝑁
Ecuación 3.2
Aprendizaje automático para la toma decisiones en aplicaciones riego de inteligente
36 Jimenez Daniel
𝐹1 = 2𝑥𝑃𝑟𝑒𝑐𝑖𝑠𝑖𝑜𝑛 𝑥 𝑅𝑒𝑐𝑎𝑙𝑙
𝑃𝑟𝑒𝑐𝑖𝑠𝑖𝑜𝑛 + 𝑅𝑒𝑐𝑎𝑙𝑙
Ecuación 3.3
A continuación, la Tabla 3-1 presenta los puntajes de F1-score, obtenidos en la validación
para cada clasificador y cada ciclo en cada estado:
Tabla 3-1 F1-Score obtenido en validación experimental. Elaborada por el autor
Adaboost Gradientboosting SGDClassifier MLPClassifier
Clase Clase Clase Clase
Off On Off On Off On Off On
Ciclo 1 1.000 1.000 0.998 0.667 0.995 0.429 0.998 0.400
Ciclo 2 0.996 0.400 0.999 0.500 0.999 0.667 0.998 0.571
Ciclo 3 0.999 0.667 0.999 0.667 0.998 0.000 0.998 0.000
Promedio 0.998 0.689 0.998 0.611 0.997 0.365 0.998 0.323
TOTAL 0.8435 0.8045 0.681 0.6605
Primer ciclo de riego:
Los resultados experimentales de validación en Adaboost alcanzaron un puntaje
perfecto de 100%, es decir que el modelo aprendió las reglas de irrigación
completamente. Gradientboosting en la Clase OFF acertó en las predicciones un
99.8% y ON solo un 66.7%. SGDClassifier acertó en la clase OFF con una
puntuación de 99.5% y en ON se equivocó en las predicciones ya que tuvo
puntuación de 42.9%. Finalmente, MLPClassifier acertó en las predicciones de la
clase OFF con 99.8 y ON solo un 40%. En este ciclo el mejor clasificador fue
Adaboost.
Segundo ciclo de riego:
Los resultados experimentales de validación en Adaboost bajaron su rendimiento
respecto al ciclo anterior: en la clase OFF obtuvo un 99.6% y en la clase ON obtuvo
únicamente 40%, una puntación mucho menor al ciclo pasado. Gradientboosting
también bajo su rendimiento: en la clase OFF obtuvo un 99.9% y en la clase ON
obtuvo 50%. SGDClassifier en la clase OFF obtuvo un 99.9% y en la clase ON el
puntaje fue de 66.7% mejor que en el ciclo 1. Finalmente, MLPClassifier en la clase
OFF obtuvo un 99.8% y en la clase ON obtuvo 57.1% mejor que el anterior ciclo 1.
En este ciclo el mejor clasificador fue SGDClassifier.
Tercer ciclo de riego:
Los resultados experimentales de validación en Adaboost obtuvo en la clase OFF
un 99,9% y en la clase ON un 66,7% subió de rendimiento respecto al anterior ciclo,
En Gradientboosting sus puntuaciones en la clase OFF obtuvo un 99,9% y en la
Capítulo 3: Resultados 37
Tesis. Ingeniería Electrónica, 2019. 37
clase ON un 66,7%, SGDClassifier fallo a la hora de hacer las predicciones ya que
todo el set de datos lo determino como la clase OFF por eso obtuvo en la clase
OFF es de 99,8% y en la clase ON un 0%, Finalmente, MLPClassifier sucedió lo
mismo que el anterior clasificador obtuvo en la Clase OFF un 99,8% y la clase ON
un 0%.En este ciclo los mejores clasificadores fueron Adaboost y Gradientboosting.
En general, se promediaron los resultados de los ciclos que se obtuvieron en cada
clasificador en cada una de las clases, con la intención de calcular un único valor que
determine cuál es el mejor clasificador. En general, el clasificador con mayor desempeño
fue Adaboost, obteniendo una puntuación de 84.35%, el segundo mejor clasificador fue
Gradientboosting con 80.45% una diferencia pequeña con respecto a Adaboost, el tercer
mejor clasificador fue SGDClassifier con una puntuación de 68.1% y finalmente
MLPClassifier con una puntuación de 66.05%. Una observación al respecto sobre los datos
generales y común a todos los clasificadores consiste en la diferencia de puntuación
obtenida en la clase off respecto a la clase on, siendo en todos los casos mayor en la clase
off.
3.3.1 Riego Automático
Como se comprobó en los resultados de los clasificadores supervisados, el método
Adaboost fue el más eficiente, por lo tanto, se generó un archivo.sav que contiene el
modelo entrenado para cada ciclo de riego y se implementó en la Raspberry pi mediante
lenguaje Python, con el fin de realizar una validación del clasificador en modo automático,
evaluando sus acciones de irrigación con base a las variables agroclimáticas reales en
forma de control de riego.
Ciclo 1
Validación del modo automático para el ciclo 1 en una duración de 7 días con la regla de
irrigación: Irrigación = 1; si Humedad > 390 y Luz > 10.
Aprendizaje automático para la toma decisiones en aplicaciones riego de inteligente
38 Jimenez Daniel
Figura 3-6 Gráficos del ciclo 1 del riego automático. Fuente: autor
Como se ve en la Figura 3-6, se construyó el grafico de las variables agroclimáticas
obtenidas en lenguaje Python, en la gráfica de color azul se presentaron 6 picos máximos
de humedad mayores a 390, esto implica un nivel de humedad bajo es decir la tierra se
encuentra en un estado seco. En la luz, que es la gráfica verde se aprecian las 7 curvas
de luz, donde se aprecia un comportamiento periódico que obedece a los cambios de
iluminación diarios, en este ciclo la temperatura que es la gráfica de color negro no era
importante ya que según la regla de irrigación se tenía no más en cuenta las variables
humedad y luz. La gráfica de color rojo indica los estados de la motobomba definidos por
el clasificador, donde estos estados se le conoce como las clases ON/OFF, el estado ON
se representa con 1 lógico y estado OFF representado con 0, se observa que existieron 6
momentos de riego que se encuentran señalados con un circulo azul, donde el clasificador
hizo la predicción correcta según la regla de riego establecida, por lo tanto, se puede decir
que el clasificador trabajo correctamente, al acertar en que clase pertenecía cada una de
sus variables de entrada de este modo pudo establecer una correcta acción de riego en
todo el tiempo de pruebas.
Ciclo 2
Validación del modo automático para el ciclo 1 en una duración de 10 días con la regla de
irrigación: Irrigación = 1; si Humedad > 390 y Luz = 0 y Temperatura <25ºC.
Capítulo 3: Resultados 39
Tesis. Ingeniería Electrónica, 2019. 39
Figura 3-7 Gráficos del ciclo 2 del riego automático. Fuente: autor
Como se ve en la Figura 3-7, la grafica de color azul presenta 4 picos maximos de
humedad mayores a 390, hubo un pico de humedad que se presentó mayor a 400
indicando que en ese momento la tierra se encontraba bastante seca. en la grafica de color
verde se aprecian las 10 curvas de luz donde se aprecia un comportamiento periódico que
obedece a los cambios de iluminación diarios. En este ciclo cuando la luz es igual a cero,
se activa la motobomba, es decir que la actividad de riego se hace en las noches; el riego
dependia en este ciclo de otra variable que es la temperatura (grafica de color negro) y se
aprecia que solo cuando la temperatura del suelo es menor a 25ºC se activa la motobomba.
La gráfica de color rojo indica los estados de la motobomba definidos por el clasificador,
donde estos estados se le conoce como las clases ON/OFF, el estado ON se representa
con 1 lógico y estado OFF representado con 0, se observa que existieron 4 momentos de
riego que se encuentran señalados con un circulo azul, donde el clasificador hizo la
predicción correcta según la regla de riego establecida, por lo tanto, se puede decir que el
clasificador trabajo correctamente, al acertar en que clase pertenecía cada una de sus
variables de entrada de este modo pudo establecer una correcta acción de riego en todo
el tiempo de pruebas.
Ciclo 3
Validación del modo automático para el ciclo 1 en una duración de 15 días con la regla de
irrigación: Irrigación = 1; si Humedad > 390 y Luz > 10 y Temperatura <25ºC.
Aprendizaje automático para la toma decisiones en aplicaciones riego de inteligente
40 Jimenez Daniel
Figura 3-8 Gráficos del ciclo 3 del riego automático. Fuente: autor
Como se ve en la Figura 3-8, se graficaron las variables agroclimáticas obtenidas en
lenguaje python, en la grafica de color azul se presentaron 2 picos maximos de humedad
mayores a 390, esto implica un nivel de humedad bajo, se observa en la grafica que para
alcanzar su primer pico, el nivel de humedad tardo 10 dias en pasar de un estado humedo
a seco, esto se debe que la tierra en la huerta se encontraba muy humeda por lo que se
prolongo la accion de riego, en la grafica de color verde se aprecian las 15 curvas de luz
de cada uno de los días, en este ciclo. El riego se aplica cuando exitia presencia de luz,
este tambien depende de la temperatura que es la grafica de color negro, solo cuando la
temperatura del suelo era menor a 25ºC se efectuaba la irrigacion. La gráfica de color rojo
indica los estados de la motobomba definidos por el clasificador, donde estos estados se
le conoce como las clases ON/OFF, el estado ON se representa con 1 lógico y estado OFF
representado con 0, se observa que existieron 2 momentos de riego que se encuentran
señalados con un circulo azul, donde el clasificador hizo la predicción correcta según la
regla de riego establecida, por lo tanto, se puede decir que el clasificador trabajo
correctamente, al acertar en que clase pertenecía cada una de sus variables de entrada
de este modo pudo establecer una correcta acción de riego en todo el tiempo de pruebas.
Capítulo 4: Conclusiones y Recomendaciones
4.1 Conclusiones
Se llevó a cabo un análisis de los datos registrados, dando lugar a descriptores de
información de entrada, atendiendo la investigación previa presentada en [6].
Adicionalmente, se implementaron como alternativas 4 clasificadores supervisados
en etapas de entrenamiento y validación con los datos registrados en la base de
datos. El clasificador supervisado Adaboost demostró ser el de mejor desempeño
con una puntuación de F1-score general de 84.35%, seguidamente el clasificador
supervisado Gradientboosting obtuvo una puntuación de 80.45%, SGDClassifier
obtuvo una puntuación de 68%1 no pudiendo alcanzar un buen rendimiento como
los anteriores clasificadores, finalmente el clasificador MLPClassifier fue la
alternativa con menor puntuación obteniendo 66.05%. Tras evaluar los resultados
generales y comparar las predicciones de ambas clases en los tres ciclos, se
encontró que todos los clasificadores presentaron mayor dificultad en acertar en la
clase On, esto puede deberse a un alto número de Falso Positivos a causa de un
entrenamiento con una cantidad de datos insuficientes, puesto que el modelo solo
tiene información de aprendizaje en los picos de irrigación, es decir 4 datos para el
ciclo 1, 3 datos para el ciclo 2 y 3 datos para el ciclo 3.
Como conclusión de este proyecto, se demostró que utilizar aprendizaje
supervisado en aplicaciones de riego inteligente es una opción válida y viable como
sistema binario de control, incluso ante una baja densidad de datos para el
entrenamiento y variaciones en las referencias a través de las reglas de irrigación,
obteniendo una adaptación con errores de predicción menores al 20% para el caso
de la primera validación y 0% para el caso de la validación experimental final.
4.2 Recomendaciones
Como recomendaciones para trabajos futuros en esta línea se sugiere tener en cuenta los
siguientes puntos:
Es importante contar con un lugar adecuado para el entorno experimental que
cumpla con las condiciones óptimas: adecuada conexión a internet vía cable
ethernet o WiFi, conexión a red eléctrica y también cumplir con los factores
climáticos cambiantes y dinámicos de manera que el sistema tenga información
suficiente de aprendizaje en todos los casos.
42 Título de la tesis o trabajo de investigación
42 Jimenez Daniel
Aunque los dos mejores porcentajes de predicción superan el 80%, se comprobó
que utilizando una ventana de datos más grande es posible mejorar la predicción,
es decir, se recomienda generar una base de datos más completa, donde cada
ciclo de riego cuente con al menos un mes de datos registrados y así garantizar
mejores resultados en el entrenamiento de clasificadores supervisados.
Aunque en el proyecto se desarrolló una interfaz gráfica, a futuro se puede hacer
una mejora sobre la misma, incluyendo una función donde el usuario configure sus
reglas de irrigación mediante la interacción de botones ON/OFF o niveles de señal
de cada sensor. Posteriormente, con base en esta información implementar
clasificadores supervisados para el control de riego por aprendizaje y así evaluar
su desempeño.
4.3 Aportes
A continuación, se enuncian algunos de los aportes al semillero SI2C por parte del
desarrollo del presente proyecto:
Repositorio del software desarrollado en el proyecto “Smart AgroSensor for
Irrigation Applications” el cual se puede encontrar disponible online en el
siguiente Link: https://github.com/HaroldMurcia/smartAgroS
Participación en la muestra de ingeniera electrónica 2018A
Participación en la categoría de Investigación en curso en el XVI Encuentro
Departamental de semilleros de investigación RedColsi Nodo Tolima 2018 en la
ciudad de Ibagué, Tolima. Fecha 18 y 19 de mayo de 2018.
Participación en la categoría Investigación en curso en el XXI Encuentro Nacional
y XV Encuentro Internacional de Semilleros de Investigación –ENSI 2018 en la
ciudad de Pasto, Nariño. Fecha: 11 al 14 de octubre de 2018.
Bibliografía 43
Tesis. Ingeniería Electrónica, 2019. 43
Referencias Bibliográficas
[1] Organización de las Naciones Unidas Para La Alimentación y La Agricultura.,
Agricultura y seguridad alimentaria. 2016.
[2] C. Lau, A. Jarvis, and J. Ramírez, “Agricultura colombiana: Adaptación al cambio
climático,” CIAT, Políticas, en síntesis, p. 4, 2013.
[3] M. Rodríguez, H. Mance, X. Barrera, and C. García, Cambio Climático: Lo que está
en juego. 2015.
[4] IDEAM, 2014 - Estudio Nacional del Agua - ENA 2014. 2014.
[5] Y. Huang and L. Cuicui, ““Real-time monitoring system for paddy environmental
information based on DC powerline communication technology,” 2017.
[6] H. Murcia-Moreno, B. González-Quintero, and J. López-Gaona, “An online learning
method for embedded decision support in agriculture irrigation,” Adv. Intell. Syst. Comput.,
vol. 687, pp. 234–249, 2018.
[7] M. Harold and J. López, “Towards the Connection of Agriculture with the Internet of
Things in Colombian farms,” 2018.
[8] I. Villamor and J. Sativa, “Generación y simulación de un modelo para mejorar los
criterios de riego en los cultivos de mini clavel de la sabana de Bogotá mediante técnicas
de inteligencia artificial,” 2016.
[9] A. Tyagi, A. A. Reddy, J. Singh, and S. R. Chowdhury, “A low cost portable
temperature-moisture sensing unit with artificial neural network based signal conditioning
for smart irrigation applications,” Int. J. Smart Sens. Intell. Syst., vol. 4, no. 1, pp. 94–111,
2011.
[10] M. Culebro de la Piedra, “Modelo neurodifuso para el control de humedad del suelo
en cultivo hidropónico para la planta de tomate. Neurofuzzy model for the soil moisture
control in hydroponic crop for tomato plant,” Rev. Tecnol. Digit., vol. 6, no. 1, pp. 43–56,
2016.
[11] M. Mamani, M. Villalobos, and R. Herrera, “Sistema web de bajo costo para
monitorear y controlar un invernadero agrícola,” Ingeniare. Rev. Chil. Ing., vol. 25, no. 4,
pp. 599–618, 2018.
[12] V. D. Velasco Martínez, F. G. Flores García, G. González Cervantes, M. D. J. Flores
Medina, and H. A. Moreno Casillas, “Desarrollo y validación de una estación meteorológica
automatizada de bajo costo dirigida a agricultura,” Rev. Mex. Ciencias Agrícolas, vol. 6, no.
6, p. 1253, 2015.
44 Título de la tesis o trabajo de investigación
44 Jimenez Daniel
[13] J. G. G. Padilla Laura, Mayerly Ríos Marín, “(Agricultural Monitoring System Using
Wireless Sensor Networks,” 2016.
[14] L. S. Pereira, J. A. de Juan Valero, M. R. Picornell Buendía, and J. M. T. Martín-
Benito, El riego y sus tecnologías. 2010.
[15] R. Fernández, M. Milla, R. Ávila, J. Berengena, P. Gavilán, and N. Oyonarte, Riego
por Superficie. 2010.
[16] R. Fernández Gómez et al., Riego por Aspersión. 2010.
[17] R. Fernández Gómez et al., Riego Localizado. 2010.
[18] C. Pérez, J. Villalba, and M. Almanza, “Fenología del roble (Quercus humboldtii
bonpland) En Popayán (Cauca, Colombia),” Biotecnol. en el Sect. Agropecu. y
Agroindustrial, vol. 2, no. 2, pp. 145–154, 2013.
[19] M. Ríos and J. Quiros, “El frijol (Phaseolus vulgaris L.): cultivo, beneficio y
variedades,” p. 193, 2015.
[20] a Martín Zurro, “Buenas prácticas agrícolas (BPA) en la producción de fríjol
voluble,” Gob. Colombia., vol. 34, no. 8, pp. 396–396, 2005.
[21] A. Y. Forestal, “Cultivo de frijol,” 2018.
[22] A. Cama, E. De la Hoz, and D. Cama, “Las redes de sensores inalámbricos y el
Internet de las cosas,” Inge Cuc, vol. 8, no. 1, pp. 163–172, 2012.
[23] S. A. Nikolidakis, D. Kandris, D. D. Vergados, and C. Douligeris, “Energy efficient
automated control of irrigation in agriculture by using wireless sensor networks,” Comput.
Electron. Agric., 2015.
[24] P. M. Green, “A wireless sensor network for in-crop sensing,” 2013.
[25] M. Kubat, “Introduction to Machine Learning,” 2015.
[26] L. Rouhiainen, Inteligencia artificial: 101 cosas que debes saber hoy sobre nuestro
futuro. 2018.
[27] J. Monte F. Hancock, Practical Data mining. 2012.
[28] F. A. Contreras, “Introducción a machine learning,” 2016.
[29] S. Raschka, Python Machine Learning, no. 1. 2014.
[30] P. Ponce Cruz, Inteligencia Artificial con aplicaciones a la ingeniería. 2010.
Bibliografía 45
Tesis. Ingeniería Electrónica, 2019. 45
[31] R. Cervantes-Osornio, R. Arteaga-Ramírez, M. A. Vázquez-Peña, W. Ojeda-
Bustamante, and A. Quevedo-Nolasco, Redes neuronales artificiales en la estimación de
la evapotranspiración de referencia. 2011.
[32] W. Khepri, “Redes Neuronales, ¿qué son? Introducción a las redes neuronales.,”
Nov 2, 2018, 2018. [Online]. Available: https://medium.com/@williamkhepri/redes-
neuronales-que-son-a64d022298e0.
[33] H. Galán and A. Martínez, “Inteligencia artificial. Redes neuronales y Aplicaciones,”
Univ. Carlos III Madrid, J., 2010.
[34] A. Navlani, “AdaBoost Classifier in Python,” November 20th, 2018. [Online].
Available: https://www.datacamp.com/community/tutorials/adaboost-classifier-python.
[35] scikit-learn user guide Release 0.21.1. 2019.
[36] S. Raschka, “What’s the difference between gradient descent and stochastic
gradient descent?,” Nov 17, 2015. [Online]. Available: https://www.quora.com/Whats-the-
difference-between-gradient-descent-and-stochastic-gradient-descent.
[37] P. Larrañaga, I. Inza, and A. Moujahid, “Tema 8. Redes Neuronales,” Researchgate,
2015.
[38] B. M. Diogo, “Boosting with AdaBoost and Gradient Boosting,” Sep 20, 2018.
[Online]. Available: https://medium.com/diogo-menezes-borges/boosting-with-adaboost-
and-gradient-boosting-9cbab2a1af81.