• No results found

Extended Method versus original Correlation Method

4.3 EXPERIMENT RESULTS

4.3.7 Extended Method versus original Correlation Method

Los archivos necesarios para el funcionamiento de una aplicación de ContikiOS son el archivo principal de la aplicación (archivo con extensión .c), el fichero makefile de la aplicación a desarrollar, el archivo de configuraciones (project-conf.h) y los drives para los sensores (bibliotecas). En este epígrafe, se propone cómo se deben estructurar estos archivos para una aplicación que mida la humead y temperatura relativa del aire y la humedad del suelo utilizando los sensores disponibles (DHT22 y YL-69) para la WSN de la Empresa Agroindustrial “Victoria de Girón”. En caso de que falte o tenga error alguno de estos archivos la aplicación no funcionará, excepto el archivo de configuraciones (project-conf.h) ya que algunos de los parámetros que se configuran en este archivo pueden ser también especificados en el archivo makefile. A pesar de ello en este epígrafe se ha prestado un mayor interés en el archivo principal de la aplicación ya que aquí es donde se declaran las variables que se utilizarán en la aplicación y se incluyen las bibliotecas necesarias para el desarrollo de la aplicación, dentro de estas siempre se debe incluir la biblioteca contiki.h, esta se puede incluir escribiendo #include "contiki.h".

Además, en este archivo es donde residirá el o los procesos de la aplicación (en este caso se le ha llamado proceso_medir). En este proceso se propone iniciar con un temporizador de tipo etimer con el valor guardado en una variable (T_muestreo), esta variable representa el tiempo en minutos que transcurre entre las medidas de los sensores. Luego de iniciado el temporizador se espera a que expire el tiempo almacenado en la variable T_muestreo para continuar con la ejecución del proceso. Para esperar durante un tiempo T_muestreo se utilizan las siguientes líneas de códigos:

etimer_set (&muestreo, (T_muestreo * CLOCK_SECOND * 60)); PROCESS_WAIT_EVENT_UNTIL(etimer_expired (&muestreo));

Además, en este proceso (proceso-medir) se recomienda habilitar y deshabilitar la alimentación de los sensores en algunos instantes de tiempo, con el fin de consumir la menor cantidad de energía posible. También se propone que en el proceso (proceso_medir) se utilice otro temporizador de tipo etimer, el cual almacene su valor en otra variable (T_delay), se recomienda que este valor sea de 2 segundos para que el sensor tenga los registros disponibles

al ser leídos por el micro-controlador, se estima que es suficiente con 2 segundos ya que los sensores DHT22 y YL-69 sólo pueden ofrecer datos cada 2 segundos. En la figura 3.9 se observa la secuencia lógica del proceso (proceso_medir) a través de un diagrama de flujo. En este diagrama de flujo se observa que el proceso (proceso_medir) toma las medidas de los sensores utilizando los temporizadores (T_muestreo y T_delay). Uno de ellos se configura con el período de muestreo (T_muestreo) y el otro con el tiempo de espera entre el encendido de los sensores y su lectura (T_delay).

En la primera parte del diagrama de flujo se puede observar la forma lógica en la que el proceso toma la medida del sensor DHT22 para obtener la temperatura y humedad relativa del aire. Para ello se espera un tiempo (T_muestreo), que es de 60 segundos basándose en los criterios expuestos en [63], lo que significa que hay un intervalo de 60 segundos entre la toma de las medidas de los sensores DHT22 y YL-69. Durante este tiempo se libera el micro- controlador para realizar otras tareas, como por ejemplo la comunicación con el nodo coordinador.

