APRENDIZAJE AUTOMÁTICO PARA TOMA DECISIONES EN ...

56
APRENDIZAJE AUTOMTICO PARA TOMA DECISIONES EN APLICACIONES DE RIEGO INTELIGENTE Daniel Jair Jiménez Tovar Facultad de Ingeniería Programa Ingeniería Electrónica Ibagué, 2019

Transcript of APRENDIZAJE AUTOMÁTICO PARA TOMA DECISIONES EN ...

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.