PROTOTIPO DE SOLUCIÓN IoT CON TECNOLOGÍA “LoRa” EN MONITOREO DE CULTIVOS AGRÍCOLAS.
JORDAN CAMILO TRIANA USECHE RONALD ESTIVEN RODRIGUEZ LEGUIZAMO
UNIVERSIDAD DISTRITAL FRANCISCO JOSÉ DE CALDAS FACULTAD TECNOLÓGICA INGENIERÍA EN TELECOMUNICACIONES BOGOTÁ 2018 1
PROTOTIPO DE SOLUCIÓN IoT CON TECNOLOGÍA “LoRa” EN MONITOREO DE CULTIVOS AGRÍCOLAS.
JORDAN CAMILO TRIANA USECHE RONALD ESTIVEN RODRIGUEZ LEGUIZAMO
TRABAJO DE GRADO PARA OPTAR AL TÍTULO DE: INGENIERO EN TELECOMUNICACIONES
DIRECTOR: ING. GIOVANI MANCILLA GAONA
UNIVERSIDAD DISTRITAL FRANCISCO JOSÉ DE CALDAS FACULTAD TECNOLÓGICA INGENIERÍA EN TELECOMUNICACIONES BOGOTÁ 2018 2
Resumen Esta monografía consiste en el desarrollo teórico-práctico de un prototipo de solución IoT para el monitoreo de cultivos agrícolas, implementando una de las nuevas tecnologías en el sector IoT “LoRa”, quien cuenta con un bajo consumo de energía y larga distancia (mayor a 8Km en línea de vista) entre el dispositivo transmisor y el dispositivo receptor, con el fin de conocer las variables físicas que afectan directamente al proceso de un cultivo a través de un aplicativo web. La adquisición de datos provenientes de los sensores (temperatura, humedad, radiación y Ph) tienen comunicación directa con el sistema arduino + LoRa shield, a esto se le determina como “NODO”; el nodo envía los datos a través de comunicación LoRa hacia el respectivo Gateway (concentrador). El Gateway envía los datos de cada nodo (tres nodos) a un servidor público llamado “thingspeak”, este servidor cuenta con un “id” y “canal id” para determinar que nodo está enviando la información. La información que se encuentra en cada canal se enlaza a través de un “API key” el cual permite realizar la implementación en el programa Visual Studio de un Web Service. Se diseña una Base de Datos relacional en SQL server, donde se almacenan los datos de forma ordenada para su posterior procesamiento, por medio de procedimientos almacenados en SQL server se realiza el respectivo tratamiento de la información que se va a graficar en el aplicativo web (Estadísticas, alertas, datos de sensores para cada nodo). El aplicativo web posee una interface agradable al usuario permitiendo visualizar la información de los sensores de cada nodo, estadísticas en tiempo real y alertas cuando las medidas no están dentro de los parámetros que se pueden establecer mediante el mismo aplicativo. Se presenta así un desarrollo por capítulos que incluye cada una de las herramientas utilizadas para llegar al cumplimiento de los objetivos del proyecto planteados, los cuales se dan a conocer en el Capítulo 1 que presenta la introducción general del mismo y sus alcances. En el Capítulo 2 se da a conocer el marco teórico que implica cada recurso utilizado como referencia del desarrollo. El Capítulo 3 muestra el proceso metodológico de elaboración del proyecto. El Capítulo 4 muestra los resultados y análisis obtenidos; y finalmente el Capítulo 5 brinda las conclusiones definitivas encontradas.
3
Abstract This paper consists in the theoretical-practical development of a prototype IoT solution for the monitoring of agricultural crops, implementing a new technology in the IoT sector "LoRa", the account with low energy consumption and long distance 8Km in line of sight ) between the transmitting device and the receiver of the device, in order to know the physical variables that directly enter the process of a culture through a website. The acquisition of data from the sensors (temperature, humidity, radiation and Ph) have direct communication with the arduino system + LoRa shield, a this is determined as "NODE"; the node sends the data through LoRa communication to the respective Gateway (hub). The Gateway sends the data of each node to a public server called "thingspeak", this server has an "id" and "channel id" to determine which node is sending the information. The information found in each channel is connected through an "API key" that allows the implementation in the Visual Studio program of a Web Service. A relational database is designed in SQL Server, where the data is stored in an orderly manner for further processing, by means of stored procedures in SQL Server the respective processing of the information that is graphed in the web application is performed (Statistics, alerts, sensor data for each node). The web application has a suitable interface for the user that allows to visualize the information of the sensors of each node, real-time statistics and alerts when the measurements are not within the parameters that can be established by the same application. Then, is presented the development chapters including each of the tools used to reach the fulfillment of the objectives of the project raised, which are disclosed in Chapter 1, that presents the general introduction of the project and its scope. Chapter 2 is disclosed which involves the theoretical framework used as a reference each resource development. Chapter 3 shows the methodological process of developing the project. Chapter 4 shows the results obtained; and finally Chapter 5 provides the definitive conclusions found.
4
Tabla de contenido 1. Introducción 1.1 Planteamiento del problema 1.2 Objetivos 1.2.1 Objetivo General 1.2.2 Objetivos Específicos 1.3 Estado del arte 2. Marco Teórico 2.1 IoT (internet de las cosas) 2.2 LoRa (Especificaciones técnicas) 2.3 LoRa (Ventajas) 2.4 Clasificación de dispositivos LoRa 2.5 LoRa Dragino (Shield) 2.5.1 Semtech 1276 "LoRa" 2.6 Arduino 2.7 Variables físicas 2.7.1 Humedad 2.7.2 Temperatura 2.7.3 Radiación UV 2.7.4 Ph 2.8 Gateway 2.8.1 Dragino LG-01S 2.9 Web service 2.10 Servidor Web 2.10.1 Servidor Web "Thingspeak" 2.11 Microsoft Visual Studio 2.12 Base de datos 2.13 Cultivos agrícolas (Fresas) 2.13.1 Condiciones climatológicas 2.13.2 Suelo 2.13.3 Ciclo fenológico del cultivo 2.13.4 Actividades del cultivo 3. Metodología e implementación 3.1 Arquitectura IoT 3.2 Criterios en selección de tecnología 3.2.1 Criterios en selección de tecnología unidad de control 3.2.1.1 Comparación tecnológica unidad de control 3.2.2 Comparación tecnológica Lpwans 3.3 LoRa “preferencia tecnologica” 5
3.3.1 LoraWan 3.3.2 Factor de dispersión (sf) 3.3.3 Trama de comunicaciones 3.4 Sensores 3.4.1 Comparación tecnológica de sensores 3.4.2 Adquisición de datos 3.5 Configuración de la red LoRa 3.6 Gateway Dagino LG-01 3.6.1 Ventajas de Gateway 3.6.2 Configuración del Gateway con cada nodo 3.7 Modelo de conexión de datos 3.8 Servidor ThingsSpeak 3.8.1 API de la lectura thinkgspeak 3.9 Web Service 3.10 Base de Datos 3.11 Procesamiento de la Información 3.12 Modelo de conexión 3.12.1 Aplicativo Web 4. Resultados, análisis y obtención de Datos 4.1 Hardware 4.2 Sensores 4.3 Comunicación LoRa 4.3.1 Longitud de onda 4.3.2 Perdidas por propagación 4.4 Gateway 4.5 Aplicativo WEB 4.5.1 Obtención de los datos del servidor thingspeak 4.5.2 Tratamiento de los datos 4.5.3 Alertas 5. Conclusiones 6. Bibliografía
Lista de Figuras Fig 1. Implementacíon de la red basada en WMSN Fig 2. Sistema inalámbrico para detección de amenzas, con notificación en tiempo real Fig 3. Sistema “cloud” para lectura y analisis de los datos. Fig 4. Modulo inalámbrico LoRa en una topologia de red malla. Fig 5. Estructura del sistema inalámbrico Fig 6. Sistema de adquisición y aplicación de datos en base a tecnología LoRa 6
Fig 7. Estructura básica red LoRa Fig 8. Lora shield para arduino Fig 9. Transceptor SX1276 Fig 10. Arduino uno Fig 11. Sensor de humedad de tierra para arduino Fig 12. Sensor de temperatura para superficies terrestres y ambientales Fig 13. Sensor de radiación UV Fig 14. Sensor de PH con adecuación de circuito Fig 15. Gateway Dragino LG-01S Fig 16. Resumen del sistema LG-01S Fig 17. Modelo cliente/servidor Fig 18. Servidor WEB Thingspeak Fig 19. Etapas desarrollo cultivo de fresas Fig 20. Distribución calendario cultivo de fresas Fig 21. Características tipo de fresa Fig 22. Arquitectura sistemas IoT Fig 23. Microcontroladores de 8 bits – M68HC05 MOTOROLA Fig 24. Microcontroladores de 8 bits – ATMEL Fig 25. Comparación microcontroladores MICROCHIP Fig 26. Comparación tecnológica entre ARDUINOS Fig 27. Arquitectura sistema LoRa Fig 28. Relación velocidad/distancia Fig 29. Estructura PHY Uplink Fig 30. Estructura PHY Uplink Fig 31. Replica en la trama de datos Fig 32. Error en la trama de comunicaciones Fig 33. Protocolo de capa de control de acceso a medios Fig 34. Circuito para la adquisición de datos de los sensores Fig 35. Nodos con los “Id” correspondientes Fig 36. Circuito LoRa Shield arduino 7
Fig 37. Conexión datos con arduino + LoRa shield. Fig 38. Código detección de errores Fig 39. Código adquisición de datos (temperatura) Fig 40. Código adquisición de datos (humedad) Fig 41. Modelo SPI Fig 42. Configuración parámetros base Arduino + LoRa Shield Fig 43. Configuración “Id” LoRa Shield Fig 44. Configuración Gateway Fig 45. Acceso a internet a través de la red LAN Fig 46. Configuración gateway con arduino Fig 47. Código configuración nodo con gateway Fig 48. Channel “Id” y “api key” Fig 49. Componentes modelo cliente servidor Fig 50. Modelo de conexión de datos Fig 51.Comparación entre servidores web Fig 52.Canales del servidor ThingsSpeak Fig 53. Clave de escritura para cada canal del servidor ThingsSpeak Fig 54. Línea de código solicitud HTTP Fig 55. Diagrama casos de uso procedimiento de obtención y almacenamiento de los datos Fig 56. Diagrama relacional de la base de datos Fig 57. Diagrama de casos de uso del aplicativo web. Fig 58. Inicio y sección de estadístico en el aplicativo web Fig 59. Pestaña alertas aplicativo web Fig 60. Pestaña Temperatura aplicativo web Fig 61. Pestaña Parámetros aplicativo web Fig 62. Caja de protección para nodos en terreno Fig 63. Circuito adquisición de datos Fig 64. Sensor de humedad y temperatura después de estar en terreno Fig 65. Distancia nodos con el Gateway, pruebas en terreno Fig 66. Nodos después de estar en terreno 8
Fig 67. Antena sigfox 3dbi ganancia Fig 68. Coordenadas de transmisión Gateway Fig 69. Estadísticas tomadas del aplicativo Fig 70. Código obtención de datos del servidor Thingspeak Fig 71. Muestra tomada para el nodo 2 en el sensor de temperatura. Fig 72. Gráfica promedio de muestras de tiempo de respuesta aplicativo.
Lista de Tablas Tabla 1. Comparación tecnologías LPWANS Tabla 2. Tasa de bits equivalente con respecto a la sensibilidad Tabla 3. Estructura PHY de mensajes de uplink Tabla 4. Estructura PHY de mensajes de downlink Tabla 5. Tipos de mensaje MAC Tabla 6. MAC Payload Tabla 7. Esquema FHDR Tabla 8. Comparación tecnológica sensores de temperatura Tabla 9. Consumo de corriente por cada Nodo Tabla 10. Prueba distancia sin línea de vista Tabla 11. Prueba distancia máxima Tabla 12. Recopilación de datos con los parámetros configurables por software Tabla 13. Medición de muestras de tiempo de respuesta aplicativo
9
Capítulo 1 1. Introducción El sector agropecuario representa para Colombia una cifra importante del producto interno bruto (PIB), con una tendencia de crecimiento anual según el Plan Nacional de Desarrollo que busca la expansión de las tierras cultivables, fomentando la generación de empleo e incremento de ingresos para para las zonas rurales y el país en general. Son evidentes la variedad de problemas que acogen este medio, entre los que se encuentran la falta de técnicas, alta exposición a la competencia sin preparación, tasas de interés por encima de las que se rigen para el sector urbano y el
rezago tecnológico, que afectan en mayor parte a los pequeños productores.
Estas problemáticas generan altos costos y baja producción en comparación a los sistemas de agricultura que cuentan con asistencia técnica y la implementación de ayudas tecnológicas. En pro de transformar la industria agropecuaria colombiana e impulsar el desarrollo del sector, se hace necesario la implementación de un prototipo de solución IoT, capaz de monitorear la variables físicas que afectan los cultivos, con el fin de aumentar la producción y disminuir las pérdidas que se presentan en la siembra de productos. El proyecto se desarrolla en varias secciones las cuales permiten conocer su estudio, desarrollo y aplicación; sección uno: se presenta el problema del cual se quiere dar solución, este abarca una justificación por la que es importante desarrollar proyectos innovadores en este sector. Sección dos: en este se presenta el estudio que complementa el desarrollo del proyecto, observando las tecnologías que se implementan y permiten dar un óptimo desarrollo del proyecto Sección tres: Se lleva a cabo la metodología utilizada para su funcionamiento, identificando de cómo el proyecto da solución al problema inicial, posicionándose como una alternativa viable para ser utilizada y mostrando resultados efectivos al realizar su implementación.(“Los problemas del sector agropecuario en Colombia. - Archivo Digital de Noticias de Colombia y el Mundo desde 1.990 - eltiempo.com,” n.d.),(“Perspectiva del sector agropecuario Colombiano,” n.d.)
10
1.1
Planteamiento del Problema y Justificación
Los cultivos agrícolas en Colombia presentan una fuerte vulnerabilidad ante diferentes condiciones físicas a las que están expuestos, generando aumento en los costos de producción y menor calidad en los productos finales. La falta de tecnificación y control junto con la brecha tecnológica en los cultivos son las principales causas que conllevan a la mayoría de problemáticas del sector agrícola. Los altos costos de los sistemas tecnológicos, dificultan la implementación de los mismos y en mayor parte para los pequeños productores que no poseen los recursos suficientes para tecnificar sus cultivos. El diseño de un prototipo que permita realizar el monitoreo de las variables físicas basado en tecnología LoRa, con características como la distancia de cobertura y escalabilidad, logra ser accesible tanto para las grandes industrias como para para la mayoría de los agricultores, pues su versatilidad permite que un mismo sistema pueda ser usado por diferentes agricultores con cultivos adyacentes. El desarrollo e implementación de este proyecto pretende dar un informe en tiempo real del estado del cultivo, optimizando el tiempo del agricultor y permitiendo tomar decisiones oportunamente, que aumenten la productividad y la calidad del cultivo, generando así mayores ingresos en los cultivos en los que se realice la implementación del prototipo.
1.2
Objetivos 1.2.1 Objetivo General
Diseñar e implementar un prototipo de solución IoT con tecnología “LoRa” para el monitoreo de cuatro variables físicas (humedad, temperatura, pH y radiación uv) con un aplicativo web en un cultivo de fresas. 1.2.2 Objetivos Específicos ● Diseñar e implementar un circuito para la adquisición de los datos entregados por los sensores de humedad, temperatura, pH y radiación uv. ● Implementar una red LoRa con topología en estrella para tres nodos de medición mediante un Gateway que se comunique con la base de datos. ● Implementar un aplicativo web con conexión a la base de datos para realizar el monitoreo y análisis del cultivo, recibiendo las alertas correspondientes a los datos por fuera de los parámetros establecidos. 11
1.3
Estado del Arte
Existen ya varios proyectos para el sector agrícola implementando IoT con varias tecnologías inalámbricas, los cuales se hacen necesarios mencionar los resultados alcanzados en ellos como base para esta investigación, además hay diversas referencias relacionadas con la tecnología que se desea implementar y distintas metodologías que deben ser también tomadas en cuenta durante el proceso de desarrollo de esta propuesta. A continuación se relacionan aquellos proyectos cuyos resultados se consideraron de mayor relevancia. 1.3.1 Evaluación de LoRa y LoRaWAN para redes de sensores inalámbricos LoRa es una nueva tecnología inalámbrica de banda ISM diseñada para aplicaciones de bajo consumo, sin licencia y de largo alcance. LoRaWAN es un protocolo de red de área extensa que incorpora tecnología LoRa a una infraestructura en red. El rendimiento en interiores y exteriores de estas tecnologías, la capa física inalámbrica y multi-gateway amplia red de esta área, se evaluó en todo el distrito central de negocios (CBD) de la ciudad de Glasgow (Escocia). Los resultados indicaron que esta tecnología puede ser un enlace fiable para aplicaciones de teledetección de bajo costo.(Wixted et al., 2017) 1.3.2 IOT en aplicaciones de agricultura de precisión utilizando una red inalámbrica para sensores de humedad. EL internet de las cosas (IoT) se utiliza en una red de sensores con conectividad para permitir el sistema de riego en terrenos agrícolas. La red de sensores inalámbricos (WSN) y la red inalámbrica de sensores de humedad (WMSN) son componentes de IoT. Uno de los procesos importantes en la agricultura es el riego. El riego inadecuado ocasionará desperdicio de agua, el sistema de riego adecuado podría lograrse mediante el uso de la tecnología WSN. Las aplicaciones de supervisión y control se han mejorado enormemente mediante el uso de la tecnología WSN, permitiendo la comunicación eficiente con muchos sensores. WMSN es un WSN con sensores de humedad, se hace necesario implementar un sistema de “Precision Agriculture” (PA) donde se hace uso de WMSN para permitir un riego eficiente. Así mismo se describe acerca de IoT y WMSN en aplicaciones agrícolas en particular en el ambiente de invernadero, donde muestra la eficiencia de los métodos de control de programación y retroalimentación en el riego de cultivos de invernadero, como se observa en la figura 1. Se realiza una prueba para ver las diferencias de estos dos métodos; El riego por programación es suministrar agua a la planta en períodos de tiempo específicos y el riego basado en retroalimentación es para irrigar la planta cuando la humedad o el nivel 12
de humedad del medio alcanzan un valor predefinido. La prueba muestra que hay un ahorro promedio de 1.500 ml por día por árbol. (Mat, Kassim, & Harun, 2015)
Fig 1. Implementacíon de la red basada en WMSN (Mat et al., 2015)
1.3.3 Red de sensores inalámbricos de bajo costo para agricultura de precisión. Las redes inalámbricas de sensores pueden utilizarse en una amplia gama de aplicaciones. Los requisitos de costo del hardware existente de la red de sensores inalámbricos impiden su uso en la agricultura, se requiere que las redes de sensores cuesten para ser optimizadas para que sea asequible para los agricultores. Este artículo discute la implementación de una red de sensores inalámbricos de bajo costo para la agricultura. Utiliza el protocolo de enrutamiento de origen modificado (MSR) junto con una técnica de localización simple para el enrutamiento. El funcionamiento de MSR fue validado a través del despliegue de hardware. También se desarrolló un programa de simulación basado en la octava para la validación de la técnica de localización basada en fuente sin rango. (John, 2016) 1.3.4 Desarrollo de dispositivos inteligentes de seguridad y monitoreo basados en IoT para la agricultura El sector agropecuario que es la columna vertebral de la economía india merece seguridad. La seguridad no sólo en términos de recursos sino también de productos agrícolas necesita seguridad y protección en una etapa muy inicial, como la protección contra los ataques de roedores u otros insectos, en los campos o en los almacenes de granos. Tales desafíos también deben tenerse en cuenta. Los sistemas de seguridad que se utilizan actualmente en un día no son lo suficientemente inteligentes como para proporcionar una notificación en tiempo real después de detectar el problema. La integración de la metodología tradicional con las últimas tecnologías como Internet de Cosas y Redes de Sensores Inalámbricos puede conducir a la modernización agrícola. Teniendo en cuenta este escenario, se ha diseñado, probado y analizado un dispositivo basado en "Internet de Cosas" que es capaz de analizar la información detectada y luego 13
transmitirla al usuario. Este dispositivo se puede controlar y supervisar desde la ubicación remota y se puede implementar en los campos agrícolas, almacenes de grano y almacenes frigoríficos para fines de seguridad. Este proyecto está orientado a acentuar los métodos para resolver problemas tales como la identificación de roedores, las amenazas a los cultivos y la entrega de notificación en tiempo real basada en el análisis de la información y el procesamiento sin intervención humana. En este sistema, los sensores y dispositivos electrónicos mencionados se integran utilizando scripts Python sobre la base de intentos de casos de prueba, se ha alcanzado un éxito en el 84,8% de los casos de prueba. (John, 2016)
Fig 2. Sistema inalámbrico para detección de amenzas, con notificación en tiempo real (John, 2016)
1.3.5 Diseño e implementación de un esquema basado en IoT con plataforma cloud para los sistemas agrícolas La tecnología de Internet de las cosas (IoT) está configurando actualmente diferentes aspectos de la vida humana. La agricultura de precisión es uno de los paradigmas que pueden utilizar las ventajas del IOT para optimizar la eficiencia y uniformidad de la producción en los campos agrícolas, optimizar la calidad de los cultivos y minimizar el impacto ambiental negativo. En este artículo se presenta una arquitectura IoT personalizada para aplicaciones de agricultura de precisión. La arquitectura de tres capas propuesta recoge los datos necesarios y los retransmite a un back-end basado en la nube donde se procesa y analiza. Las acciones de retroalimentación basadas en los datos analizados se pueden devolver a los nodos frontend. Se ha construido un prototipo de la arquitectura propuesta para demostrar sus ventajas de rendimiento como se observa en la figura 3. (Baranwal, Nitika, & Pateriya, 2016)
14
Fig 3. Sistema “cloud” para lectura y analisis de los datos. (Baranwal et al., 2016)
1.3.6 Automatización remota para agricultura con conexión inalámbrica e infraestructura de puerta de enlace IoT El proyecto presenta una arquitectura de sistemas para la automatización de procesos de agricultura remota, que incluye sensores y actuadores conectados al Gateway IoT que ejecuta el servidor OPC UA. Los sensores y actuadores son muy generales y no necesitan ninguna inteligencia relacionada con el proceso bajo control. El procesamiento de datos adquiridos y los algoritmos de control que producen estímulos de control se ejecutan en la pasarela. Este enfoque ofrece la ventaja de posibilidades convenientes para cambiar las reglas de control de los servicios en la nube (instalación o configuración del controlador de proceso) sin actualizar el firmware de los sensores / actuadores remotos. El rendimiento del canal de recolección de datos (radio de largo alcance) y el rendimiento de la pasarela IOT son factores limitantes para el control en tiempo real o la observación de los procesos agrícolas. Por lo tanto, el canal alcanzable "sensores-OPC servidor UA" de rendimiento se investiga experimentalmente. Se identifican las posibles aplicaciones de la agricultura que pueden beneficiarse de la arquitectura propuesta.(Nakutis et al., 2016) 1.3.7 Módulo de red inalámbrica LoRa para monitoreo a escala de campus LoRa, una tecnología inalámbrica emergente, es examinada para el rendimiento de comunicación a largo alcance en un área grande. Aunque LoRa muestra un buen rendimiento para la transmisión de larga distancia en el campo, sus señales de radio pueden ser atenuadas e interferidas por edificios, árboles y otras fuentes de señal. En las áreas urbanas, se observa que LoRa requiere un despliegue denso de Gateways LoRa para asegurar que los dispositivos de interior LoRa puedan transferir datos a servidores remotos. La topología de red “malla” es una solución para aumentar el rango de comunicación y la 15
relación de entrega de paquetes sin necesidad de instalar pasarelas adicionales de LoRa. Este proyecto presenta el diseño de un módulo de red con topología “malla”, para aplicaciones IoT (por ejemplo, recolección de datos de sensores múltiples y ampliamente distribuidos en un campus universitario). Se despliegan 19 dispositivos de red en topología “malla” los cuales son distribuidos en un área de 800m por 600m en el campus para servir como puerta de enlace y recopilar datos a intervalos de un minuto. Los resultados muestran que el módulo LoRa con topología de red “malla” alcanza una proporción de entrega de paquetes de 88,49% (PDR), mientras que el LoRaWAN en la topología de red en estrella sólo fue 58.7% bajo las mismas condiciones. (Ke, Liang, Zeng, Lin, & Lee, 2017)
Fig 4. Modulo inalámbrico LoRa en una topologia de red malla. (Ke et al., 2017)
1.3.8 Sistema de monitoreo de ambiente invernadero de agricultura inteligente basado en tecnología IOT En los últimos años, la tecnología de invernadero en la agricultura tiende a realizarse con automatización, la dirección de la tecnología de la información con el IOT (Internet de las cosas) y la tecnología de desarrollo rápido con una amplia aplicación. Este proyecto presenta el dispositivo CC2530 como el núcleo, el cual muestra el diseño y la aplicación de la agricultura en un sistema de monitoreo de ambiente de invernadero basado en la tecnología ZigBee, el sensor inalámbrico y nodos de control se hacen con el dispositivo CC2530F256 para controlar los datos del medio ambiente. Este sistema se compone de adquisición de datos frontales, procesamiento de datos, transmisión de datos y recepción de datos. La temperatura ambiente es procesada en tiempo real por el sensor de temperatura del nodo terminal de datos. Los datos procesados se envían al nodo intermedio a través de una red inalámbrica como se observa figura en la figura 5. El nodo intermedio agrega todos los datos, y luego envía los datos al PC a través de un puerto serie, al mismo tiempo, el personal puede ver, analizar y almacenar los datos por el PC que proporcionan datos en tiempo real para invernadero agrícola, así se logra realizar el control automático de la temperatura.
16
Fig 5. Estructura del sistema inalámbrico
1.3.9 El desarrollo de IOT basado en tecnología LoRa: Una evaluación de desempeño en LoS y NLoS en la banda ISM (frecuencia 915Mhz) En el proyecto se ha desarrollado un prototipo basado en tecnología LoRa aplicando el término de Internet de Cosas (IoT) para soportar la medición remota de temperatura en la frecuencia de 915 MHz. El dispositivo está estructurado por un sensor de temperatura, almacenamiento de memoria, procesamiento de datos y visualización de datos utilizando Cloud Server en el Navegador Web. El rendimiento se evalúa mediante ensayos de campo LoS y NLoS de potencia de transmisión de 14 dBm. Mediante el uso de la plataforma IoT de LoRa, los dispositivos finales con bajo consumo de energía conectados a pasarelas, realizarán una transmisión de datos más eficiente a otros dispositivos y servidores de red. Se realizan ensayos de campo en la línea de vista (LoS) y la condición de NLoS en el área circundante del campus de la Universidad de Indonesia. Los resultados han indicado que el prototipo funciona bien en ambas condiciones, mientras que el RSSI puede variar de -50 dB a -105 dB, para la condición de LoS, el RSSI está a intervalos de -55 dB a -90 dB para una distancia de 100 metros a 8000 metros, mientras que para la condición NLoS está a intervalos de -62 dB a -99 dB para una distancia de 100 metros a 800 metros. Por consiguiente, se ha demostrado que el LoRa se utiliza de manera eficiente para las aplicaciones de IoT tanto de LoS como de NLoS.(Rahman & Suryanegara, 2017)
17
Capítulo 2 2. Marco Teórico 2.1 IoT (Internet de las cosas) Se basa en la interconexión de cualquier producto con cualquier otro de su alrededor. El objetivo es hacer que todos estos dispositivos se comuniquen entre sí y, por consiguiente, sean más inteligentes e independientes. Para ello, es necesario el empleo del protocolo IPv6 y el desarrollo de numerosas tecnologías que actualmente están siendo diseñadas por las principales compañías del sector. Actualmente grandes multinacionales como Cisco y Microsoft desarrollan y
ofrecen múltiples
aplicaciones como las siguientes: ● ● ● ●
●
soluciones de transporte inteligentes acelerando los flujos de tráfico, reduciendo el consumo de combustible, teniendo como prioridad salvar vidas. redes eléctricas inteligentes se conectan de manera más eficiente los recursos renovables, mejorando la fiabilidad del sistema. sensores de control en máquinas de diagnóstico, con el fin de predecir problemas. Sistemas basados en datos en la infraestructura de "ciudades inteligentes", así es más fácil para los municipios para ejecutar la gestión de residuos, la policía y otros programas de manera más eficiente. Sistemas que permitan monitorear variables ambientales(“Internet of Things (IoT) | Microsoft,” n.d.),(“Internet de las cosas (IoT) - Cisco,” n.d.)
2.2 LoRa (especificaciones técnicas) A continuación se describen las especificaciones técnicas de la tecnología LoRa, detallando este sistema como solución IoT para las múltiples aplicaciones: – Tecnología inalámbrica de bajo consumo – Alta sensibilidad, hasta -146dBm – Baja potencia de emisión, hasta 20dBm sin Amplificador. – Enlaces de hasta 166dBm, largo alcance en bandas sin licencia. – Bidireccional. – Paquetes de hasta 256 bytes de información, permite protocolos IPV6 – Hasta 10 dB mejor que GFSK ante interferencia. 18
– Alta inmunidad a interferencias. Excelente IIP3 (producto de intermodulación de tercer orden). – Blocking inmunity según ETS 300 220 de hasta 100dB. – Códigos ortogonales, permite la convivencia de diferentes comunicaciones en el mismo tiempo. – Bajo consumo 10 mA en recepción con modos de recepción en “Low dutty cycle” – Rango de frecuencia desde 137 hasta 960MHz, siendo posible sintetizar cualquier frecuencia.(depende del dispositivo)
2.3 LoRa (ventajas) LoRa: La plataforma inalámbrica de largo alcance y de bajo consumo es la opción tecnológica predominante para la construcción de redes IoT en todo el mundo. Esta tecnología emplea espectros de frecuencia de uso público en la banda ISM (como el WiFi y Bluetooth), utiliza una modulación de espectro ensanchado en la banda menor al Ghz lo que permite largo alcance con distancias mayores a 10 Kilómetros, con alta capacidad de nodos (mayores a 100 nodos). Las aplicaciones inteligentes de IoT han mejorado la forma en la que se interactúan abordando algunos de los mayores desafíos que enfrentan las ciudades y comunidades: cambio climático, control de la contaminación, alerta temprana de desastres naturales y salvar vidas. Las empresas se benefician también, a través de mejoras en las operaciones y la eficiencia. Es por eso que en esta tecnología el resultado es un sistema de comunicación de largo alcance muy eficiente permitiendo comunicaciones con equipos a batería. En la figura 6 se observa el planteamiento de la tecnología LoRa
Fig 6. Sistema de adquisición y aplicación de datos en base a tecnología LoRa [12]
19
2.4 Clasificación de dispositivos LoRa LoRa tiene varias clases diferentes de dispositivos de punto final para atender las diferentes necesidades reflejadas en la amplia gama de aplicaciones: • (Clase A) dispositivos finales bidireccionales: Los dispositivos finales de la Clase A permiten comunicaciones bidireccionales mediante las cuales la transmisión ascendente (uplink) de cada dispositivo final es seguida por dos ventanas cortas de recepción del enlace descendente (downlink). • (Clase B) dispositivos finales bidireccionales con ranuras de recepción programadas: Además de las ventanas de recepción aleatoria de clase A, los dispositivos de clase B abren ventanas de recepción adicionales en horarios programados. Para que el dispositivo final abra su ventana de recepción a la hora programada, recibe una trama sincronizada en el tiempo desde la puerta de enlace. Esto permite al servidor saber cuándo el dispositivo final está activo. • (Clase C) dispositivos finales bidireccionales con ranuras de recepción máximas: Los dispositivos finales de la Clase C tienen ventanas de recepción abiertas casi continuamente, cerradas solamente al transmitir. [12] En la figura 7 se puede observar la estructura básica de una red LoRa
Fig 7. Estructura básica red LoRa (“What Is LoRa? | Semtech,” n.d.)
20
2.5 Lora Dragino (Shield) El LoRa Shield se encuentra catalogado en los dispositivos clase C de LoRa para atender las diferentes necesidades reflejadas en la amplia gama de aplicaciones, este Shield es un transceptor de largo alcance que funciona para el sistema Arduino y se basa en la biblioteca de código abierto. El Shield permite al usuario enviar datos y alcanzar rangos extremadamente largos a bajas tasas de datos. Proporciona comunicación de amplio alcance de espectro extendido y alta inmunidad a interferencias. Basado en el chip Semtech SX1276 / SX1278, se dirige a aplicaciones profesionales de red de sensores inalámbricos, como sistemas de riego, medición inteligente, ciudades inteligentes, detección de teléfonos inteligentes, automatización de edificios, etc. Usando la técnica de modulación LoRaTM patentada de Hope RF, el Dragino Shield con tecnología LoRa puede alcanzar una sensibilidad de más de -148dBm utilizando un cristal y una lista de materiales de bajo costo. La alta sensibilidad combinada con el amplificador de potencia integrado de +20 dBm produce un presupuesto de enlace líder en la industria que lo hace óptimo para cualquier aplicación que requiera rango o robustez. Especificaciones técnicas: ● Compatible con 3.3v o 5v I / O Arduino Board. ● Banda de frecuencia: 915 MHZ / 868 MHZ / 433 MHZ (Preconfiguración en fábrica) ● Bajo consumo de energía ● Compatible con Arduino Leonardo, Uno, Mega, DUE ● Antena externa a través del conector I-Pex(“LoRa Shield for Arduino,” n.d.) En la figura 8 se observan las características principales de este Shield.
Fig 8. Lora shield para arduino(“LoRa Shield for Arduino,” n.d.) 21
2.5.1 Semtech 1276 “Lora” Los transceptores SX1276 / 77/78/79 cuentan con el integrado de largo alcance LoRa que proporciona comunicación de espectro extendido de ultra largo alcance y alta inmunidad a la interferencia, al tiempo que minimiza el consumo de corriente. Especificaciones técnicas: ● Presupuesto de enlace máximo de 168 dB. ● +20 dBm - 100 mW de salida de RF constante vs. ● +14 dBm de alta eficiencia PA. ● Velocidad de bits programable de hasta 300 kbps. ● Alta sensibilidad: hasta -148 dBm. ● Parte delantera a prueba de balas: IIP3 = -12.5 dBm. ● Excelente inmunidad de bloqueo. ● Corriente RX baja de 10,3 mA, 200 nA de retención de registro. ● Sintetizador totalmente integrado con una resolución de 61 Hz. ● Modulación FSK, GFSK, MSK, GMSK, LoRaTM y OOK. ● Sincronizador de bits incorporado para la recuperación del reloj. ● 127 dB Dynamic Range RSSI. ● Sensores de RF automáticos y CAD con AFC ultrarrápido. ● Paquete de motor de hasta 256 bytes con CRC.(Brazil & Campaigns, n.d.) En la figura 9 se observa el transceptor SX1276
Fig 9. Transceptor SX1276(Brazil & Campaigns, n.d.)
22
2.6 Arduino Es una plataforma de prototipos electrónica de código abierto (open-source) basada en hardware y software flexibles y fáciles de usar. Está pensado para artistas, diseñadores, como hobby y para cualquiera interesado en crear objetos o entornos interactivos. Arduino puede sentir el entorno mediante la recepción de entradas desde una variedad de sensores y puede afectar a su alrededor mediante el control de luces, motores y otros artefactos. El microcontrolador de la placa se programa usando el Arduino Programming Language (basado en Wiring) y el Arduino Development Environment (basado en Processing). Los proyectos de Arduino pueden ser autónomos o se pueden comunicar con software en ejecución en un ordenador (por ejemplo con Flash, Processing, MaxMSP, etc.). Las placas se pueden ensamblar a mano o encargarlas pre ensambladas; el software se puede descargar gratuitamente. Los diseños de referencia del hardware (archivos CAD) están disponibles bajo licencia open-source, por lo que eres libre de adaptarlas a tus necesidades.
Código abierto y software extensible: El software Arduino está publicado como herramientas de código abierto, disponible para extensión por programadores experimentados. El lenguaje puede ser expandido mediante librerias C++, y la gente que quiera entender los detalles técnicos pueden hacer el salto desde Arduino a la programación en lenguaje AVR C en el cual está basado. De forma similar, puedes añadir código AVR-C directamente en tus programas Arduino si quieres.
Código abierto y hardware extensible: El Arduino está basado en microcontroladores ATMEGA8 y ATMEGA168 de Atmel. Los planos para los módulos están publicados bajo licencia Creative Commons, por lo que diseñadores experimentados de circuitos pueden hacer su propia versión del módulo, extendiéndolo y mejorándolo. Incluso usuarios relativamente inexpertos pueden construir la versión de la placa del módulo para entender cómo funciona y ahorrar dinero.(“¿Qué es Arduino? ~ Arduino.cl,” n.d.)
Fig 10. Arduino uno (“¿Qué es Arduino? ~ Arduino.cl,” n.d.) 23
2.7 Variables físicas Las variables físicas de rendimiento en un cultivo agrícola son aquellas que cumplen una condición directa sobre cada una de las plantas y el entorno de las mismas, es así que se hace necesario realizar una medición sobre los datos meteorológicos del ambiente tales como la temperatura, humedad, radiación solar, pH, así mismo se requieren de dispositivos que permitan interpretar los datos que se da en cada una de estas. 2.7.1 Humedad Existen varios tipos de humedad, para este caso se habla de la humedad del suelo, es así que la humedad del suelo es la cantidad de agua por volumen de tierra que hay en un terreno. Su medición exacta se realiza gravimétricamente, pesando una muestra de tierra antes y después del secado. Esta es de gran importancia debido a que el agua constituye un factor determinante en la formación, conservación, fertilidad y productividad del mismo, así como para la germinación, crecimiento y desarrollo de las plantas cultivadas. (Sevruk, 1992) El dispositivo para realizar la medición correspondiente a esta variable es un sensor de humedad el cual mide la humedad relativa en un área dada, este sensor tiene las siguientes características: ● Voltaje de entrada: 3.3 – 5 VCD ● Voltaje de salida: 0 ~ 4.2 V ● Corriente: 35 mA ● VCC: Tensión de alimentación ● GND: Tierra ● A0: Salida analógica que entrega una tensión proporcional a la humedad. Puede ser medida directamente desde un puerto analógico en un microcontrolador, con Arduino, CI, etc. ● D0: Salida digital; este módulo permite ajustar cuándo el nivel lógico en esta salida pasa de bajo a alto mediante el potenciómetro. Aplicando una pequeña tensión entre los terminales del módulo YL-69 hace pasar una corriente que depende básicamente de la resistencia que se genera en el suelo y ésta depende mucho de la humedad. Por lo tanto al aumentar la humedad la corriente crece y al bajar la corriente disminuye. Consiste en una sonda YL-69 con dos terminales separados adecuadamente y un módulo YL-38 que contiene un circuito comparador LM393 SMD, un led de encendido y otro de activación de salida digital. 24
Este último presenta 2 pines de conexión hacia el módulo YL-69, 2 pines para la alimentación y 2 pines de datos. VCC, GND, D0, A0.(“Sensor de humedad del suelo YL38 y YL69 – Talos Electronics,” n.d.)
Fig 11. Sensor de humedad de tierra para arduino(“Sensor de humedad del suelo YL38 y YL69 – Talos Electronics,” n.d.)
2.7.2 Temperatura La temperatura del suelo influye de manera significativa en la aparición de los brotes y el crecimiento de las plantas. Por ejemplo, si la temperatura del suelo aumenta, las reacciones químicas suceden más rápido y se acelera la germinación de las semillas. Los agricultores utilizan los datos de temperatura del suelo para predecir cuándo conviene cultivar. Comprender el calentamiento y enfriamiento de los suelos ayuda a predecir la duración de los periodos de crecimiento de las plantas, el tipo de plantas y animales que pueden vivir en ese suelo, y el aporte de humedad a la atmósfera. La cantidad de humedad en el suelo influye en la velocidad a la que el suelo se enfría y se calienta. Suelos húmedos se calientan más lentamente que los suelos secos porque el agua en los poros entre las partículas absorbe más calor que el aire. (GOBLEX, 2005) Los sensores de temperatura son dispositivos que transforman los cambios de temperatura en cambios en señales eléctricas que son procesados por equipo eléctrico o electrónico. El sensor de temperatura, típicamente suele estar formado por el elemento sensor, el recubrimiento que lo envuelve y que está rellena de un material muy conductor de la temperatura, para que los cambios se transmitan rápidamente al elemento sensor y del cable al que se conectarán el equipo electrónico. (Semiconductor & Check, n.d.)
Fig 12. Sensor de temperatura para superficies terrestres y ambientales (Semiconductor & Check, n.d.)
25
2.7.3 Radiación UV Si bien la radiación ultravioleta-B comprende una pequeña región del espectro electromagnético, su acción sobre plantas y animales es considerable. Esto principalmente debido a que importantes biomoléculas como proteínas y ácidos nucleicos, por presentar electrones n la absorben fuertemente. Numerosos son los efectos atribuibles a esta radiación, la cual ha estado desde siempre presente en el ambiente. Para que la radiación UV sea interceptada y produzca alteraciones en la fisiología de la planta debe penetrar en la hoja y ser absorbida por cromóforos o moléculas susceptibles al efecto dañino de esta radiación. Por lo tanto, los cambios morfológicos y anatómicos que son inducidos por la radiación UV pueden llegar a ser determinantes en las respuestas de las distintas especies vegetales sometidas a un aumento de este tipo de radiación.(Semiconductor & Check, n.d.) Los sensores de luz ultravioleta basados en la luminiscencia de los materiales permiten resolver en la industria múltiples aplicaciones, donde los sensores fotoeléctricos convencionales no funcionan y el coste de un equipo de visión no es asumible. La luz ultravioleta cubre el espectro desde los 380mm a los 220mm y estos sensores luminiscentes utilizan la región de los 320mm a los 380mm, conocida como "near ultraviolet" o luz negra. (“Sensor de luz ultravioleta (UV) - Sensors Tecnics, Honeywell,” n.d.)
Fig 13. Sensor de radiación UV (“Sensor de luz ultravioleta (UV) - Sensors Tecnics, Honeywell,” n.d.)
2.7.4 Ph El pH es una medida de acidez o alcalinidad de una disolución. El pH indica la concentración de iones hidronio [H3O+] presentes en determinadas sustancias. La determinación de pH consiste en medir el potencial que se desarrolla a través de una fina membrana de vidrio que separa dos soluciones con diferente concentración de protones. En consecuencia se conoce muy bien la sensibilidad y la selectividad de las membranas de vidrio durante el pH. Una celda para la
26
medida de pH consiste en un par de electrodos, uno de calomel (mercurio, cloruro de mercurio) y otro de vidrio, sumergidos en la disolución de la que queremos medir el pH. La varita de soporte del electrodo es de vidrio común y no es conductor, mientras que el bulbo sensible, que es el extremo sensible del electrodo, está formado por un vidrio polarizable (vidrio sensible de pH). (“Sensor analógico de pH,” n.d.)
Fig 14. Sensor de PH con adecuación de circuito (“Sensor analógico de pH,” n.d.)
2.8 Gateway Un Gateway (puerta de enlace) es un dispositivo que permite interconectar redes con protocolos y arquitecturas diferentes a todos los niveles de comunicación. Su propósito es traducir la información del protocolo utilizado en una red al protocolo usado en la red de destino. Una puerta de enlace o Gateway es normalmente un equipo informático configurado para hacer posible a las máquinas de una red local (LAN) conectadas a él de un acceso hacia una red exterior, generalmente realizando para ello operaciones de traducción de direcciones IP (NAT: Network Address Translation). Esta capacidad de traducción de direcciones permite aplicar una técnica llamada IP Masquerading (enmascaramiento de IP), usada muy a menudo para dar acceso a Internet a los equipos de una red de área local compartiendo una única conexión a Internet, y por tanto, una única dirección IP externa. (“Todo-Redes,” n.d.) 2.8.1 Dragino LG-01S El LG01-S es un canal simple de código abierto LoRa Gateway. Le permite conectar la red inalámbrica LoRa a una red IP a través de WiFi, Ethernet, 3G o 4G celular. La conexión inalámbrica LoRa permite a los usuarios enviar datos y alcanzar rangos extremadamente largos con bajos índices de datos. Proporciona una comunicación de amplio alcance de espectro ultralargo y alta inmunidad a las interferencias. 27
LG01-S tiene una interfaz WiFi, un puerto Ethernet y un puerto host USB. Estas interfaces proporcionan métodos flexibles para que los usuarios conecten sus redes de sensores a Internet. LG01-S ejecuta el sistema Open Source OpenWrt, el usuario puede modificar libremente el archivo fuente o compilar el sistema para admitir sus aplicaciones personalizadas.
Fig 15. Gateway Dragino LG-01S (“Todo-Redes,” n.d.)
Especificaciones técnicas: ● ● ● ● ● ● ● ● ● ● ● ● ●
Sistema de código abierto OpenWrt Bajo consumo de energía Actualización de firmware a través de la Web Software actualizable a través de la red Aprovisionamiento automático Servidor web incorporado Gestionado por Web GUI, SSH a través de LAN o WiFi Soporte WiFi AP, cliente o Ad-Hoc (Mesh) modo Conexión a Internet a través de LAN, WiFi, 3G o 4G El diseño a prueba de fallas proporciona un sistema robusto Arduino IDE compatible. Fácil de programar. Banda LoRa disponible a 433/868/915/920 Mhz Alcance máximo en LoRa: 5 ~ 10km(“Todo-Redes,” n.d.)
28
Fig 16. Resumen del sistema LG-01S(“Todo-Redes,” n.d.)
2.9 Web service El término Web Services describe una forma estandarizada de integrar aplicaciones WEB mediante el uso de XML, SOAP, WSDL, JSON y UDDI sobre los protocolos de la Internet. XML es usado para describir los datos, SOAP se ocupa para la transferencia de los datos, WSDL se emplea para describir los servicios disponibles, JSON es un formato de intercambio ligero que al igual que el XML puede ser leído fácilmente y es independiente de la plataforma, está basado en sub-conjunto de JavaScript por esta razón puede ser convertido a JavaScript rápidamente y por lo tanto es ideal para aplicaciones Web basadas en AJAX, pero la ventaja de JSON sobre AJAX es que es capaz de representar la misma información en un formato más ligero que el XML y por lo tanto es más rápido de transportar y consume menos ancho de banda. UDDI se ocupa para conocer cuáles son los servicios disponibles. Uno de los usos principales es permitir la comunicación entre las empresas y entre las empresas y sus clientes. Los Web Services permiten a las organizaciones intercambiar datos sin necesidad de conocer los detalles de sus respectivos Sistemas de Información. (“Todo-Redes,” n.d.) Ventajas de los Web Services Entre las ventajas más importantes que ofrecen los WebServices se pueden citar: -
Ofrecen una “tecnología distribuida de componentes” optimizada.
Evitan los problemas inherentes a la existencia de firewalls, ya que SOAP utiliza HTTP como protocolo de comunicación. 29
-
Permiten una invocación sencilla de métodos, mediante SOAP.
Los clientes o “consumidores de servicios” pueden estar en cualquier plataforma (basta con que soporten XML/SOAP, incluso puede sustituirse SOAP por HTTP). Permiten centralizar los datos, independientemente de si los WebServices están distribuidos o no.(Besteiro & Clases, n.d.)
2.10 Servidor Web Un servidor Web es un programa que utiliza HTTP (Hypertext Transfer Protocol) para servir los archivos que forman páginas Web a los usuarios, en respuesta a sus solicitudes, que son reenviados por los clientes HTTP de sus computadoras. Las computadoras y los dispositivos dedicados también pueden denominarse servidores Web. El proceso es un ejemplo del modelo cliente / servidor como se muestra en la Figura 16. Todos los equipos que alojan sitios Web deben tener programas de servidor Web. Los principales servidores Web incluyen Apache (el servidor Web más conocido e instalado), Internet Information Server ( IIS ) de Microsoft y nginx (pronunciado motor X ) de NGNIX. Otros servidores Web incluyen el servidor NetWare de Novell, el servidor web de Google (GWS) y la familia de servidores Domino de IBM.(“Que es un servidor WEB? - Aprende sobre desarrollo web | MDN,” n.d.)
Fig 17. Modelo cliente/servidor(“Que es un servidor WEB? - Aprende sobre desarrollo web | MDN,” n.d.)
Los servidores web a menudo forman parte de un paquete más amplio de programas relacionados con Internet e intranet para servir correo electrónico, descargar solicitudes de archivos de Protocolo de transferencia de archivos ( FTP ) y crear y publicar páginas Web. Las consideraciones a tener en cuenta al elegir un servidor Web incluyen qué ta bien funciona con el sistema operativo y otros servidores, su capacidad para manejar la programación del servidor, las 30
características de seguridad y las herramientas particulares de publicación, el motor de búsqueda y la construcción de sitios que vienen con él.(“Qué es un Servidor Web: Definición Completa (Paso a Paso),” n.d.) 2.10.1 Servidor Web “Thingspeak” ThingSpeak, la primera solución abierta para los productos y servicios del Internet de las Cosas. Al igual que WordPress permite a la gente crear blogs fácilmente, ThingSpeak permite a los desarrolladores interactuar con los dispositivos utilizando tecnologías Web estándar. ThingSpeak puede funcionar, bien a través de un servicio gratuito de host, o bien, en servidores personales. Algunos aspectos de la plataforma ThingSpeak incluyen registro, procesado y distribución de la información, servicios basados en la localización, actualizaciones de estado, integración con redes sociales, aplicaciones y plugins. Según Hans Scharler, presidente de software en ioBridge, su objetivo es eliminar algo de misterio acerca de conectar dispositivos a la Web. Además, añade que todo el mundo está discutiendo sobre la Web de las Cosas como si fuera algo futuro, pero es ya una realidad gracias a los dispositivos móviles actuales, con los que interactuamos socialmente y con la Web.(“ThingSpeak: Plataforma Open Source Platform para conectar productos y servicios | Observatorio IoT Spain,” n.d.)
Fig 18. Servidor WEB Thingspeak(“ThingSpeak: Plataforma Open Source Platform para conectar productos y servicios | Observatorio IoT Spain,” n.d.)
2.11 Microsoft Visual Studio Microsoft Visual Studio es un conjunto de herramientas para crear software, desde la fase de diseño pasando por las fases de diseño de la interfaz de usuario, codificación, pruebas, depuración, análisis de la calidad y el rendimiento del código, implementación en los clientes y recopilación de telemetría de 31
uso. Estas herramientas están diseñadas para trabajar juntas de la forma más eficiente posible y todas se exponen a través del Entorno de desarrollo integrado (IDE) de Visual Studio. Puede usar Visual Studio para crear muchos tipos de aplicaciones, desde sencillas aplicaciones y juegos de la Tienda para clientes móviles, hasta sistemas grandes y complejos para empresas y centros de datos. Puede crear 1. aplicaciones y juegos que se ejecutan no solo en Windows, sino también en Android y en iOS. 2. sitios web y servicios web basados en ASP.NET, JQuery, AngularJS y otros entornos populares. 3. aplicaciones para dispositivos y plataformas tan diversas como Azure, Office, Sharepoint, Hololens, Kinect e Internet de las cosas, por nombrar solo algunos ejemplos. 4. juegos y aplicaciones con gráficos avanzados para una variedad de dispositivos Windows, incluido Xbox, con DirectX. 5. Desarrolla e implementar bases de datos de SQL Server y Azure SQL fácilmente. De forma predeterminada, Visual Studio proporciona compatibilidad con C#, C y C++, JavaScript, F # y Visual Basic. Visual Studio funciona y se integra bien con aplicaciones de terceros como Unity a través de la extensión Visual Studio Tools para Unity, y Apache Cordova a través de Visual Studio Tools para Apache Cordova. Puede extender Visual Studio usted mismo creando herramientas personalizadas que realizan tareas especializadas.(“IDE de Visual Studio,” n.d.)
2.12 Base de datos Una base de datos es una herramienta para almacenar la información de forma ordenada con diferentes propósitos y usos. Las bases de datos pueden almacenar información sobre personas, productos, pedidos u otras cosas. Muchas bases de datos comienzan como una lista en una hoja de cálculo o en un programa de procesamiento de texto. El almacenamiento de la información por sí sola no tiene un valor, pero si combinamos o relacionamos la información nos puede dar valor. Una base de datos relacional es una base de datos que se trata como un conjunto de tablas y se manipula de acuerdo con el modelo de datos relacional. Contiene un conjunto de objetos que se utilizan para almacenar y gestionar los datos, así como para acceder a los mismos. Las tablas, vistas, índices, funciones, activadores y paquetes son ejemplos de estos objetos.(“IBM Knowledge Center - Bases de datos relacionales,” n.d.)
32
Microsoft SQL Server es un sistema de gestión de base de datos relacional (RDBMS) producido por Microsoft. Su principal lenguaje de consulta es Transact-SQL, una aplicación de las normas ANSI / ISO estándar Structured Query Language (SQL) utilizado por ambas Microsoft y Sybase. Características de Microsoft SQL Server: •
Soporte de transacciones.
•
Escalabilidad, estabilidad y seguridad.
•
Soporta procedimientos almacenados.
•
Incluye también un potente entorno gráfico de administración, que permite el uso de comandos DDL y DML gráficamente.
•
Permite trabajar en modo cliente-servidor, donde la información y datos se alojan en el servidor y las terminales o clientes de la red sólo acceden a la información.
•
Además permite administrar información de otros servidores de datos.(Santamaría, 2015)
2.13 Cultivos agrícolas (Fresas) Existe una gran cantidad de especies de fresa a través del mundo. Aunque no se sabe bien su origen, se indican dos zonas de procedencia: una en Europa, específicamente de los Alpes europeos, y otra en Sur América en Chile. Para el año 2013 en Colombia se produjeron 42.453 toneladas de fresa, siendo Cundinamarca el departamento con mayor producción 22.562 ton, seguido por Antioquia con 12.545 ton, Norte de Santander con 3.360 ton, Cauca 2.808 ton y Boyacá con 542,2 ton. 2.13.1 Condiciones climatológicas
Temperatura: Día entre 18 y 25° C, noche entre 8 y 13°C, Humedad: entre el 60 y 75 % Requerimiento hídrico: 400-600mm/ año Tipo de suelo: Arenoso o franco arenoso con contenido de arena superior a 50%. Rango de Ph: Moderadamente ácido, valores entre 5,7 y 6,5 Luminosidad: Las variedades de día corto requieren entre 8 y 12 horas de luz. Radiación uv: entre el 2 a 9 puntos uv
En cuanto a la temperatura en las condiciones específicas de Colombia se sugiere buscar zonas donde el cambio de temperatura entre día y noche sea el mayor posible. Esta variación permite un balance entre el desarrollo de las hojas (se favorecen en temperaturas altas) y el desarrollo floral (se favorecen en temperaturas bajas). Esta variación se denomina el Delta de temperatura y se determina mediante la 33
documentación de los mínimos y los máximos de temperatura durante el día (24 horas) para cada estación o temporada climática. Se puede prever que los picos de producción se alcanzan en las épocas del año en que la temperatura es más fría. (Altamirano 2004) 2.13.2 Suelo La fresa se desarrolla de manera adecuada en suelos ligeramente ácidos, sueltos, aireados y bien drenados, ya que los suelos pesados limitan el desarrollo radicular. La raíz es altamente sensible a la salinidad generando reducciones de hasta el 50% en el rendimiento de la planta. Se deben evitar suelos donde se haya cultivado antes papa, tomate, pimentón, melón, sandía y calabaza, con el fin de prevenir la propagación de enfermedades que comparten con estos cultivos. 2.13.3 Ciclo fenológico del cultivo En Colombia es posible empezar el cultivo de la fresa en cualquier época del año. Sin embargo, es recomendable hacerlo al inicio de la época de lluvias (Cortés 2011) con el fin de asegurar la adaptación del cultivo y garantizar el desarrollo inicial. La recolección se lleva a cabo en la época seca, que coincide con la época de menor producción para destinos importadores como Países Bajos, y países exportadores como Estados unidos, México y España. La Figura 19. Sugiere al productor una distribución de las labores de siembra, mantenimiento del cultivo y cosecha desde el inicio del proceso
Fig 19. Etapas desarrollo cultivo de fresas 34
Para el año (2018) es recomendable que la distribución de cosecha se realice de la forma como se observa en la figura 20.
Fig 20. Distribución calendario cultivo de fresas
El tipo de fresa a tener en cuenta es camarosa ya que presenta una alta productividad y resistencia al portcosecha.
Fig 21. Características tipo de fresa
2.13.4 Actividades del cultivo
Planeación: Dentro de las actividades de esta etapa se encuentran la selección, adecuación y distribución del lote. También es importante establecer la ubicación del cultivo de fresa, el mantenimiento del cultivo, la cosecha y la adecuación del producto para el mercado. Establecimiento del cultivo: Se han de definir los predios o lotes adecuados para el cultivo de fresa considerando factores como altitud, temperatura, humedad relativa y luminosidad, teniendo en cuenta que los requerimientos en este sentido pueden cambiar según la variedad escogida. También se ha de determinar el área a cultivar, el tipo de suelo, método de riego, coberturas, lugar de acopio y empaque y definir el sistema de manejo, labores del suelo y de fertilización.
35
Propagación: La propagación tiene como objetivo mejorar las propiedades de la planta en cuanto a producción, calidad, sanidad y tamaño del fruto; es realizada en forma sexual y/o asexual Preparación del terreno y siembra: El terreno seleccionado debe ser preferiblemente plano o de pendiente moderada. Las labores de suelo profundas son: cincel y subsolador (para mejorar el drenaje y favorecer la oxigenación). Las labores superficiales son: formar la cama, instalar el riego e instalar la cobertura mulch (o plástico oscuro). Mantenimiento del cultivo Poda: El proceso de poda depende básicamente del nivel de desarrollo de la planta. De esta forma, si se evidencia un desarrollo limitado de la planta pocas semanas después de la siembra (cuando aparecen las primeras flores), es necesario realizar podas que estimulen el desarrollo vegetativo de la planta; si la planta presenta un alto nivel de desarrollo pero aún no florece del todo, es necesario realizar poda de hojas con frecuencia, que además de inducir la floración, promueven la renovación de la planta.(“Agronet Inicio,” n.d.)
36
Capítulo 3 3. Metodología e implementación El diseño metodológico implementado en el proyecto permite realizar un seguimiento a los conceptos teóricos y prácticos mencionados anteriormente; es así que el hardware se compone de varios procesos los cuales se relacionan directamente con parte del software que permitirá tener los datos válidos para la lectura en el aplicativo web.
3.1 Arquitectura IoT La arquitectura del “Internet de las Cosas” se puede estructurar conforme se observa en la figura 22, teniendo como áreas principales:
Objetos conectados Tecnologías de red Protocolos de comunicación Plataforma IoT de tratamiento de datos Aplicaciones de usuario
Fig 22. Arquitectura sistemas IoT
El prototipo implementado cumple con las especificaciones de los componentes de IoT, haciendo uso específico de “objeto conectado”… hasta “aplicación IoT”. Esta arquitectura usa protocolos de red específicos para IoT con su propia red de comunicación, sin usar el protocolo IP hasta las tecnologías de red. Todo objeto conectado tiene su base en plataformas hardware y software, siendo necesaria una capacidad de proceso y una programación de la misma. 37
3.2 Criterios en selección de tecnología Las tecnologías de comunicación en el IoT, han surgido como una necesidad de cubrir las carencias que presentan las tecnologías tradicionales (WiFi, 2G, 3G o 4G) al aplicarse en este sector. De este modo, se han desarrollado alrededor de este contexto las llamadas LPWAN, redes de largo alcance y bajo consumo que ofrecen las mejores capacidades a la hora de implementar una arquitectura IoT. Sus principales características son:
Bajo consumo eléctrico de los dispositivos, por debajo de los 50 µWatts. Permite tener objetos conectados durante largos periodos de tiempo con baterías de bajo coste Bajo coste de conectividad Bajo coste en la fabricación de los dispositivos Grandes rangos de cobertura
Las tecnologías dentro del modelo LPWAN presentan características excelentes para un amplio rango de aplicaciones de IoT, este se caracteriza por el envío reducido de número de paquetes de información de pequeño tamaño y por la necesidad de una autonomía prolongada a la hora de sensorizar ciertas zonas, permitiendo así una independencia de la red eléctrica y una despreocupación por la recarga de los dispositivos. Estas necesidades son cubiertas y además las redes LPWAN aportan un largo alcance como valor añadido a las necesidades del IoT, disminuyendo así el número de estaciones que se necesitan para ofrecer cobertura al usuario final.
3.2.1 Criterios en selección de tecnología unidad de control Al seleccionar un dispositivo microcontrolador hay que tener en cuenta unos parámetros base que nos puedan ayudar a complementar la solución en particular que se está optando por encontrar, es así que de este modo como base se tienen los siguientes parámetros:
Requisitos de potencia del microcontrolador Selección de la arquitectura Cantidad de memoria de programa Costos y limitaciones energéticas Disponibilidad del dispositivo Compiladores y herramientas de programación Simulación en el ordenador
Teniendo estos parámetros definidos se acude a seleccionar la tecnología que más se adapte a las necesidades del proyecto. 38
3.2.1.1 Comparación tecnológica unidad de control Una comparativa de las tecnologías a nivel general se observan en la figuras 23, 24, 25 y 26, como se puede ver, las características de cada una de ellas son muy variadas.
Fig 23. Microcontroladores de 8 bits – M68HC05 MOTOROLA
Fig 24. Microcontroladores de 8 bits – ATMEL
Fig 25. Comparación microcontroladores MICROCHIP 39
Fig 26. Comparación tecnológica entre ARDUINOS
3.2.2 Comparación tecnológica Lpwans Una comparativa a nivel general de las tecnologías más importantes se pueden observar en la tabla 1. Los valores han sido obtenidos a partir de la información suministrada por los propietarios de dichas tecnologías en distintos medios. Como se puede ver, las características de cada una de ellas son muy variadas. Los enfoques varían desde tecnologías que se centran en obtener un mayor rango de cobertura a costa de perder enteros en cuanto a consumo energético, hasta tecnologías que invierten esta situación, teniendo una elevada vida útil de las baterías pero un corto alcance. Entre ellas también existen casos en los que se mantiene un equilibrio de prestaciones sin arriesgar en ningún punto de ellos (LoRa). El tercer factor a considerar es la tasa de bits, que varía desde los 100 bps hasta los 350 Mbps.
Tecnologia/
Weightless
Descripción
-N
Frecuencia
Sub-Ghz ISM
B.W
200Hz
SigFox
868/902 Mhz ISM 100hz
LoRa
LTE-Cat
IEEE
M
802.11ah
RPMA
433/868/78
License-
433/868/9
0/915 Mhz
exempt
15Mhz
2.4Ghz
bands 1GHz
ISM/SRD
ISM
1/2/4/8/16
25Khz or
MHz
200Khz
Up to 1km
0-4km
Celular
ISM 64x125Khz/
1.4Mhz
8x125Khz
Rango
DASH7
3Km
10Km
2-5Km
urban
urban
urban
2.5-5km
(outdoor)
40
NB-Fi
868Mhz
1Mhz
100Hz
4.6 km
16.6km
(urban )
(urban)
Potencia,
TX
17dBm
nodo final Tamaño
10uw –
<+27dBm
100mw
1mw to 1w
FCC/ETSI
100mw del
20 bytes
12 bytes
paquete
Definido
100-1000 bytes
100-
900-
20kbps
140bps
100kbps
No
8bytes for
900-
de datos
downlink
day
100kbps
Dispositivo por
Ilimitado
1M
100K
100bps
de datos D.L velocidad
20kbps 20K
7990 bytes
256bytes
150kpbs-
9.6kbps-
346mbps
166kbps
150kpbs-
9.6kbps-
346mbps
166kbps
8191
NA
punto de acceso
Topología Fabricante
6-
Definido
10kbytes
por usuario
624kbps
10-100bps
156kbps
10-100bps
384.000
> 1M
por sector Estrella Weightless
Estrella SigFox
-SIG
Roaming
14dBm
20dBm por usuario
U.L velocidad
To
Si
Estrella LoRa
Estrella 3GPP
Allience Si
Si
Si
Nodo a
Estrella,
Estrella,
Estrella
Nodo
arbol
arbol
IEEE802.1
DASH7
Ingenu
Waviot
1ah
Allience
IEEE802.1
Si
Si
Si
1
Tabla 1. Comparación tecnologías LPWANS
3.3 LoRa “preferencia tecnológica” La tecnología que se implementa para llevar a cabo la solución en particular, luego de haber analizado las diferentes tecnologías con las cuales se pueden trabajar como se observa en la tabla 1, es la tecnología LORA; esta tecnología permite enviar información en un rango de 2 a 5km en un ambiente urbano y de 8 a 10km en ambiente rural, con un consumo de potencia en transmisión en <+27dBm y con un tamaño de paquete programado para llevar a cabo la trasferencia de los datos. La implementación de la infraestructura LoRa se basa en una red de un concentrador Gateway y tres nodos de enlace, se realiza con una topología en estrella ya que permite realizar la conexión de multipunto a punto; La arquitectura LoRa se observa en la figura 27, esta permite establecer una comunicación entre el objeto conectado hasta la aplicación a utilizar
41
Fig 27. Arquitectura sistema LoRa
La arquitectura de red LoRa utiliza una topología de estrella en la que cada nodo final se comunica con la puerta de enlace que se comunica con el servidor de red. LoRa se compone de cuatro elementos de red:
Los nodos finales recopilan datos de sensor, lo transmiten upstream y downstream, y reciben la comunicación desde el servidor de aplicaciones. Los dispositivos de Endpoint usan comunicación inalámbrica single-hop con el gateway
El Gateway actúa como un puente transparente y retransmite los datos bidireccionales entre los nodos finales y los servidores upstream.
El servidor de red se conecta a la puerta de enlace a través de una conexión TCP/IP segura, ya sea por cable o inalámbrica; elimina los mensajes duplicados; decide qué compuerta debe responder a un mensaje de nodo final; y gestiona el nodo final, las velocidades de transmisión de datos con una velocidad de datos adaptable (ADR), destinadas a maximizar la capacidad de la red y extender la vida útil de la batería del nodo final.
El servidor de la aplicación recopila y analiza los datos de los nodos finales y determina las lecturas en el nodo final.
42
3.3.1 LoraWan Es una red de área amplia de baja potencia, utiliza la capa física LoRa y define el protocolo de comunicación y la arquitectura del sistema, que son los parámetros determinantes del ahorro de energía en la batería de un nodo, así como también de la capacidad de la red, calidad del servicio y seguridad. LoRaWAN define el propio protocolo MAC y la arquitectura del sistema de la red y a nivel físico, en cambio es LoRa quien permite el enlace de comunicación de largo alcance. LoRaWAN puede emplear la modulación LoRa o FSK a nivel físico. El protocolo LoRaWAN toma en cuenta los requisitos clave de internet de las cosas y está optimizado para sensores de bajo coste operados con batería, es totalmente bidireccional y fue diseñado para garantizar la fiabilidad y la seguridad en la red, así como también permite localizar y rastrear fácilmente objetos móviles. LoRaWAN ha clasificado en tres clases a los nodos para optimizar la compensación entre la latencia de la red y la duración de la batería.
3.3.2 Factor de dispersión (sf) Al utilizar una modulación basada en técnicas de espectro ensanchado y variaciones del factor de propagación LoRaWAN presenta diferentes velocidades de trasmisión en función de la señal comprendidas entre el rango 0.3kbps y 22kbps. La red LoRaWAN será la encargada de administrar el factor de ensanchamiento utilizado y la potencia de señal de transmisión para optimizar el rendimiento y la escalabilidad
Tabla 2. Tasa de bits equivalente con respecto a la sensibilidad Se debe considerar que a mayor distancia entre el nodo y el Gateway el factor de dispersión será mayor, disminuyendo la velocidad de trasmisión, así como también la sensibilidad en el receptor debería ser mayor. Esto se puede observar de una manera más clara en la siguiente figura, la misma que detalla la evolución de la señal conforme se aleja del punto emisor. 43
Fig 28. Relación velocidad/distancia
3.3.3 Trama de comunicaciones En LoRaWAN se encuentran dos tipos de mensaje downlink y uplink. Los mensajes de uplink los envían los dispositivos finales (nodos) al servidor de red, utilizando el gateway como intermediario, estos mensajes utilizan el modo explícito de paquetes de radio LoRa, en el que se incluyen:
Tabla 3. Estructura PHY de mensajes de uplink En la figura 29 se observa el preámbulo el cual cuenta con 8 bytes de longitud, la cabecera y la carga útil en el sistema uplink
Fig 29. Estructura PHY Uplink
Cada mensaje de downlink es enviado por el servidor de red a un solo dispositivo final (nodos) pasando por el gateway, estos mensajes utilizan el modo explícito de paquete de radio, en el que se incluye el encabezado físico LoRa. 44
Tabla 4. Estructura PHY de mensajes de downlink En la figura 30 se observa el preámbulo, la cabecera y la carga útil en el sistema downlink
Fig 30. Estructura PHY Uplink
El Payload de capa física cuenta con una cabecera MAC, el MAC Payload y un Message Integrity Code, un código de cuatro bytes que se calcula a partir de la Network session key (NwkSKey). La cabecera MAC especifica el tipo de mensaje y la versión del formato de la trama de la especificación de la capa LoRaWAN con la que ha sido codificada. Existen seis tipos de mensajes MAC. MType Descripción 000
Join Request
001
Join Accept
010
Unconfirmed Data Up
011
Unconfirmed Data Down
100
Confirmed Data Up
101
Confirmed Data Down
110
RFU
111
Proprietary
Tabla 5. Tipos de mensaje MAC
45
El MACPayload incluye una cabecera de trama, un campo de puerto opcional y un campo de Payload de trama opcional (Tabla 6).
Tabla 6. MAC Payload La cabecera de trama contiene la dirección con la que se identifica el dispositivo dentro de la red, un campo FCtrl para habilitar el Adaptive data rate, un contador de tramas y un campo FOpts en el caso de que se deseé transmitir un comando MAC. El campo FPort sirve para determinar si el campo FRMPayload contiene comandos MAC o datos de la aplicación
Tabla 7. Esquema FHDR Los siete bits más significativos del campo DevAddr se utilizan para el identificador de red (NwkID) mientras que los veinticinco restantes corresponden a la dirección de red (NwkAddr), la cual puede ser asignada por el administrador de la red. La comunicación en LoRaWAN se efectúa entonces de nodos a gateway y de gateway al servidor de red. El gateway es el encargado de convertir los paquetes LoRaWAN en paquetes UDP. El nodo puede trasmitir tantos mensajes seguidos como números de canales tenga habilitados. Cuando el nodo transmite un mensaje con confirmación, este llega al gateway, que convierte el mensaje en un paquete UDP y lo reenvía al servidor de red. Aunque el mensaje no requiera confirmación, el gateway sí recibe respuesta del servidor de red. Una vez ha transmitido por el último canal disponible, el nodo no podrá volver a transmitir hasta pasado el ciclo de trabajo de cada canal. El tamaño máximo de payload es de 250 bytes suficiente para la transmisión de los datos de los sensores. (Carrion, 2017) Cuando se realiza la sincronización y transmisión de los datos correctamente, en el código se observa una réplica que realiza el nodo hacia el gateway indicando que el dato del nodo que se identificó hacia el gateway llego conforme se esperaba con su respectivo byte de sincronización; en la figura 31 se observa el código implementado
46
Fig 31. Replica en la trama de datos
En caso contrario si no hubo una réplica conforme a lo que envió el nodo que se identificó, este cuenta con un sistema de advertencia donde indica que no se ha recibido nada por parte del mismo, el nodo pregunta si el sistema del Gateway se encuentra abierto para recibir su dato, si no es así enviara un error correspondiente.
Fig 32. Error en la trama de comunicaciones
LoRaWAN es un protocolo de capa de control de acceso a medios para gestionar la comunicación entre las pasarelas LPWAN y los dispositivos de nodo final, mantenidos por LoRa Alliance como se observa en la figura 33.
47
Fig 33. Protocolo de capa de control de acceso a medios
3.4 Sensores Los sensores permiten realizar la validación del dato a comparar con patrones certificados, estos sensores permiten realizar la lectura de las variables físicas que se quieren analizar, las cuales son: Temperatura, Humedad, Radiación y Ph; Con esto se necesitan sensores especiales los cuales cuentan con unas especificaciones técnicas para lo que se requiere en este caso, ya que es para realizar la medición de las variables en terreno deben contar con la capacidad para realizar lecturas validas en el ambiente que sean instalados, de tal modo que si no cuentan con especificaciones para estos terrenos la lectura entregada por parte del sensor no será una lectura valida y se tendrán errores en la lectura por parte de la base de datos.
3.4.1 Comparación tecnológica de sensores Los parámetros para tener en cuenta la versatilidad de los sensores son los siguientes:
Sensibilidad: Se define como la cantidad mínima que el sensor será capaz de medir y por lo tanto, modificará la salida. Si ponemos el ejemplo de un sensor de temperatura, la sensibilidad será cuantos grados es capaz de detectar para que modifique la salida en voltios.
Rango de valores: son los valores máximo y mínimo que es capaz de medir el sensor. En este caso se tendrá una temperatura mínima y una temperatura máxima. Dependerá de las condiciones físicas del propio sensor.
Precisión: en términos coloquiales podemos decir que es el error que se produce entre el valor real y el valor obtenido. Por ejemplo, si tenemos la certeza de que la temperatura es de 25º C y medimos con el sensor, la desviación obtenida con el sensor nos dará la precisión ± Xº C. 48
Tiempo de respuesta: los sensores no cambian su estado de salida inmediatamente. Para que cambie la salida con respecto a una entrada debe pasar un tiempo y a este tiempo se le llama el tiempo de respuesta. Por lo tanto será el tiempo necesario para que cuando se produzca un cambio en la entrada este produzca un cambio en la salida. Se suele medir en % es decir, cuanto tiempo tarda en producirse un % de la variación.
Offset: este parámetro lo ideal es que sea cero, es un factor de corrección que se debe tener en cuenta a la hora de hacer los cálculos. Se puede resumir como el valor de salida que se tiene cuando debería ser cero.
Al tener en cuenta estos parámetros se realizan las comparaciones necesarias para establecer los criterios en la selección de los sensores que más se adecuen a los valores requeridos para el proceso del desarrollo del prototipo. Temperatura: Sensor
Lm-35
TC-74
DH-T11
DS18B20
TPA81
Voltaje de
4V-30V
2.7v – 5.5v
3 V a 5,5
2.2 V a
2.7v – 5.5v
V
5.5V
Operación Rango de
-55° C a
-40° C a
0º C a 50º
-100°C a
-100°C –
temperaturas
150°C
125°C
C
580°C
780°C
Precisión
+- 0,5°C
3º C de 0º
±2º C
0,3ºC
0.02°C
50% 1 min
100% 20
100%
sg
30Ssg
C a 125º C Tiempo de
100% 4
100% 2
respuesta
min
min
Resolución
8-bit
8-bit
8-bit
14 bit.
10 bit.
Offset
0V
0V
0V
0V
0V
Tabla 8. Comparación tecnológica sensores de temperatura Al tener las especificaciones técnicas de cada uno de los sensores de temperatura posibles empleados para trabajar, se opta por el sensor “DS18B20” ya que permite realizar una lectura valida con resolución de 14 bits, así mismo cuenta con una precisión de 0,3°C lo que es un valor confiable para el tratamiento de la temperatura de la tierra, de igual forma es el único sensor que cuenta una pieza de acero inoxidable la cual permite que sea introducida en terreno con una profundidad de 6 cm, este sensor requiere de un circuito para poder obtener el valor del dato. 49
Humedad: El sensor de humedad implementado es el YL-60 este sensor permite realizar la lectura del valor de la humedad de la tierra generando un voltaje entre sus puntas, dependiendo la resistencia de la tierra este obtendrá un valor en corriente la cual es analizada por un circuito externo y después convertida a valores en porcentajes de 0 a 100%.
Radiación: El sensor de Radiación UV cuenta con un circuito que permite realizar lecturas validas de radiación en la escala de 0 a 11+ el cual dependiendo del voltaje de salida en mv permitirá conocer el valor de radiación.
Ph: El sensor de Ph cuenta con una sonda con un electrodo que dependiendo de la base o acidez de la tierra entregara los correspondientes datos de ph a la tarjeta externa, esta tarjeta enviará el dato correspondiente al Ph analizado.
En la figura 34 se observa el circuito que se diseñó para la adquisición de los datos provenientes de los sensores anteriormente descritos.
Fig 34. Circuito para la adquisición de datos de los sensores
3.4.2 Adquisición de datos Se componen de tres nodos (Arduino uno + Shield LoRa) los cuales tienen los mismos sensores (temperatura, humedad, radiación, Ph) para realizar la medición de las variables físicas en puntos estratégicos dentro del área del cultivo. 50
Fig 35. Nodos con los “Id” correspondientes
Al realizar la adquisición de los datos provenientes de los sensores implementados se configuran a través de un código en arduino el cual permite realizar la verificación de la lectura de cada uno de estos, el LoRa Shield permite realizar la lectura y escritura del arduino sin que se vea afectado su funcionamiento. El circuito implementado para el LoRa Shield se observa en la Figura 36.
Fig 36. Circuito LoRa Shield arduino
Es así que el circuito para cada uno de los nodos utiliza la conexión del arduino + LoRa shield, en la figura 37, se observan la conexiones que se realizaron para la lectura de los sensores por parte del arduino + LoRa shield. 51
Fig 37. Conexión datos con arduino + LoRa shield.
La verificación por redundancia cíclica
(CRC) es un código de detección de errores usado
frecuentemente en redes digitales y en dispositivos de almacenamiento para detectar cambios accidentales en los datos. En el código implementado en cada uno de los nodos se relaciona la configuración de corrección de errores “CRC16” para permitir que los datos provenientes de cada uno de los sensores sean valores verídicos y no valores producidos por ruido o por algún ente externo que pueda llegar a generar este tipo de valores, en la figura 38 se observa el código implementado para la corrección de errores, este código sirve tanto para lectura del dato y envío del mismo por el sistema inalámbrico LoRa.
Fig 38. Código detección de errores 52
3.5 Configuración de la red LoRa A continuación se detallan los pasos correspondientes para realizar la configuración de la red LoRa; la programación del dispositivo LoRa se lleva a cabo en la plataforma de desarrollo libre Arduino, esto se debe a que el modulo implementado no cuenta con un software propietario que permita realizar los ajustes de los parámetros necesarios para la configuración del mismo.
Paso 1: Una vez establecidas las tecnologías frente a la unidad de control y sensorica se deben tener en cuenta los parámetros de configuración para cada uno de estos; Arduino uno como unidad de control cuenta con una plataforma libre de programación que permite establecer la lectura de los datos provenientes de los sensores, a continuación se observa el código implementado para la lectura de cada una de las variables físicas (temperatura, humedad, radiación y Ph): o Temperatura: Se establecen las librerías “Onewire y Dallastemperature” de acuerdo al sensor que se implementó “DS18B20”, se establece la comunicación 1-wire para el pin 3, se envía el comando para la obtención de la temperatura, se obtiene el dato y es guardado en “data [4]”.
Fig 39. Código adquisición de datos (temperatura)
o Humedad: El sensor de humedad implementado es el YL-60 este sensor permite realizar la lectura del valor de la humedad de la tierra generando un voltaje entre sus puntas, dependiendo la resistencia de la tierra este obtendrá un valor en corriente la cual es analizada por un circuito externo y después convertida a valores en porcentajes de 0 a 100%. 53
o Fig 40. Código adquisición de datos (humedad)
Paso 2: Para realizar la comunicación del módulo LoRa shield con el arduino se debe configurar el sistema con el protocolo de comunicaciones “SPI” entre el LoRa shield y el arduino uno, esto se hace incluyendo la librería en el arduino la cual permite realizar la comunicación entre los dispositivos, así mismo se incluyen las librerías necesarias para realizar la respectiva comunicación LoRa, y el funcionamiento del dispositivo.
Fig 41. Modelo SPI
Se incluyen en el código los parámetros SPI, Radiofrecuencia (RG_RF95), SF: 8, Frecuencia: 915MHz, los cuales permiten realizar la comunicación con el Gateway, en la figura 42 se observa la configuración de estos parámetros. 54
Estos parámetros se deben configurar en el código inicial ya que permiten establecer las especificaciones con las cuales trabajará cada uno de los nodos. Al tener los parámetros de configuración de la red definidos, se realiza la programación para permitir realizar la comunicación entre los nodos y el Gateway, se deben tener en cuenta que en cada uno de los nodos se necesitan realizar las siguientes configuraciones:
Arduino UNO: Este permite realizar la lectura por parte de los datos entregados de los sensores que miden las variables físicas.
Fig 42. Configuración parámetros base Arduino + LoRa Shield
Los parámetros independientes de configuración en los dispositivos LoRa de la red se establecen a partir de:
BW: Ancho de banda (entre más bajo sea este valor, el tiempo de transmisión será mayor) “250KHz”
SF rate: Es el factor de alcance expresado como logaritmo base 2, cuando mayor sea este valor, mejor será el rendimiento en la transmisión de datos “SF8”
CRC: Verificación por redundancia cíclica permite llevar a cabo una verificación de los datos que serán transmitidos y recibidos. “CRC16”
FRECUENCIA: Frecuencia para poder utilizar la transmisión de datos para el territorio colombiano “915MHz”
55
Radiohead: Proporciona una biblioteca completa orientada a objetos para enviar y recibir mensajes a través de una variedad de radios de datos comunes y otros transportes para microprocesadores integrados. “RH_RF95”
ID: Identificador del nodo el cual estará acoplado con el Gateway, para saber de qué nodo se está enviando la información. NODO “111”
Al realizar la configuración de los parámetros base en el código, se procede a cargar los criterios de “detección de errores”; se realiza la implementación del código para lectura de cada uno de los sensores de las variables y se realiza el ajuste de “id” del nodo, esto para que el Gateway reconozca que dispositivo es el que realizará el envío de la trama de datos.
Fig 43. Configuración “Id” LoRa Shield
3.6 Gateway Dragino LG-01S El gateway dragino LG-01S es un dispositivo dentro de la arquitectura de red que recibe los datos transmitidos por un dispositivo de nodo final y el cual reenvía los paquetes de datos a un servidor de red centralizado. Este Gateway es un puente transparente entre los dispositivos finales y el servidor de red 56
central. Los tres nodos se conectan al gateway, mediante una conexión inalámbrica de un solo salto, usando tecnología RF LoRa, formando así una topología de red en estrella. El gateway se conecta al servidor de red central por medio de conexiones IP estándar. Las comunicaciones entre los dispositivos y el servidor de red son bidireccionales. 3.6.1 Ventajas gateway LG-01S 1. Las pasarelas se ejecutan con un firmware mínimo, por lo que son de bajo costo y fáciles de usar y solo ejecutan el software de reenvío de paquetes. 2. Gateway que ejecuta un sistema operativo, para el cual el software de reenvío de paquetes se ejecuta como un programa de fondo. Esto le da más libertad al administrador del gateway para administrar su puerta de enlace e instalar su propio software. 3. Cuenta con las siguientes especificaciones con las cuales se puede realizar el proceso de configuración de red óptimo para el prototipo.
Open Source Linux (OpenWrt) dentro. El usuario puede modificar o compilar el firmware con funciones personalizadas y marca propia. Bajo consumo de energía (400ma) Compatible con Arduino IDE 1.5.4 o posterior, el usuario puede programar, depurar o cargar bocetos en la MCU a través de Arduino IDE. Administrado por Web GUI, SSH a través de LAN o WiFi. Software actualizable a través de la red. Servidor web incorporado. Soporte de conexión a internet a través del puerto LAN, WiFi o dongle 3G / 4G. Presupuesto de enlace máximo de 168 dB, +20 dBm - 100 mW de salida de RF constante vs. +14 dBm de alta eficiencia PA. Bit Velocidad de bits programable de hasta 300 kbps; Alta sensibilidad: hasta -148 dBm. Motor de paquete de hasta 256 bytes con CRC
Teniendo en cuenta sus ventajas y especificaciones, se decide implementar este gateway ya que permite realizar el proceso completo para la lectura de los datos de cada uno de los nodos con un sistema seguro al recibir la información, puesto que cuenta con una encriptación AES 128 la cual corrobora que los datos sean seguros. 3.6.2 Configuración del gateway con cada nodo Para realizar el respectivo enlace entre los tres nodos y el Gateway es necesario configurar los parámetros base del Gateway, es así que el gateway permite realizar la configuración para el sistema de envío de la 57
información de los nodos con los sistemas “WiFi, celular 4G LTE, Celular 3G UMTS/HSPA+”, en este caso se realiza a través de un sistema Wifi. Se conecta el dispositivo a una red wifi disponible, con la ip por defecto (10.130.1.1)
Fig 44. Configuración Gateway
Al entrar al sistema se configura como “wifi client mode” esto para permitir que el Gateway pueda ser consultado a través de la red en la que se encuentra conectado
Fig 45. Acceso a internet a través de la red LAN
El sistema arduino reconoce al Gateway como (Arduino-uno – Dragino yun), y el puerto Ethernet permite realizar la lectura y escritura del código en el gateway sin que se vea afectado su funcionamiento.
58
Fig 46. Configuración gateway con arduino
Al tener la configuración base completa en el Gateway se encontrará enlazado con el servidor thingspeak, el cual permite observar el comportamiento de las variables físicas descritas, a través de internet (canales privados), para realizar este enlace de comunicación entre los nodos y el gateway se debe realizar la configuración del “id” del nodo, el channel id y el api key asignado por el servidor “thingspeak” en cada uno de los nodos. En la figura 47 se observa la configuración del Gateway con los nodos ej: nodo 111
Fig 47. Código configuración nodo con gateway
59
Al realizar esta configuración en el Gateway para cada uno de los nodos, el servidor “thingspeak” cuenta con los tres canales solicitados, se realiza de esta forma ya que permite por independiente conocer los valores de las variables físicas en cada nodo; cada uno cuenta con un “id” y “api key”
Fig 48. Channel “Id” y “api key”
De esta forma cada nodo tiene comunicación con el Gateway, y este permite enlazar la información al servidor “thingspeak” el cual permite visualizar los datos de las variables físicas (temperatura, humedad, radiación, Ph) por cada canal.
3.7 Modelo de conexión de datos La conexión que se establece para la implementación del aplicativo web se realiza mediante un modelo de cliente servidor (figura 49) donde el servidor proporciona todos los servicios respondiendo a las peticiones del cliente. Este modelo permite al cliente tener acceso a los servicios del servidor desde cualquier dispositivo con acceso a internet sin tener que realizar una configuración o instalación previa. Entre las ventajas se encuentran la capacidad de conexión de múltiples usuarios simultáneamente, adicionalmente la carga operacional se centra sobre el servidor, disminuyendo el procesamiento del dispositivo desde el cual accede al usuario.
60
Fig 49. Componentes modelo cliente servidor
Este modelo de conexión de datos funciona con varios procesos los cuales permiten llevar a cabo la comunicación de los nodos hasta el aplicativo web, en la figura 50 se explica la conexión por parte del software para permitir la visualización de los datos.
Fig 50. Modelo de conexión de datos
3.8 Servidor ThingsSpeak Después de realizar un estudio para determinar el servidor a utilizar para el almacenamiento de los datos entregados por el Gateway, se determinó el uso de los servicios proporcionados por ThingsSpeak, ya que ofrece características que suplen las necesidades para el correcto desarrollo del proyecto, algunas de estas características se describen a continuación:
Publicación y disponibilidad de acceso a los datos en tiempo real de manera automática.
Configuración de los dispositivos bajo los protocolos populares de IoT
61
Comunicación con diferentes software bajo el principio de API (Interfaz de programación de aplicaciones) proporcionados por ThingsSpeak que permiten la obtención de datos de una manera sencilla.
Documentación acerca de procesos que facilitan el desarrollo de nuevas aplicaciones de acuerdo a la necesidad del usuario.
Proporciona los servicios necesarios para el desarrollo del prototipo de manera libre.
En la búsqueda y pruebas con diferentes servidores como “the things network” no cumplían a cabalidad con las características que ofrece ThingsSpeak, ya que este servidor presenta inconvenientes con los datos que se desean subir por su razón por la cual se optó por elegir sus servicios que se adaptan adecuadamente a las necesidades del prototipo.
Fig 51.Comparación entre servidores web
Los datos de los sensores de cada nodo por medio del Gateway son clasificados y almacenados en tres canales (uno por cada nodo) en el servidor ThingsSpeak (Figura 52). Cada canal es identificado por un código único que será utilizado posteriormente para obtener los datos.
62
Fig 52.Canales del servidor ThingsSpeak
Para realizar la obtención de las mediciones a la base de datos se realiza por medio de un API proporcionada por ThingsSpeak. 3.8.1 API de lectura ThingsSpeak Es indispensable que para cualquier LPWAN se incorpore niveles de seguridad, con el fin de proteger los datos e información. LoRaWAN incluye dos niveles de seguridad uno para la red y otro para la aplicación. La seguridad de la red garantiza la autenticidad del nodo en la red, mientras que la capa de seguridad de la aplicación garantiza que el operador de red no tenga acceso a los datos de la aplicación del usuario final, esto se logra haciendo uso del algoritmo de cifrado AES128:
Network Session Key: Clave de 128 bits que garantiza la seguridad a nivel de red.
Application Session Key: Clave de 128 bits que garantiza la seguridad extremo a extremo a nivel de aplicación.
Application Key: Clave de 128 bits que garantiza la seguridad extremo a extremo a nivel de aplicación
Además, todo el tráfico entre un dispositivo final y un servidor de red se cifra y se firma mediante la utilización combinada de dos llaves: la llave de sesión de aplicación (AppSkey) y la llave de sesión de red (NwkSkey). Ambas llaves se derivan de la llave AppKey y sólo son conocidas por un dispositivo final concreto y el servidor de red. ThingsSpeak proporciona un API de escritura y uno de lectura que son generados automáticamente al momento de realizar la creación de un canal, cada uno de estos es identificado por el ID del canal y por una clave única que es denominada API Key. Para términos de
63
obtener los datos de las mediciones alojadas en el servidor se utilizan las API Key de lectura. En la figura 53 se puede identificar la API Key utilizada para cada canal.
Fig 53. Clave de escritura para cada canal del servidor ThingsSpeak
La obtención de datos del servidor ThingsSpeak se realiza por medio de una solicitud HTTP en el web service, en la que se utilizan los parámetros de ID y clave de lectura para cada canal como se observa en la figura 54.
Fig 54. Línea de código solicitud HTTP
La solicitud HTTP devuelve una cadena de caracteres como la que se muestra a continuación: “{"channel":{"id":338002,"name":"Nodo 1 _ 111","description":"Prueba de variables físicas","latitude":"4.5864396","longitude":"74.15902","field1":"Temperatura","field2":"Humedad","field3":"Radiación","field4":" PH","created_at":"2017-09-27T22:53:14Z","updated_at":"2018-0508T13:38:25Z","last_entry_id":228253},"feeds":[{"created_at":"2018-0508T13:38:08Z","entry_id":228252,"field1":null,"field2":"31","field3":null,"field4": null},{"created_at":"2018-05-
64
08T13:38:25Z","entry_id":228253,"field1":"17","field2":null,"field3":null,"field4": null}]}”
Esta cadena de caracteres es enviada a la base de datos para que sea tratada en un procedimiento almacenado. En la figura 55 se muestra el diagrama de los casos de uso correspondiente al procedimiento de obtención y almacenamiento de los datos
Fig 55. Diagrama casos de uso procedimiento de obtención y almacenamiento de los datos
3.9 Web Service Como se observó se utiliza un web service para consumir los datos de los sensores alojados en cada canal del servidor ThingsSpeak, el cual es implementado en el programa Visual Studio. Al realizar la abstracción se obtiene una cadena de caracteres que es enviada a la base de datos mediante un modelo de conexión, donde mediante un procedimiento almacenado se realiza la limpieza y extracción de la información de las mediciones que es clasificada en las tablas de previamente creadas en la base de datos.
3.10 Base de Datos Se diseña una Base de Datos relacional en SQL server, donde se almacenan los datos de forma ordenada para su posterior procesamiento. Se utiliza una base de datos relacional ya que garantiza la integridad de los datos y permite ser una solución escalable al momento que se necesite. Por ejemplo, la implementación de nuevos nodos o tipos de sensores. Como se identifica en la figura 56 el modelo relacional de la base de datos las entidades fuertes convergen hacia las alertas, con el fin de dar los 65
informes necesarios en el aplicativo web que sean útiles para el usuario. Se realiza la implementación de diferentes índices, triggers, funciones y vistas que permiten a la base de datos procesar grandes cantidades de datos efectivamente.
Fig 56. Diagrama relacional de la base de datos
3.11 Procesamiento de la Información Por medio de procedimientos almacenados en SQL server se realiza el respectivo tratamiento de la información que se va a mostrar en el aplicativo web (Estadísticas, alertas, datos de sensores para cada nodo). El uso de procedimientos almacenados permite tener toda la carga computacional en el motor de la base de datos, limitando el procesamiento del usuario final al mínimo. Para las estadísticas se toman los datos adquiridos durante los últimos siete días obteniendo para cada tipo de sensor de cada nodo el valor máximo, mínimo y el promedio de las mediciones. Para obtener la información de las alertas, se realiza comparación de los datos que se han almacenado para encontrar los valores que se encuentran por fuera del rango parametrizado previamente, se organiza la información de tal manera que se identifica fecha y hora, tipo de sensor, nodo y valor medido que se tomó en ese momento. Se realiza la organización de los datos de los sensores para cada nodo en el rango que sea seleccionado desde el aplicativo. Los datos son enviados al aplicativo web para que para ser mostrados mediante una gráfica. 66
3.12 Modelo de conexión Para proporcionar el acceso a los datos se utiliza una cadena de conexión por medio de autentificación por contraseña que previamente se ha establecido en la base de datos. Esta se realiza en el controlador del aplicativo web. 3.12.1 Aplicativo Web El desarrollo del aplicativo web se realiza en .NET bajo el programa Visual Studio utilizando la arquitectura MVC (Modelo, Vista, Controlador), ya que es una alternativa más que fiable a la hora de crear e implementar sistemas en los que se incluyen interfaces de usuario. El aplicativo posee una interface agradable al usuario permitiendo visualizar la información de los sensores de cada nodo, estadísticas en tiempo real y alertas cuando las medidas no están dentro de los parámetros que se pueden configurar mediante el mismo aplicativo. En la imagen 57 se muestra el diagrama de casos de uso del aplicativo web.
Fig 57. Diagrama de casos de uso del aplicativo web.
67
El aplicativo cuenta con siete pestañas; Inicio, Alertas, Temperatura, Humedad, Radiación, Ph y parámetros. En la pantalla de inicio se encuentra la presentación y una sección de estadísticas el cual cuenta con un selector de nodo (figura 58).
Fig 58. Inicio y sección de estadístico en el aplicativo web
La pestaña de alertas cuenta con cuatro filtros; tipo de sensor, nodo, fecha inicial, fecha final, que permiten clasificar la información que se muestra en el listar según la necesidad del usuario. Aquí se puede observar de una manera clara en qué momento se han presentado mediciones por fuera de los parámetros que se han establecido previamente. El listar cuenta con cuatro columnas que son; fecha, nodo, sensor y medición (figura 59).
68
Fig 59. Pestaña alertas aplicativo web
En las pestañas de temperatura, humedad, radiación y ph se muestran los datos almacenados en la base de datos mediante gráficas interactivas. Cada pestaña cuenta con un selector de nodo para intercambiar entre los datos de cada uno (figura 60)
Fig 60. Pestaña Temperatura aplicativo web 69
En la pestaña de parámetros (Figura 61) permite realizar la parametrización de los rangos de límites para cada tipo de sensor. Cada tipo de sensor cuenta con dos campos editables para establecer el máximo y mínimo para cada uno.
Fig 61. Pestaña Parámetros aplicativo web
70
Capítulo 4 4. Resultados, análisis y obtención de Datos 4.1 Hardware La implementación del hardware se llevó a cabo en un cultivo agrícola el cual permitió realizar las lecturas de las principales variables físicas que afectan a un cultivo (temperatura, humedad, radiación y Ph), el desarrollo de hardware se desarrolló bajo las condiciones climatológicas que se presentan en terreno, para esto fue necesario el diseño de una caja protectora en cada uno de los nodos con unas características especiales las cuales permiten proteger los circuitos (Arduino + LoRa shield + Tarjeta adquisición de datos) del ambiente. (Figura 62).
Fig 62. Caja de protección para nodos en terreno
La tarjeta de adquisición de datos para los sensores se observa en la figura 63, en esta fue necesario realizar acoples entre tierras y la batería, ya que presentaba ruido al recibir los datos provenientes de los sensores. 71
La tarjeta cuenta con dimensiones de 5cm de largo por 4cm de alto, se conecta con el arduino + LoRa shield a través de jumpers los cuales envían el dato correspondiente de los sensores al arduino + LoRa shield para que así sean enviados al Gateway. El arduino + LoRa Shield cuenta con un código fuente el cual permite realizar envíos de datos al Gateway cada 15 segundos por sensor de cada nodo.
Fig 63. Circuito adquisición de datos
La fuente de alimentación para todo el circuito en cada nodo se realiza a través de baterías recargables, estas baterías permiten que cada nodo tenga una carga aproximada de 7 días las 24 horas, debido a que en el código fuente de cada nodo se establece que debe ser activado solo cuando vaya a enviar información, de lo contrario se encuentre en un estado de hibernación, esto se realiza con tiempos configurables; se desea implementar un sistema independiente que funcione con energía solar y baterías ya que se tendría autonomía total del nodo. El consumo de cada nodo se observa en la tabla 9. Dispositivo
Consumo mA
Estado transmisión
Tarjeta datos
7.2
9.5
Arduino
6.8
10.5
LoRa Shield
1.2
13.5
Tabla 9. Consumo de corriente por cada Nodo
72
4.2 Sensores Los sensores permitieron obtener información verídica durante el proceso de prueba, sin embargo el sensor de ph presenta fallas en la lectura debido a que el sensor implementado no está diseñado específicamente para sistemas agrícolas, este sensor se presenta solo para muestro de la tierra más no debe de ser constante su medición ya que si se encuentra en terreno todo el tiempo no dará una información valida. Los sensores de temperatura, humedad y radiación tuvieron un comportamiento óptimo, con un desgaste mínimo de sus componentes debido a las condiciones climatológicas a las que estuvieron expuestos.
Fig 64. Sensor de humedad y temperatura después de estar en terreno
4.3 Comunicación LoRa Se realizaron las pruebas necesarias de distancia entre cada nodo y el Gateway, realizando una topología en estrella donde cada nodo envía información aproximada en un minuto y medio (90 sg). Fueron implementados en un cultivo agrícola en el municipio de Sibaté (Cundinamarca), donde el cultivo cuenta con una extensión de tres kilómetros de área aproximada (figura 65). Los puntos que se tuvieron en cuenta fue distancia en línea de vista, y en no línea de vista, porcentaje de paquetes perdidos en el envío de información, los resultados se observan en la tabla 10. Distancia (m)
Paquetes totales
% paquetes perdidos
RSSI medio (dBm)
100
100
0
-27.72
500
100
0
-45.51
1000
100
1
-44.09
1500
100
1
-75..80
2000
100
1
-80.6
2500
100
2
-94.6
2950
100
12
-90.61
Tabla 10. Prueba distancia sin línea de vista 73
Los resultados obtenidos denotan una clara pérdida de prestaciones con el aumento de la distancia entre los nodos, como era de esperar. Esta tendencia a la baja está claramente representada con el RSSI, el cual indica la potencia con la que llega la señal al receptor, estando el límite de una comunicación fiable alrededor de los -90 dBm. Como se ha comentado inicialmente el alcance de la tecnología LoRa dista mucho de las especificaciones dadas debido a la diferencia de potencia. El alcance según los reguladores es de 2.5-5 km a 151 dBm de potencia. En la prueba, se ha conseguido llegar a los 2500 metros con un dispositivo comercial, como lo es Arduino + LoRa shield. En la figura 65 se observa la distribución de los nodos y el punto central del Gateway en la cual fueron realizadas las pruebas.
Fig 65. Distancia nodos con el Gateway, pruebas en terreno
Debido a que en el terreno siempre se obtuvo comunicación entre los nodos y el Gateway en línea de vista con la distancia máxima de 3 kilómetros, se decidió implementar el prototipo en la ciudad de Bogotá para conocer los máximos valores que puede llegar a alcanzar esta tecnología con respecto a la distancia. Cada nodo cuenta con un sistema agrícola en “materas” en la cual se pueden obtener los mismos parámetros de variables físicas, esto para determinar la prueba máxima de distancia en línea de vista y, teniendo en cuenta factores como edificios, puentes entre otros, en la tabla 11 se observan los valores de distancia máxima empleados en línea de vista en ambiente urbano. 74
Distancia (m)
Paquetes totales
% paquetes perdidos
RSSI medio (dBm)
100
100
0
-27.72
1000
100
0
-45.51
1500
100
1
-44.09
2000
100
1
-75..80
3000
100
1
-80.6
4000
100
2
-94.6
5000
100
12
-90.61
6000
100
14
-90.75
7000
100
15
-90.80
8000
100
16
-90.99
9000
100
16
-90.1
9500
100
20
-90.15
Tabla 11. Prueba distancia máxima
Por lo cual a partir de los 5000 metros el dispositivo empieza a tener pérdidas de información ya que presenta dificultades en la señal debido a los entes externos que la rodean a ella, es por eso que el dispositivo aplica en rangos óptimos de 10 metros hasta los 4900 metros, lo que conlleva a que sea una tecnología de largo alcance con bajo consumo energético.
Fig 66. Nodos después de estar en terreno
En la tabla 12 se observan las configuraciones empleadas en cada nodo con parámetros como SF, BW, C-R, para determinar los valores de consumo energético de transmisión y recepción de los datos, 75
estabilidad de la señal. Esta prueba se realizó habilitando solo un canal para que él Gateway permitierá el mayor tiempo de recepción de los datos enviados.
Tabla 12. Recopilación de datos con los parámetros configurables por software
4.3.1 Longitud de Onda La longitud de onda (lambda) es inversamente proporcional a la frecuencia de la onda. Una longitud de onda larga corresponde a una frecuencia baja, mientras que una longitud de onda corta corresponde una frecuencia alta. La longitud de onda corresponde a la siguiente ecuación (1): (“Longitud de onda EcuRed,” n.d.)
𝜆=
𝑐 𝑓
(1)
Donde "λ" es la longitud de onda, "c" es la velocidad de propagación de la onda, y "f" es la frecuencia. Para el caso de sistemas inalámbricos como LoRa los valores correspondientes en (1) son: 𝜆=
3𝑥108 𝑚/𝑠 915𝑀ℎ𝑧
= 0.327𝑚
4.3.2 Pérdidas por propagación Uno de los aspectos básico en el diseño de un sistema inalámbrico es el de determinar qué nivel de potencia medio se recibirá en un receptor situado a una distancia d de la antena transmisora. Las ecuaciones de Maxwell permiten predecir la potencia recibida, P, en el espacio libre según la siguientes ecuaciones (2) y (3): 76
𝜆
2
𝑃𝑟𝑥 = 𝑃𝑡𝑥 ∗ 𝐺𝑡𝑥 ∗ 𝐺𝑟𝑥 ∗ (4𝜋𝑑) (2) 𝑃𝑟𝑥 = 𝑃𝑡𝑥 + 𝐺𝑡𝑥 9 + 𝐺𝑟𝑥 − 𝐿𝑝𝑓 (3)
Donde 𝑃𝑡𝑥 es la potencia transmitida, 𝐺𝑡𝑥 y 𝐺𝑟𝑥 son las ganancias de las antenas transmisoras receptoras, λ la longitud de onda y d la distancia, 𝐿𝑝𝑓 perdida por espacio libre. Para el sistema LoRa se tienen los siguientes datos: 𝑃𝑡𝑥 = 120𝑚𝑊 , 𝐺𝑡𝑥 = 2.238𝑊 , 𝐺𝑟𝑥 = 2.238𝑊, 𝜆 = 0.327𝑚 , 𝑑 = 2000𝑚
Solucionando la ecuación (2) para el sistema LoRa se obtiene lo siguiente: 0.327𝑚
𝑃𝑟𝑥 = 120𝑚𝑊 ∗ 2.238𝑊 ∗ 2.238𝑊 ∗ (4𝜋(2000𝑚))
2
𝑃𝑟𝑥 = 1.017𝑥10−10 𝑊
Convirtiendo a dBm: 𝑃𝑟𝑥 = 69.92𝑑𝐵𝑚
Las pérdidas por espacio libre están representadas por la ecuación (4): 𝐿𝑝𝑓 = 32.4 + 20log(𝑓𝑀ℎ𝑧) + 20log(𝑑𝑚) (4) 𝐿𝑝𝑓 = 32.4 + 20log(915𝑀ℎ𝑧) + 20log(2000𝑚) 𝐿𝑝𝑓 = 97.6𝑑𝐵
Aplicando la ecuación (4) en (3) se obtiene: 𝑃𝑟𝑥 = 20.79𝑑𝐵𝑚 + 3.5𝑑𝑏𝑖 + 3.5𝑑𝑏𝑖 − 97.6𝑑𝐵 𝑃𝑟𝑥 = −69.71𝑑𝑏𝑚
A partir de la relación que hay entre las ecuaciones de Maxwell y las pérdidas por espacio libre los resultados aplicados al sistema LoRa son similares, con una exactitud del 99.69% entre estas. (Oriol Sallent Roig, José Luis Valenzuela González, 2003) La antena implementada para la transmisión de los datos desde cada uno de los nodos fue la antena Sigfox, ya que cuenta con las especificaciones técnicas necesarias para la transmisión inalámbrica en la frecuencia de 915Mhz, con ganancia de 3dbi y el acople de impedancias entre la misma y el dispositivo 77
LoRa shield. Al ser omnidireccional permite tener un rango de cobertura mayor para realizar el correcto proceso de transmisión.
Fig 67. Antena sigfox 3dbi ganancia
4.4 Gateway El Gateway cuenta con las coordenadas previamente configuradas (figura 68), estas permiten conocer el estado actual (on/off) del mismo, ya que si el gateway no se encuentra encendido generará una alerta directa al usuario, esto para que la base de datos no se quede sin registrar información provenientes de los nodos.
Fig 68. Coordenadas de transmisión Gateway
Las pruebas fueron realizadas con la configuración básica del Gateway, a través de una red wifi, el Gateway se deja configurado para realizar el envío al servidor público thingspeak, así mismo el dispositivo se probó con una red 3g a través de una “sim card” pero el flujo de datos que se requiere debe de ser de gran capacidad para poder tener una estadística que permita ver el comportamiento de las variables en terreno.
78
De acuerdo a las condiciones climatológicas del cultivo, se requieren que los parámetros en el aplicativo web estén dentro de los rangos establecidos, esto para permitir que se realice una lectura verídica de las condiciones iniciales, al tener parámetros fuera de los rangos mencionados se generarán las respetivas alarmas
Temperatura: Día entre 18 y 25° C, noche entre 8 y 13°C, Humedad: entre el 60 y 75 % Requerimiento hídrico: 400-600mm/ año Tipo de suelo: Arenoso o franco arenoso con contenido de arena superior a 50%. Rango de Ph: Moderadamente ácido, valores entre 5,7 y 6,5 Luminosidad: Las variedades de día corto requieren entre 8 y 12 horas de luz. Radiación uv: entre el 2 a 9 puntos uv
4.5 Aplicativo web La implementación del aplicativo web logro cubrir a cabalidad con el enfoque IoT del prototipo, pues logra ser accesible desde cualquier dispositivo con conexión a internet. Adicionalmente la información suministrada por el mismo permite realizar el monitoreo completo del cultivo en los lugares donde se realizó la instalación de los nodos, determinando el estado del cultivo en cuanto a las variables físicas medibles que pueden afectarlo. La estructuración del aplicativo web permite ser accesible e intuitivo para el usuario, inclusive para personas que no tengan conocimientos avanzados en computación, brindando toda la información necesaria para la toma de decisiones oportuna. Los datos estadísticos (figura 69), buscan dar un estado general de las condiciones físicas del cultivo durante la última semana, validando el comportamiento de las variables. Para esto se realiza un estudio de los datos medidos en cada nodo durante el tiempo establecido, identificando el valor máximo, mínimo y el promedio de los valores medidos.
Fig 69. Estadísticas tomadas del aplicativo 79
4.5.1 Obtención de datos del servidor Thingspeak Durante las mediciones del prototipo en campo se identificó un problema al obtener los datos del servidor Thingspeak, ya que al ser un servidor gratuito presenta un bajo porcentaje de interrupciones al consumir los datos, pero que generan fallos el web service. Para solucionar este inconveniente se realiza un bloque de Try/Catch con el fin de capturar las excepciones y que el web service se continúe ejecutando. En la figura 70 se observa el código implementado.
Fig 70. Código obtención de datos del servidor Thingspeak
4.5.2 Tratamiento de los datos El proceso de tratamiento de los datos se realiza desde su verificación, garantizando la legibilidad y consistencia de la totalidad de las mediciones. Una vez se realiza la recopilación y registro de los datos, estos son sometidos a un proceso de análisis con el fin de precisar la información que sea de mayor utilidad para el agricultor a la hora de monitorear el cultivo. Esta estructuración de los datos garantiza que la información que posteriormente será consultada por medio del aplicativo web sea entendible para el común de las personas, sin tener que realizar ningún tipo de análisis adicional. La información hace de la herramienta un elemento determinante para consolidarse como un prototipo útil que realmente proporciona resultados inmediatos desde su puesta en funcionamiento. 80
4.5.3 Alertas El módulo de alertas es uno de los más destacados en el aplicativo web ya que la información que brinda oportunamente es de gran utilidad al momento de identificar factores físicos que puedan afectar el cultivo. La generación de alertas en tiempo real permitió a los agricultores realizar acciones correctivas y preventivas necesarias para mantener el cultivo bajo las condiciones físicas necesarias para que no genere perdidas y no se afecte la calidad del producto. Se realizaron diferentes tipos de pruebas al aplicativo para garantizar que su funcionamiento fuera el esperado al momento de estar en funcionamiento, a continuación se describe las pruebas y validaciones realizadas:
Veracidad y confiabilidad de la información, se realizó monitoreo de la información publicada en el aplicativo comparada con la almacenada en la base de datos, tomando tres muestras aleatorias al día. Estas muestras fueron tomadas desde diferentes secciones del aplicativo (Estadísticas, alertas y datos de mediciones desde sus distintos nodos y tipos de sensor). En la Figura 71 se observa un ejemplo de muestra tomada para el nodo 2 en el sensor de temperatura en una fecha determinada.
Fig 71. Muestra tomada para el nodo 2 en el sensor de temperatura.
Tiempo de respuesta y usuarios simultáneos, se realiza prueba de 10 usuarios interactuando simultáneamente en el aplicativo desde diferentes dispositivos entre los que se encontraban Celulares, ordenadores, etc. Durante la prueba se tomaron 20 muestras en intervalos de treinta 81
segundos cada uno, los resultados tuvieron pequeñas fluctuaciones en los tiempos de respuesta del aplicativo los cuales no dependían directamente del servidor, sino de la velocidad y calidad de conexión de cada dispositivo. En la tabla 5 se muestran los resultados obtenidos en las mediciones. En la figura 72 se muestra una gráfica con los tiempos de respuesta promedios obtenidos en las pruebas Tiempo Min (Seg) Tiempo Max (Seg) Dispositivo 1 0,5 0,5 Dispositivo 2 0,5 0,7 Dispositivo 3 1 1,2 Dispositivo 4 1,4 1,4 Dispositivo 5 0,6 1 Dispositivo 6 0,5 0,9 Dispositivo 7 1,5 1,9 Dispositivo 8 0,6 0,8 Dispositivo 9 1,1 1,6 Dispositivo 10 0,5 1,3 Dispositivo 11 0,5 0,8 Dispositivo 12 0,7 1,3 Dispositivo 13 1,4 1,6 Dispositivo 14 0,4 0,6 Dispositivo 15 1,9 2,3 Dispositivo 16 0,6 1,2 Dispositivo 17 0,9 0,9 Dispositivo 18 1 1,6 Dispositivo 19 0,5 0,6 Dispositivo 20 0,8 1,4 Tabla 13. Medición de muestras de tiempo de respuesta aplicativo
Promedio en Segundos por Dispositivo
2.5 2 1.5 1 0.5 0 1
2
3
4
5
6
7
8
9 10 11 12 13 14 15 16 17 18 19 20 Tiempo (Seg)
Fig 72. Gráfica promedio de muestras de tiempo de respuesta aplicativo. 82
5. Conclusiones
La implementación del prototipo proporciona grandes ventajas para el sector agricultor, optimizando tiempos y reduciendo pérdidas, generadas ya sea por el daño o baja calidad de los productos.
El uso de tecnologías como LoRa junto con la implementación de sistemas IoT aportan a la disminución de la brecha tecnológica que existe en el sector agricultor en países como Colombia.
La ejecución de las pruebas experimentales con los módulos de Arduino + LoRa shield permitieron determinar el correcto funcionamiento del sistema.
Una selección correcta de cada uno de los elementos que conforman el prototipo, posibilitan el buen desempeño del sistema de transmisión, puesto que al utilizar sensores y módulos adecuados, se garantizan que los datos transmitidos sean los correctos.
Se obtuvo una trasmisión de datos de 200kbps entre cada uno de los nodos y el Gateway con un tiempo de 100 segundos entre la comunicación de cada nodo y el aplicativo web.
Al implementar el prototipo en el cultivo se generaron las alertas correspondientes a las variables físicas, lo cual permitió que el cultivador determinara control sobre el mismo, obteniendo así un mejor rendimiento durante el proceso de cosecha empleado, se puede verificar que para obtener un proceso completo de cosecha de fresas, es necesario realizar el monitoreo y análisis durante 140 días como mínimo para determinar las propiedades de cosecha del cultivo; por lo cual no contamos aun con este tiempo ya que el prototipo se empleó en un aproximado de 40 días.
A la hora realizar un proyecto para instalar una red de comunicación inalámbrica hay varios factores que son muy importantes. Entre ellos destaca por un lado la cobertura que puede ofrecer dicha red, ya que determinará el número de estaciones base que habrá que instalar para dar cobertura a una determinada región. Y por otro lado destaca el consumo energético que pueden tener los distintos dispositivos que forman parte de la propia red, ya que en aplicaciones típicas del sector IoT es esencial tener dispositivos que funcionen en unos niveles de potencia reducidos, llegando a tener vidas útiles de entorno a decenas de años.
83
6. Bibliografía ¿Qué es Arduino? ~ Arduino.cl. (n.d.). Retrieved April 13, 2018, from http://arduino.cl/que-es-arduino/ Agronet Inicio. (n.d.). Retrieved April 13, 2018, from http://www.agronet.gov.co/Paginas/default.aspx Baranwal, T., Nitika, & Pateriya, P. K. (2016). Development of IoT based smart security and monitoring devices for agriculture. Proceedings of the 2016 6th International Conference - Cloud System and Big Data Engineering, Confluence 2016, 597–602. https://doi.org/10.1109/CONFLUENCE.2016.7508189 Besteiro, M., & Clases, M. R. (n.d.). Web Services. Retrieved from http://www.ehu.eus/mrodriguez/archivos/csharppdf/ServiciosWeb/WebServices.pdf Brazil, A., & Campaigns, A. I. (n.d.). Section page. Retrieved from https://www.semtech.com/uploads/documents/DS_SX1276-7-8-9_W_APP_V5.pdf GOBLEX. (2005). Protocolo de Temperatura del Suelo. Retrieved from https://www.globe.gov/documents/16257217/17240639/Protocolo+de+Temperatura+del+Suelo/f7bf6f0 8-2779-4250-ae41-74e61c1fca38 IBM Knowledge Center - Bases de datos relacionales. (n.d.). Retrieved April 13, 2018, from https://www.ibm.com/support/knowledgecenter/es/SSEPGG_8.2.0/com.ibm.db2.udb.doc/admin/c00040 99.htm IDE de Visual Studio. (n.d.). Retrieved April 13, 2018, from https://www.visualstudio.com/es/vs/ Internet de las cosas (IoT) - Cisco. (n.d.). Retrieved August 24, 2017, from https://www.cisco.com/c/es_co/solutions/internet-of-things/overview.html Internet of Things (IoT) | Microsoft. (n.d.). Retrieved August 24, 2017, from https://www.microsoft.com/enus/internet-of-things John, G. E. (2016). A Low Cost Wireless Sensor Network for Precision Agriculture, 24–27. Ke, K.-H., Liang, Q.-W., Zeng, G.-J., Lin, J.-H., & Lee, H.-C. (2017). A LoRa wireless mesh networking module for campus-scale monitoring. In Proceedings of the 16th ACM/IEEE International Conference on Information Processing in Sensor Networks - IPSN ’17 (pp. 259–260). New York, New York, USA: ACM Press. https://doi.org/10.1145/3055031.3055034 Longitud de onda - EcuRed. (n.d.). Retrieved October 19, 2017, from https://www.ecured.cu/Longitud_de_onda LoRa Shield for Arduino. (n.d.). Retrieved April 13, 2018, from http://www.dragino.com/products/module/item/102-lora-shield.html Los problemas del sector agropecuario en Colombia. - Archivo Digital de Noticias de Colombia y el Mundo desde 1.990 - eltiempo.com. (n.d.). Retrieved April 13, 2018, from http://www.eltiempo.com/archivo/documento/CMS-13052762 Mat, I., Kassim, M. R. M., & Harun, A. N. (2015). Precision agriculture applications using wireless moisture sensor network. 2015 IEEE 12th Malaysia International Conference on Communications (MICC), 18–23. https://doi.org/10.1109/MICC.2015.7725400 84
Nakutis, Z., Deksnys, V., Jaruevicius, I., Marcinkevicius, E., Ronkainen, A., Soumi, P., … Andersen, B. (2016). Remote Agriculture Automation Using Wireless Link and IoT Gateway Infrastructure. Proceedings International Workshop on Database and Expert Systems Applications, DEXA, 2016–Febru, 99–103. https://doi.org/10.1109/DEXA.2015.37 Oriol Sallent Roig, José Luis Valenzuela González, R. A. C. (2003). Principios de comunicaciones móviles. Perspectiva del sector agropecuario Colombiano. (n.d.). Retrieved from https://www.finagro.com.co/sites/default/files/2014_09_09_perspectivas_agropecuarias.pdf Qué es un Servidor Web: Definición Completa (Paso a Paso). (n.d.). Retrieved April 13, 2018, from https://www.osgroup.co/que-es-un-servidor-web/ Que es un servidor WEB? - Aprende sobre desarrollo web | MDN. (n.d.). Retrieved April 13, 2018, from https://developer.mozilla.org/es/docs/Learn/Common_questions/Que_es_un_servidor_WEB Rahman, A., & Suryanegara, M. (2017). The development of IoT LoRa: A performance evaluation on LoS and Non-LoS environment at 915 MHz ISM frequency. In 2017 International Conference on Signals and Systems (ICSigSys) (pp. 163–167). IEEE. https://doi.org/10.1109/ICSIGSYS.2017.7967033 Santamaría, J. (2015). Microsoft SQL Server, 1–6. Retrieved from https://iessanvicente.com/colaboraciones/sqlserver.pdf Semiconductor, D., & Check, C. R. (n.d.). Sensor De Temperatura, 1–2. Retrieved from http://medirtemperatura.com/sensor-temperatura.php Sensor analógico de pH. (n.d.). Retrieved August 24, 2017, from http://tienda.bricogeek.com/home/581sensor-analogico-de-ph.html Sensor de humedad del suelo YL38 y YL69 – Talos Electronics. (n.d.). Retrieved April 13, 2018, from https://www.taloselectronics.com/producto/sensor-de-humedad-del-suelo/ Sensor de luz ultravioleta (UV) - Sensors Tecnics, Honeywell. (n.d.). Retrieved August 24, 2017, from http://www.sensorstecnics.net/eu/productos/category/107/optoelectronicos-ir-led-ndir-uv-rgblaser/sensor-de-luz-ultravioleta-uv Sevruk, B. (1992). Snow cover measurements and areal assessment of precipitation and soil moisture. Operational Hydrology Report, (no 35), xxviii, 283 . ThingSpeak: Plataforma Open Source Platform para conectar productos y servicios | Observatorio IoT Spain. (n.d.). Retrieved April 13, 2018, from http://iot-spain.com/?p=188 Todo-Redes. (n.d.). Retrieved August 24, 2017, from https://todo-redes.com/equipos-de-redes/gatewaypuerta-de-enlace What Is LoRa? | Semtech. (n.d.). Retrieved August 24, 2017, from http://www.semtech.com/wirelessrf/internet-of-things/what-is-lora/ Wixted, A. J., Kinnaird, P., Larijani, H., Tait, A., Ahmadinia, A., & Strachan, N. (2017). Evaluation of LoRa and LoRaWAN for wireless sensor networks. Proceedings of IEEE Sensors, 0, 5–7. https://doi.org/10.1109/ICSENS.2016.7808712
85