Luego se habilita la alimentación del sensor DHT22 utilizando la función SENSORS_ACTIVATE (dht22). Seguidamente se espera un tiempo fijo determinado por el temporizador de 2 segundos para asegurase que el sensor tenga sus registros disponibles al ser leídos por el micro-controlador. Posteriormente, se almacena la hora en la que el micro- controlador leyó el sensor (una recomendación para lograr esto sería a través de la función clock_seconds(); ). La hora en la que el micro-controlador leyó el sensor es guardada en un arreglo (buf_HTA). Finalmente se lee el pin del micro-controlador al cual está conectado el sensor DHT22, para ello se crea una función que permita leer el valor de la temperatura y humedad relativa del aire. Este valor se convierte a una variable de tipo string y se almacena en el mismo arreglo (buf_HTA). Si se detecta un error en la comunicación con el sensor se vuelve a leer dos veces más. Si hay un error en la lectura tres veces consecutivas se guarda en el arreglo buf_HTA una cadena de caracteres con esa información (por ejemplo, ERROR EN EL SENSOR). Luego de guardada la hora de la medida, el valor de la temperatura y humedad relativa del aire o generado algún error en la lectura del sensor, se deshabilita la alimentación del sensor DHT22, para ello se utiliza la función SENSORS_DESACTIVATE (dht22);.

Figura 3.9 Diagrama de flujo del proceso (proceso_medir).

En este diagrama de flujo se observa que de igual forma se desarrolla la segunda parte del proceso con respecto a la obtención de la humedad del suelo utilizando el sensor YL-69. Para ello, análogamente se guarda la hora en que fue tomada la medida del sensor YL-69 y la medida del sensor o si hubo algún error, en el arreglo (buf_HS). Una vez tomadas las

mediciones y almacenados los valores leídos (o si hubo algún error) de los dos sensores se vuelve a iniciar el temporizador T_muestreo. Este ciclo se debe repetir indefinidamente, para ello se recomienda la utilización de un ciclo While.

Además del archivo principal de la aplicación (wsn_riego.c) esta aplicación requiere de una serie de archivos para su funcionamiento como por ejemplo los drivers para los sensores (bibliotecas), el archivo de configuraciones project-conf.h y el fichero makefile.

Para las bibliotecas de los sensores se recomienda crear una carpeta (llamada RECURSOS) dentro de la carpeta en la que se esté desarrollando la aplicación. En la carpeta RECURSOS se deben incluir los drivers correspondientes para cada sensor (DHT22 y YL-69). Los drivers de los sensores pueden ser implementados aprovechando las estructuras definidas en el módulo sensors ubicado en home/contiki-arduino-master/core/lib para tener mayor versatilidad en los códigos fuente.

En el archivo de configuraciones project-conf.h se definen algunos parámetros de configuraciones generales de la aplicación como por ejemplo la tasa de transmisión (Baud Rate), algunos de los valores típicos de este parámetro son 9600 y 115200 baudios. Este parámetro se puede configurar mediante las siguientes líneas de código:

#ifndef UART0_CONF_BAUD_RATE

#define UART0_CONF_BAUD_RATE 115200 #endif

Además, se pueden configurar otros parámetros como el canal en que operará la interfaz de radio, protocolos utilizados, entre otros. Para que el archivo project-conf.h funcione es necesario que en el fichero makefile de la aplicación se encuentre la siguiente línea de código: DEFINES+=PROJECT_CONF_H=\"project-conf.h\"

Además, en este fichero makefile de la aplicación se debe indicar al compilador cómo generar las dependencias del programa. En el caso de esta aplicación se debe indicar que se compile el archivo wsn_riego.c y los archivos que se encuentran dentro de la carpeta RECURSOS. Además, se pueden incluir otras aplicaciones ya desarrolladas en la carpeta de ejemplos (examples) de ContikiOS que se utilizarán en el desarrollo de esta aplicación.

3.4Conclusiones del capítulo

Antes de comenzar a desarrollar aplicaciones en ContikiOS, se recomienda que se compruebe la comunicación de este Sistema Operativo con la plataforma. Si la plataforma es una versión de Arduino, se debe descargar del repositorio GitHub el comprimido “contiki-arduino- master.zip”, descomprimirlo y pegarlo en la raíz de ContikiOS, con el objetivo de que este Sistema Operativo tenga soporte para versiones de dicha plataforma. Para la comprobación del funcionamiento de este Sistema Operativo sobre la plataforma, se pueden utilizar ejemplos de aplicaciones disponibles en la carpeta examples de ContikiOS.

Los archivos necesarios para estructurar una aplicación son el archivo principal de la aplicación, los drivers para los sensores (bibliotecas), el archivo project-conf.h y el fichero makefile. En el archivo principal de la aplicación residen los procesos de la misma. Este proceso es el encargado de tomar las medidas de los sensores de forma periódica. En este proceso se recomienda habilitar y deshabilitar la alimentación de los sensores en algunos instantes de tiempo, con el fin de consumir la menor cantidad de energía posible. Para obtener los datos medidos por los sensores se utilizan temporizadores con el objetivo de configurar el período de muestreo, y el tiempo de espera entre el encendido de los sensores y su lectura.

CONCLUSIONES Y RECOMENDACIONES

Conclusiones

A partir del cumplimiento de los objetivos planteados se arriba a las siguientes conclusiones:

 Una WSN está densamente conformada por dispositivos sensores distribuidos espacialmente en un área geográfica, para monitorear condiciones físicas o ambientales, que no requieren un elevado costo en comparación con otras tecnologías. Estas redes están compuestas por nodos sensores, un nodo coordinador, la pasarela de acceso y una red de datos. Los nodos sensores están compuestos por una interfaz de radio, una fuente de energía, uno o varios sensores y un micro- controlador.

 Existe una amplia gama de Sistemas Operativos orientados a las WSN. Las funciones básicas que estos Sistemas Operativos realizan son: la gestión del micro-controlador, de la memoria, la planificación de los tiempos de ejecución y gestión de la ejecución de tareas. Estos Sistemas Operativos son diseñados de acuerdo a restricciones de los nodos sensores como la baja capacidad de memoria, baja capacidad de procesamiento del micro-controlador y energía limitada. Los principales Sistemas Operativos para WSN son TinyOS, FreeRTOS, MantisOS y ContikiOS.

 Se seleccionó el Sistema Operativo ContikiOS para instalarlo en los nodos sensores ya que ha sido diseñado para funcionar en sistemas con hardware muy limitado y es un Sistema Operativo hibrido que aprovecha las ventajas de los eventos y los protohilos. Los nodos en los que se instalará este Sistema Operativo están compuestos por una plataforma Arduino Pro Mini, una batería de 5V y 2400 mAh, los sensores DHT22 y YL-69 y un módulo de radio XBee. El tiempo de vida útil de la batería de

estos nodos sensores será de aproximadamente 5 meses y medio. El uso de este nodo sensor permitirá disminuir el costo de los nodos sensores con respecto a otros nodos de fabricantes como Zolertia.

 Se instaló el Sistema Operativo ContikiOS en un nodo sensor, demostrándose la compatibilidad entre este Sistema Operativo y el hardware disponible para los nodos sensores de la WSN.Así como la facilidad de instalación y operación de ContikiOS.

Recomendaciones

Se considera que las siguientes recomendaciones pueden ser de utilidad para enriquecer el estudio realizado y los resultados obtenidos:

 Implementar la aplicación propuesta en los nodos sensores de la WSN para Empresa Agroindustrial “Victoria de Girón”.

 Desarrollar la aplicación propuesta en la plataforma Zolertia, permitiendo simularla en Cooja y analizar el comportamiento en un nodo sensor.

REFERENCIAS BIBLIOGRÁFICA

[1] L. Dariz, M. Selvatici, and M. Ruggeri, "Evaluation of operating system requirements for safe Wireless Sensor Networks," in IECON 2016 - 42nd Annual Conference of the IEEE Industrial Electronics Society, 2016.

[2] C. Zhu, L. Shu, T. Hara, L. Wang, S. Nishio, and L. T. Yang, "A survey on communication and data management issues in mobile sensor networks," Wireless Communications and Mobile Computing, vol. 14, pp. 19-36, 2014.

[3] E. Flores, "Redes de Sensores Inalámbricas Aplicada a la Medicina.," Universidad de Cantabria, España, 2012.

[4] A. Fraga, "Simulador Cooja para WSN basado en el Sistema Operativo Contiki," Departamento de Telecomunicaciones y Electrónica Universidad Central “Marta Abreu” de Las Villas, Santa Clara, 2015.

[5] J. Lajara, "Modelado y optimización de energía en redes de sensores inalámbricas para la medida de parámetros medioambientales ", Departamento de Electrónica, Universidad Politécnica de Valencia, España, 2014.

[6] H. Navarro, "Diseño e Implementación de componentes software para dar soporte a la plataforma MEWiN en el sistema operativo Contiki ", Universidad politécnica de Cartagena, 2011.

[7] L. Iacono, P. Godoy, O. Marianetti, and C. García Garino, "Estudio de plataformas de hardware empleadas en redes de sensores inalámbricos," presented at the XVI Congreso Argentino de Ciencias de La Computación, 2010.

[8] J. Atempa, A. Tafoya, A. Díaz-Ramírez, J. F. Ibañez, and C. Martínez, "Desarrollo de Aplicaciones para Redes de Sensores Inalámbricas utilizandoTinyOS y nesC.," CONATIC, Ed., ed, 2011.

[9] Y. Castillo, J. Romero, and V. Villarreal, "Sistemas Operativos para WSN: Implementación práctica con TinyOS," Revista Cubana de Ciencias Informáticas 2016.

[10] M. Rodríguez, "Implementación sobre un nodo WSN de Contiki de un contenedor de métricas basado en el RFC6551," Universidad Politécnica de Catalunya, 2016. [11] K. Roussel, Y.-Q. Song, and O. Zendra, "RIOT OS Paves the Way for

Implementation of High-Performance MAC Protocols," U. d. Lorraine, Ed., ed. France, 2015.

[12] C. Gómez, J. Paradells, and J. E. Caballero, Sensors Everywhere. Wireless Network Technologies and Solutions. España, 2010.

[13] Q. Jabeen and F. Khan, "A Survey Embedded Systems Supporting By Different Operating Systems ", U. Mardan, Ed., ed. Pakistán 2015.

[14] F. Villanueva, "Sistemas operativos para redes de sensores inalámbricos," in https://sites.google.com/site/felixjesusvillanueva/ vol. 2017, ed, 2011.

[15] F. A. Urbano-Molano, "Redes de Sensores Inalámbricos Aplicadas a Optimización en Agricultura de Precisión para Cultivos de Café en Colombia," Journal de Ciencia e Ingenierıa, vol. 5, pp. 46-52, 2013.

[16] J. Lloret, I. Bosch, S. Sendra, and A. Serrano, "A wireless sensor network for vineyard monitoring that uses image processing," Sensors, vol. 11, pp. 6165-6196, 2011. [17] K. Sohraby, D. Minoli, and T. Znati, "Wireless Sensor Networks-Technology,

Protocols and Applications," ed Canadá: Wiley-Interscience, 2007.

[18] H. Karl and A. Willig, Protocols and Architectures for Wireless Sensor Networks. Germany: Wiley, 2005.

[19] D. Krehling, "Implementing Remote Image Capture/Control in a Wireless Sensor Network Utilizing the Ieee 802.15.4 Standard," Naval Postgraduate school, California, 2009.

[20] A. Elsts, R. Balass, J. Judvaitis, and L. Selavo, "In Proceedings of the 5-Th International Scientific Conference Applied Information and Communication Technologies " in SAD: wireless sensor network system for microclimate monitoring in precision agriculture, 2012.

[21] N. I. Corporation. ¿Qué es una Red de Sensores Inalámbricos? Available:

www.ni.com/es-mx/community.html (2017)

[22] J. López, "Contribución a las Redes de Sensores Inalámbricas. Estudio e implementación de soluciones hardware para agricultura de precisión," Departamento de Tecnología Electrónica, Universidad Politécnica de Cartagena, 2011.

[23] J.-E. Frey and N. Aakvaag, "Redes de sensores inalámbricos. Nuevas soluciones de interconexión para la automatización industrial," Revista ABB, vol. 2, 2006.

[24] J. Pérez, E. Urdaneta, and Á. Custodio, "Metodología para el Diseño de una Red de Sensores Inalámbrica," Universidad, Ciencia y Tecnología, vol. 18, 2014.

[25] J. Linares, "Simulación e implementación de una red de sensores inalámbrica multisalto para la medición de consumo energético en un edificio. ," Universidad Politécnica de Catalunya, 2014.

[26] J. Ramírez, J. Buitrago, and J. Marín, "Long-Distance Sensor Network Based on Zigbee for Monitoring and Risk Management in Quindío-Colombia Area," Revista de Investigaciones - Universidad del Quindío, vol. 25, 2014.

[27] J. Atempa, A. Díaz, and R. Ayala, "Red de sensores inalámbrica para la detección de incendios forestales," 2015.

[28] J. Gutierrez, M. A. Porta, E. Romero, and J. Villa, "Sistema de Riego Automatizado," C. d. I. B. d. Noroeste, Ed., ed. Mexico, 2012.

[29] J. López, "Mewin: un nodo sensor inalámbrico multi-entorno. Validación en agricultura de precisión," U. P. d. Cartagena., Ed., ed, 2012.

[30] M. Keshtgari and A. Deljoo, "A wireless sensor network solution for precision agriculture based on Zigbee technology," Wirel. Sens. Netw, vol. 4, p. 5, 2012. [31] A. López, "Redes de Sensores sin Cables para Agricultura de Precisión en Regiones

Minifundistas ", F. I. T. d. Galicia, Ed., 10 ed. España, 2010.

[32] V. C. Calero Bravo and J. A. Muñoz Arcentales, "Diseño e implementación de un sistema de riego inteligente basado en sensores y módulos de radiofrecuencia para transmisión y sistema de control y módulos de radiofrecuencia para transmisión y sistema de control," 2014.

[33] J. C. Vásconez and F. Chamba, "Diseño e Implementacion de un Sistema de Riego Automatizado y Controlado de Forma Inalambrica para una Finca Ubicada en el Sector popular de Balerio Estacio," Universidad Politécnica Saleciana, Ecuador, 2013.

[34] E. Mayhua, " Sistema de riego por goteo automático utilizando una red de sensores inalámbricos," Arequipa, vol. 7, p. 23, 2016.

[35] F. Huapaya, "Diseño de una red de sensores inalámbrica para un area de cultivo frutícola en una ONG," Facultad de Ciencias e Ingenierias, Pontificia Universidad Católica del Perú, Perú, 2010.

[36] J. McCulloch and P. McCarthy, "Wireless sensor network deployment for water use efficiency in irrigation. In Proceedings of the workshop on Real-world wireless sensor networks," ACM, 2008.

[37] E. Maya and J. Burbano "Red WSN para el Control y Monitoreo de un Sistema de Riego por Goteo de una Plantación de Fresas en la Granja Experimental Yuyucocha – UTN ", U. T. d. Norte, Ed., ed, 2014.

[38] E. Mayhua, J. Ludeña, J. Tamayo, M. Cuba, Á. Núñez, N. Gonzales, et al., "Sistema de riego por goteo automático utilizando una red de sensores inalámbricos," Revista de Investigación (Arequipa), vol. 7, 2016.

[39] L. González, "Aplicaciones informáticas para el desarrollo del sector empresarial y social en la provincia Granma," D. d. D. d. S. d. l. U. d. Granma, Ed., ed: Bayamo, 2016.

[40] A. Ortiz, "Técnicas de enrrutamiento inteligente para rdes de sensores inalámbricas," Departamento de Sistemas informáticos, Universidad de Castilla-La Mancha, 2011. [41] Á. Villalba, "Aplicación de una red inalámbrica de sensores para detección de

presencia y conteo ", Dep. Teoría de la Señal y Comunicaciones Universidad de Sevilla 2015.

[42] W. Calderón, "Diseño e implementación de un sistema genérico de monitoreo usando redes de sensores inalámbricos con el protocolo 6LoWPAN," Departamento de

Ingeniería de Sistemas e Industrial, Universidad Nacional de Colombia, Bogotá, 2014.

[43] N. Pozhilova, "Estudio de la Plataforma Sensortag de Texas Instruments para Aplicaciones en Redes Inalánbricas de Sensores," Centro de Electrónica Industrial, Universidad Politécnica de madrid, Madrid, 2016.

[44] Z. Jing, X. Leng, F. Hongbo, and C. Yi, "TQS-DP:A Lightweight and Active Mechanism for Fast Scheduling Based on WSN Operating System TinyOS ", Y. A. o. S. T. Information, Ed., ed. Kunming,Yunnan,China 2015.

[45] T. F. Group, Wireless Ad Hoc Networking. New York: Auerbach Publications 2007. [46] C. Aciti, "Una Panorámica del Problema de Inversión de Prioridades en Sistemas

Operativos deTiempo Real," U. N. d. C. d. l. P. d. B. Aires, Ed., ed. Argentina, 2016. [47] J. Valdivia, "Análisis y propuesta de un método de prevención de incendios forestales utilizando redes de sensores inalámbricos (WSN)," Universidad Austral de Chile, 2013.

[48] J. J. Fernández, "Evaluación de la eficacia de un sistema operativo en Arduino," Universidad Politécnica de Catalunya, 2015.

[49] A. Liñán, A. Vives, A. Bagula, and M. Zennaro, Internet de las Cosas 2015.

[50] J. Ruiz, "Implementación de Sistemas de Transmisión de Datos en Redes Inalambricas con XBee integrado en la Plataforma Open Hardware Arduino," 1 ed, 2012.

[51] V. Boonsawat, J. Ekchamanonta, K. Bumrungkhet, and S. Kittipiyakul, "Xbee wireless sensor networks for temperature monitoring," presented at the The Second Conference on Application Research and Development, ECTI-CARD, 2010.

[52] UUGear. DHT11 Humidity & Temperature Sensor Module. Available:

www.uugear.com/category/ (2014)

[53] A. Camilli, C. E. Cugnasca, A. M. Saraiva, A. R. Hirakawa, and P. L. P. Corrêa, "From wireless sensors to field mapping: anatomy of an application for precision agriculture.," Comp. Electron. Agric, vol. 58, pp. 11-25, 2007.

[54] D. Martínez, "Diseño e implementación de un sistema electrónico para el control de luminosidad, temperatura y humedad ambiental para el Terrario de orquídeas Telipogon en el Jardín Botánico de Quito. ," Universidad Tecnológica de Israel, 2016. [55] L. LLamas. Medir temperatura y humedad con Arduino y sensor DHT11-DHT22.

Available: https://www.luisllamas.es/.(2017)

[56] N. Software. Sensor de humedad de suelo YL-69. Available:

http://www.niplesoft.net/(2016)

[57] "Atmel 8 bit Microcontroller with 4/8/16/32 Kbytes in Sistem Programmable Flash," A. Corporation, Ed., ed. California, USA, 2015.

[59] I. Perea, S. Puente, F. Candelas, and F. Torres, "Nueva Targeta de Sensorización y Control para Robot Humanoide," U. d. Alicante, Ed., ed. España, 2016.

[60] "¿Es seguro comprar en AliExpress?," in AliXBlog, ed, 2017.

[61] S. R. M. Cantillo, "Desarrollo de aplicaciones basadas en wsn," 2010.

[62] D. Villón, "Diseño de una Red de Sensores inalámbrica para la agricultura de precisión," Facultad de Ciencias e Ingeniería, Pontificia Universidad Católica del Perú, Lima, 2009.

[63] C. Cardozo, I. Camps, and M. Driedger, "Red de Sensores Inalámbricos para monitoreo de condiciones microclimáticas en cultivos de cítricos," Universidad de la República de Uruguay, Montevideo, 2015.

[64] M. Olalla, "Red inalámbrica de sensores a través de 6loWPAN para una agricultura de precisión aplicado en la Hacienda Cananvalle de la Ciudad de Ibarra ", Pontificia

Related documents