Upload
vankiet
View
214
Download
0
Embed Size (px)
Citation preview
UNIVERSIDAD CENTRAL DEL ECUADOR
FACULTAD DE INGENIERÍA CIENCIAS FÍSICAS Y MATEMÁTICA
CARRERA DE INGENIERÍA INFORMÁTICA
SISTEMA DE MEDICIÓN DE NIVEL DE AGUA EN PISCINAS DE CONTROL EN UN
CRIADERO DE PECES
TRABAJO DE GRADUACIÓN, PREVIO A LA OBTENCIÓN DEL TÍTULO DE
INGENIERO INFORMÁTICO
AUTOR: FRANKLIN LEONARDO BENALCAZAR ERAZO
TUTOR: ING. ALDRIN ISMAEL FLORES SUAREZ
QUITO -14 DE OCTUBRE
2016
ii
AUTORIZACIÓN DE LA AUTORÍA INTELECTUAL
Yo, Franklin Leonardo Benalcazar Erazo en calidad de autor del proyecto integrador:
sistema de medición de nivel de agua en piscinas de control en un criadero de peces,
autorizo a la Universidad Central del Ecuador hacer uso de todos los contenidos que
me pertenecen o parte de los que contiene esta obra, con fines estrictamente
académicos o de investigación.
Los derechos que como autores me corresponden, con excepción de la presente
autorización, seguirán vigentes a mi favor, de conformidad con lo establecido en los
artículos 5, 6, 8; 19 y demás pertinentes de la Ley de Propiedad Intelectual y su
Reglamento.
Asimismo, autorizo a la Universidad Central del Ecuador para que realice la
digitalización y publicación de este proyecto integrador en el repositorio virtual, de
conformidad a lo dispuesto en el Art. 144 de la Ley Orgánica de Educación Superior.
Quito, 14 de Octubre del 2016
Franklin Leonardo Benalcazar Erazo
CI: 0401596465
Teléfono: 0996833740
Correo electrónico: [email protected]
iii
CERTIFICACIÓN DEL TUTOR
Yo, Aldrin Ismael Flores Suarez en calidad de tutor del proyecto integrador: Sistema
de medición de nivel de agua en piscinas de control en un criadero de peces,
elaborado por el estudiante Franklin Leonardo Benalcazar Erazo de la Carrera de
Ingeniería Informática Facultad de Ingeniería Ciencias Físicas y Matemáticas de la
Universidad Central del Ecuador, considero que el mismo reúne los requisitos y
méritos necesarios en el campo metodológico y en el campo epistemológico, para ser
sometido a la evaluación por parte del jurado examinador que se designe, por lo que
lo APRUEBO, a fin de que el proyecto integrador sea habilitado para continuar con el
proceso de titulación determinado por la Universidad Central del Ecuador.
En la ciudad de Quito, a los 5 días del mes marzo del 2016
Ing. Flores Suarez Aldrin Ismael
C.C. 1001662186
Teléfono. 0984050315
Correo electrónico. [email protected]
vi
AGRADECIMIENTOS
El autor expresa su agradecimiento en primer lugar a Dios y la vida.
Al ingeniero Aldrin Flores por su dedicatoria y asesoría durante el desarrollo de este
proyecto.
vii
CONTENIDO
pág.
AUTORIZACIÓN DE LA AUTORÍA INTELECTUAL ...................................................... ii
CERTIFICACIÓN DEL TUTOR ..................................................................................... iii
APROBACIÓN DEL TRABAJO DE TITULACIÓN ........................................................ iv
AGRADECIMIENTOS .................................................................................................. vi
CONTENIDO ............................................................................................................... vii
LISTA DE FIGURAS .................................................................................................... xi
LISTA DE TABLAS ..................................................................................................... xiii
LISTA DE ANEXOS .................................................................................................... xiv
RESUMEN .................................................................................................................. xv
INTRODUCCIÓN .......................................................................................................... 1
1 MARCO TEORICO ............................................................................................ 3
1.1 Red de sensores inalámbricos……………………………………………………….3
1.2 Arquitectura de una red de sensores inalámbricos………………………………..3
1.2.1 Nodo sensor…………………………………………………………………………....3
1.2.2 Gateway o Pasarela…………………………………………………………...………4
1.2.2 Estación base en el proyecto aplicación web………………………………………4
1.3 Tecnologías inalámbricas estándares y propietarias para sensores
inalámbricas……………………………………………………………………………4
1.4.2 Aplicación de las Redes de Sensores………………………………………………6
1.4 Transductor…………………………………………………………………………….9
viii
1.5 Sensor…………………………………………………………………………………..9
1.5.1 Sensores de nivel……………………………………………………………………...9
1.4 Microcontroladores…………………………………………………………………..10
1.5 Servidor web………………………………………………………………………….11
1.6 Base de datos………………………………………………………………………...11
1.7 Lenguaje de programación………………………………………………………….11
2 DESARROLLO ................................................................................................ 12
2.1 Marco metodológico………………………………………………………………….12
2.2 Descripción general………………………………………………………………….13
2.3 Análisis de Requerimientos…………………………………………………………13
2.3.1 Requerimientos funcionales………………………………………………………...13
Requerimiento funcional nodo sensor y actuador………………………………..13
Requerimiento funcional nodo aplicación web……………………………………14
Requerimiento funcional servidor web…………………………………………….14
Requerimiento funcional interfaz web……………………………………………..14
2.3.2 Requerimientos no funcionales…………………………………………………….14
Seguridad……………………………………………………………………………..14
Conectividad………………………………………………………………………….15
Rendimiento…………………………………………………………………………..15
Portabilidad……………………………………………………………………………15
2.3.3 Restricciones para el desarrollo e implementación del proyecto integrador…..15
2.3.4 Alcance del proyecto integrador……………………………………………………15
2.4 Diseño del sistema prototipo. ………………………………………………………17
2.4.1 Arquitectura lógica del sistema prototipo. ………………………………………..17
2.4.2 Arquitectura física del sistema. …………………………………………………….22
2.4.3 Diseño detallado del sistema……………………………………………………….23
Diagrama de flujo de datos DFD…………………………………………………...23
ix
Elementos o símbolos de un Diagrama de flujo de datos. ……………………...23
a) DFD de nivel 0………………………………………………………………………..24
b) Diagrama de nivel 1.1 proceso Determinar el nivel del agua. ………………….25
c) Diagrama de nivel 1.2 proceso Determinar si se trata de una alerta. ………...25
d) Diagrama de nivel 1.3 proceso “Mostrar información de sensores,
microcontroladores, estadísticas, resumen de alertas”. ………………………...26
e) Diagrama de nivel 1.4 proceso “Detalle de alerta”. ……………………………...27
f) Diagrama de nivel 1.5 proceso “Configuración de nodos sensores”. ………….28
g) Diagrama de nivel 1 proceso “Configuración de nodo actuador” ………………29
h) Diagrama de nivel 1 proceso “Activar o desactivar alarma” …………………….30
Diagramas físico y lógico de los datos…………………………………………….31
a) Diagrama Lógico entidad relación. ………………………………………………..32
b) Diagrama físico de datos. …………………………………………………………..33
2.4.4 Conectividad. ………………………………………………………………………...34
2.5 Diseño del sistema informático……………………………………………………..35
2.5.1 Selección de herramientas para implementar requerimientos funcionales. …..35
Requerimientos del nodo sensor…………………………………………………...35
Requerimientos del nodo actuador. ……………………………………………….36
2.5.2 Diseño de la red de datos…………………………………………………………...51
2.6 Presupuesto del sistema prototipo…………………………………………………53
3 IMPLEMENTACIÓN DEL SISTEMA PROTOTIPO .......................................... 55
3.1 Nodo sensor…………………………………………………………………………..55
3.1.1 Prototipo del nodo sensor diagrama del circuito………………………………….55
3.1.2 Prototipo del nodo sensor aspecto físico. ………………………………………...56
3.2 Nodo actuador………………………………………………………………………..57
3.2.1 Prototipo del nodo actuador diagrama del circuito……………………………….57
3.2.2 Prototipo del nodo actuador apariencia física…………………………………….58
x
3.3 Nodo aplicación web…………………………………………………………………59
3.3.1 Pantalla de inicio……………………………………………………………………..59
3.3.2 Descripción delsistema prototipo…………………………………………………...59
3.4 Sistema prototipo aspecto físico. …………………………………………………..61
3.5 Pruebas sobre el sistema prototipo………………………………………………...61
3.5.1 Pruebas de compatibilidad………………………………………………………….61
3.5.2 Pruebas de funcionamiento…………………………………………………………62
3.6 Perspectivas de uso………………………………………………………………….65
4 DISCUSIÓN…………………………………………………………………………..66
5 CONCLUSIONES……………………………………………………………………69
6 RECOMENDACIONES ................................................................................... 70
BIBLIOGRAFIA ........................................................................................................... 71
ANEXOS ..................................................................................................................... 74
xi
LISTA DE FIGURAS
pág
Figura 1. Arquitectura de una red de sensores inalámbricos. ........................................ 4
Figura 2. Sensor de nivel de agua (exress, 2016) ....................................................... 10
Figura 3. Esquema del alcance del prototipo de sistema ............................................ 16
Figura 4. Arquitectura del sistema............................................................................... 17
Figura 5. Nodo sensor ................................................................................................ 18
Figura 6 capa nodo actuador ...................................................................................... 18
Figura 7. Capa nodo aplicación web ........................................................................... 19
Figura 8. Capa de presentación .................................................................................. 20
Figura 9. Capa de lógica de negocio ........................................................................... 20
Figura 10. Capa de datos ........................................................................................... 21
Figura 11. Arquitectura física del sistema ................................................................... 22
Figura 12. Diagrama de flujo de datos de nivel 0 ........................................................ 24
Figura 13. Dfd proceso determinar el nivel del agua ................................................... 25
Figura 14. Dfd determinar si se trata de una alerta ..................................................... 26
Figura 15. Dfd mostrar información de los sensores ................................................... 27
Figura 16. Dfd enviar datos de alerta .......................................................................... 28
Figura 17. Dfd actualizar datos de nodo sensor .......................................................... 29
Figura 18. Dfd actualizar daos de nodo actuador ........................................................ 30
Figura 19. Dfd configurar nodo actuador ..................................................................... 30
Figura 20. Diagrama lógico entidad relación ............................................................... 32
Figura 21. Diagrama físico .......................................................................................... 33
Figura 22. Diagrama del sistema prototipo tomando en cuenta los requerimientos
funcionales y conectividad .................................................................................. 34
Figura 23. Placa arduino uno ...................................................................................... 39
Figura 24. Módulo esp8266-5 ..................................................................................... 41
Figura 25. Sensor de nivel de agua ............................................................................ 42
Figura 26. Topología de la red .................................................................................... 52
Figura 27. Diagrama circuito nodo sensor ................................................................... 55
Figura 28. Nodo sensor físico ..................................................................................... 56
xii
Figura 29. Diagrama nodo actuador ............................................................................ 57
Figura 30. Nodo actuador físico. ................................................................................. 58
Figura 31. Nodo actuador con sirena .......................................................................... 58
Figura 32. Nodo actuador vista física completa ........................................................... 58
Figura 33. Pantalla de inicio del sistema ..................................................................... 59
Figura 34. Sistema prototipo aspecto físico ................................................................ 61
Figura 35. Captura de pantalla en un teléfono inteligente. .......................................... 62
Figura 36. Consumo de memoria interna del microcontrolador del nodo actuador ...... 67
Figura 37. Consumo de memoria interna del nodo actuador ....................................... 67
xiii
LISTA DE TABLAS
pág.
Tabla 1. Lista de entidades ......................................................................................... 31
Tabla 2. Pesos de las características de los microcontroladores ................................ 37
Tabla 3. Análisis comparativo de marcas de microcontroladores ................................ 38
Tabla 4. Características arduino uno .......................................................................... 40
Tabla 5. Características microcontrolador ................................................................... 40
Tabla 6. Características esp8266ex ............................................................................ 41
Tabla 7. Características sensor de nivel ..................................................................... 42
Tabla 8. Peso de las características lenguaje de programación .................................. 43
Tabla 9. Análisis comparativo de los lenguajes de programación ............................... 44
Tabla 10 pesos de las características servidor web ................................................... 46
Tabla 11. Análisis comparativo de servidores web ...................................................... 47
Tabla 12. Características base de datos .................................................................... 48
Tabla 13. Análisis comparativo de bases de datos ..................................................... 49
Tabla 14. Análisis comparativo de enrutadores. .......................................................... 50
Tabla 15. Modelo de direccionamiento ....................................................................... 51
Tabla 16. Nombres de los equipos e ips ..................................................................... 51
Tabla 17. Gastos en equipos de hardware .................................................................. 53
Tabla 18. Gastos en desarrollo. .................................................................................. 54
Tabla 19.total de gastos en el sistema prototipo ......................................................... 54
Tabla 20. Nodo sensor y sensores de nivel ................................................................ 56
Tabla 21. Resultados esperados cuando se vacía el recipiente. ................................. 63
Tabla 22. Resultados esperados cuando se llena el recipiente. .................................. 63
Tabla 23. Resumen de pruebas .................................................................................. 64
xiv
LISTA DE ANEXOS
pág.
Anexo A. Comparativo de tecnología inalámbrica ....................................................... 75
Anexo B. Aplicaiones de las redes de sensores inalambricos ..................................... 76
Anexo C. Programa y configuración de nodo sensor .................................................. 77
Anexo D. Programa y configuración nodo actuador .................................................... 89
Anexo E. Manual de usuario pantalla autenticación .................................................. 94
Anexo F. Manual de usuario pantalla inicio ................................................................ 96
Anexo G. Manual de usuario configurcion de nodo sensor ....................................... 104
Anexo H. Manual de usuario configurcion de nodo actuador .................................... 106
Anexo I. Manual de usuario alertas ........................................................................... 108
Anexo J. Protocolo de pruebas de compativilidadad. ................................................ 110
Anexo K . Detalle de pruebas de funcionamiento ...................................................... 112
xv
RESUMEN
TEMA: “SISTEMA DE MEDICIÓN DE NIVEL DE AGUA EN PISCINAS DE
CONTROL EN UN CRIADERO DE PECES”
Autor: Franklin Leonardo Benalcazar Erazo
Tutor: Aldrin Ismael Flores Suares
Este proyecto presenta el diseño e implementación de un sistema prototipo que
permite monitorizar y detectar los niveles de agua: mínimo, medio y máximo, en
piscinas de control de un criadero de peces. Este trabajo está compuesto por una
aplicación de microcontroladores denominado nodo sensor; compuesto por un
microcontrolador en el que se conectan tres sensores de nivel para detectar y
monitorizar los niveles de agua, una aplicación de microcontroladores, para activar una
alarma compuesta por una luz LED y representación visual de los niveles de agua,
denominado nodo actuador; y una aplicación web denominada nodo aplicación web
encargado de procesar los datos enviados por el nodo sensor y enviar señales de
alerta al nodo actuador; muestra información que ayuda con la toma de decisiones al
administrador. Los nodos se comunican vía realiza vía inalámbrica. De las pruebas
realizadas sobre el prototipo se determina que el sistema funciona correctamente.
.
PALABRAS CLAVES: NODO SENSOR / NODO ACTUADOR / NODO APLICACIÓN
WEB / NIVELES DE AGUA / COMUNICACIÓN INALAMBRICA / ALARMA LUZ LED
xvi
ABSTRACT
TITLE: "MEASURING SYSTEM WATER LEVEL CONTROL POOLS IN A FISH HATCHERY PROJECT INTEGRATOR MODE".
Author: Franklin Leonardo Benalcázar Erazo.
Tutor: Aldrin Ismael Flores Suarez.
This project presents the design and implementation of a prototype system to monitor
and detect water levels: minimum, medium and maximum control in swimming pools a
fish hatchery. This work is composed of an application microcontroller called sensor
node; compound a microcontroller in which three level sensors connect to detect and
monitor water levels, an application microcontroller, to activate an alarm comprising a
visual LED light and water levels, called actuator node; and node web application
called Web application responsible for processing the data sent by the sensor node
and send warning signals to the actuator node, according to the data obtained; it
displays information to help with decision-making to the administrator. Communication
between the three nodes is performed wirelessly. Tests conducted on the prototype is
determined that the system works properly.
KEYWORDS: SENSOR NODE, ACTUATOR NODE, WEB APPLICATION NODE,
MONITORING, WATER LEVELS, WIRELESS COMMUNICATION, LED ALERT
1
INTRODUCCIÓN
Como antecedentes los avances tecnológicos en el campo de la informática,
microelectrónica, las telecomunicaciones, han permitido dar solución a varias
situaciones a varias situaciones en los campos sociales, económicos, industriales,
comerciales, agroindustrial entre otros con la implementación de sistemas de control
automático.
El problema es que existen empresas de piscicultura en el país, no cuentan con
sistemas que permitan monitorear y detectar los niveles de agua de forma automática,
por ejemplo según información proporcionada por el propietario de un establecimiento
de piscicultura ubicado en la parroquia “El Playón de San Francisco”, cantón
Sucumbíos provincia de Sucumbíos”, hace aproximadamente un año, debido a que no
se contó con información oportuna sobre el nivel de agua en las piscinas donde se
alojan los alevines (crías de peces), aproximadamente 180.000 de estas crías
avaluadas cada una en 8 centavos de dólar murieron ocasionando una pérdida de $
14.400 dólares americanos aproximadamente esto representa, en palabras del
propietario, el 15% del total de la inversión realizada en el negocio.
Como propuesta de solución se presenta el proyecto integrador, sistema de medición
de nivel de agua en piscinas de control en un criadero de peces, el mismo permitirá
monitorizar y detectar los niveles de agua mínimo, normal y máximo, en caso de
detectar alguna anomalía, accionará una sirena en señal de alerta, guardará los datos
en una base de datos, mostrará información de las alertas generadas y permitirá
ingresar y consultar motivos de las mismas.
El diseño e implementación de este sistema es importante porque su aplicación dará
solución de bajo coste al problema de monitorizar los de niveles de agua de forma
automática, de las pequeñas y medianas empresas de piscicultura.
Para la implementación en un campo real de este sistema se requieren realizar
pruebas más rigurosas sobre el funcionamiento del sistema y diseños que abarquen
los aspectos como la alimentación de energía eléctrica autónoma, y comunicación
inalámbrica de mayor nivel para lograr coberturas de largo alcance, respuesta de los
2
sensores con el nivel de agua, por lo que en este trabajo de titulación se realizará el
diseño e implementación de un sistema prototipo con las mismas funcionalidades
En la actualidad la tecnología de sensores es utilizada en muchos campos de la vida
huma y el uso de estos operados y controlados con microcontroladores, se ha ido
popularizando sobre la base de sus aplicaciones y complejidad, así como también las
comunicaciones inalámbricas de corto, mediano y largo alcance en comunicación con
sistemas informáticos mejoran la capacidad y velocidad con la que se obtiene datos e
información veraz y oportuna, en los campos sociales, económicos, industriales,
comerciales, agroindustriales entre otros.
El objetivo general de este trabajo es diseñar e implementar un prototipo de un
sistema informático que permita monitorizar y detectar los niveles de agua en piscinas
de control en un criadero de peces
Los objetivos específicos se describen a continuación.
Diseñar e implementar un prototipo de nodo sensor, que permita monitorizar y detectar
los niveles de agua mínimo, normal, y máximo, y envíe los datos recopilados vía
wireless a un nodo aplicación web.
Diseñar e implementar un prototipo de nodo actuador, que reciba del nodo aplicación
web vía wireless la petición de activar una alarma, dando una señal de alerta, o
desactivar la misma
Diseñar e implementar un nodo aplicación web que permita: guardar los datos
generados por el nodo sensor, los procese y envíe la petición vía wireless al nodo
actuador con la instrucción de activar o desactivar la alarma, guarda los datos en una
base de datos, muestra información histórica de alertas, estadísticas de las alertas
generadas y monitoreo de los demás nodos.
3
1 MARCO TEORICO
1.1 Red de sensores inalámbricos
Los dispositivos de una red de sensores inalámbricos, conocidos como nodos
sensores son unidades autónomas, capaces de realizar algún tipo de procesamiento,
recopilación de la información sensorial, y la comunicación con otros medios
conectados a una red informática, tienen la habilidad de medir un medio físico con
gran detalle. Asimismo, constan de un microprocesador, fuente de energía, un
radiotransmisor y un elemento sensor. (CARBAJAL, 2012, pág. 3)
1.2 Arquitectura de una red de sensores inalámbricos
Las redes de sensores inalámbricos se componen de dispositivos pequeños,
autónomos, distribuidos geográficamente, llamados nodos sensores. Estos gozan de
capacidad de cómputo, almacenamiento y comunicación en una red conectada sin
cables, e instalados alrededor de un fenómeno físico para monitorizarlo. Una vez que
se produzcan eventos, toma medidas o cualquier actividad programada con el
fenómeno en cuestión, la información es transformada en digital en el propio nodo, y
transmitida fuera de la red, vía un elemento Gateway, a una estación base, donde la
información pueda ser almacenada y tratada temporalmente para acabar finalmente en
un servidor con mayor capacidad, que permita componer una secuencia histórica o
realizar análisis de datos. (CARBAJAL, 2012, pág. 4)
1.2.1 Nodo sensor
Se compone de procesador y un dispositivo de radio, donde se conecta una placa de
sensores. (CARBAJAL, 2012, pág. 6)
En el proyecto la mota está compuesta por el microcontrolador Atmega 328p y el
modulo wireless ESP8266
4
1.2.2 Gateway o Pasarela
Son los elementos destinados a la interconexión entre la red de sensores y una red de
datos (CARBAJAL, 2012, pág. 6).
En el proyecto se utilizará un enrutador D-LINK N 150.
1.2.2 Estación base en el proyecto aplicación web
Actúa como recolector de datos basado en un ordenador común o un sistema
integrado
(CARBAJAL, 2012, págs. 5,6)
Figura 1. Arquitectura de una red de sensores inalámbricos.
En la Figura 1 la leyenda PC, LAN or Internet hace referencia a que el Gateway puede
transmitir los resultados del monitoreo hacia una computadora, una red de datos
interna o transmitirlos a través del Internet.
1.3 Tecnologías inalámbricas estándares y propietarias para sensores
inalámbricas
Las tecnologías inalámbricas más conocidas son redes LAN (Local Area Network) con
el protocolo IEEE802.11, para redes PAN (Personal Area Network) bluetooth el
5
protocolo IEEE 802.15.3 e IEEE 802.15.4 ZigBee usando las bandas ISM (Industrial,
Scientific and Medical)
1.3.1 Redes de datos
Las redes de datos son redes de comunicaciones pensadas para intercambiar datos
empleando protocolos de comunicaciones. En ese caso, los elementos fuente y
destino de la información son dispositivos electrónicos como ordenadores, teléfonos
móviles, etc. (BARBANCHO CONCEJERO, y otros, 2014, pág. 3)
Están compuestas de nodos que reciben y procesan la información, y un conjunto de
enlaces, que conectan estos nodos permitiendo el envío y la recepción de dicha
información. Cada nodo es capaz de recibir la señal del medio de transmisión
empleado. (BARBANCHO CONCEJERO, y otros, 2014, pág. 3)
Red LAN
Una red de área local es una red de comunicaciones que interconectan nodos dentro
de una misma área de cobertura. (BARBANCHO CONCEJERO, y otros, 2014, pág. 4)
. Mientras que el protocolo 802.11 por lo visto en (XIAO & PAN, 2009, págs. 3,4,5)
establece los niveles inferiores del modelo OSI (Open System Interconection) para las
conexiones inalámbricas, mismo que se ha dividido en las versiones 802.11a/h/j que
trabaja en la frecuencia de 5GHz velocidad de hasta 54 Mbps y cobertura de hasta
10m (XIAO & PAN, 2009, págs. 22,23) , 802.11b que trabaja en la frecuencia 2.4 GHz
cobertura de 30 metros a 11 Mbps o 90 metros a 1 Mbps; sin embargo con antenas
externas conectadas punto a punto pueden alcanzar los 8Km (XIAO & PAN, 2009,
pág. 20), 802.11g que trabaja en la frecuencia de 2.4 GHz similar al 802.11b pero con
velocidad de hasta 54 Mbps (XIAO & PAN, 2009, pág. 23).
Red PAN
Se denomina red de área personal a una red de nodos localizados cerca de una
persona. Entre los nodos podemos encontrar PDA, teléfonos móviles, etc. El alcance
de una PAN es muy limitado, generalmente a unos cuantos metros (BARBANCHO
CONCEJERO, y otros, 2014, pág. 4); trabaja en la frecuencia 2.4Ghz a velocidad
menor de 1Mbps y cobertura de 10 metros. (XIAO & PAN, 2009, pág. 191)
6
ZigBee
Forma parte de un grupo de estándares destinados a reglamentar la realización de
redes personales inalámbricas. Se encarga de establecer una comunicación confiable
mediante un enlace de radiofrecuencia, permitiendo demás el uso de broadcasts para
direccionar varios dispositivos a la vez. La confiabilidad la detección de error, acuse de
recibo y retransmisiones; de modo que se pueda determinar si una trama se entrega o
no. Si bien esto puede realizarse con tecnologías previamente existentes, el énfasis de
ZigBee se halla en la simpleza de su implementación, requiriendo relativamente poca
potencia de procesamiento y facilitando la operación en bajo consumo. (CAPRILE,
2009, pág. 77); utiliza la frecuencia de 2.4Mhz velocidad de 55 Mbps y cobertura de
10 metros. (XIAO & PAN, 2009, pág. 191)
1.4.1 Comparativo de tecnología inalámbricas ANEXO A
Conforme se indica en el ANEXO A LAN inalámbrica permite mayor ancho de banda,
aplicaciones vía web y ordenadores, pero tienen un alto consumo de energía, además
permite alcance con distancias de hasta varios kilómetros, dando cobertura a grandes
extensiones de terreno. (CARBAJAL, 2012, pág. 30)
1.4.2 Aplicación de las Redes de Sensores (CARBAJAL, 2012, pág. 7)
Como se puede ver en el ANEXO B que existen varios campos; como militar,
agricultura, medio ambiente, automoción entre otras, donde se pueden utilizar redes
de sensores inalámbricos, en todos estos ha habido una evolución tecnológica
constante, como se muestra en los estudios, descritos a continuación realizados en
diferentes países de América del Sur, el uso de sensores para monitorizar todo tipo de
actividad, combinados con tecnologías de microelectrónica, telecomunicaciones y
tecnologías de la información que facilitan el control
Experimentación con animales
En Brasil se llevó a cabo un estudio para recolectar datos fisiológicos y monitorizar
rebaños de bovinos. Para lo cual se utilizó una red de sensores inalámbricos para
realizar colectas de datos de la actividad eléctrica cerebral y temperatura corporal de
7
seis novillas de raza Holandesa. A fin de optimizar la infraestructura, fue desarrollado
un software que a partir de la simulación del desplazamiento de un rebaño bovino
ayuda a determinar la mejor distribución de esa infraestructura en el área
monitorizada. Los resultados alcanzados mostraron que es posible utilizar redes de
sensores inalámbricas como técnicas eficientes para obtener datos fisiológicos de
bovinos. (PAULO, 2014)
Caracterización de Ambientes Industriales Para Aplicaciones de Redes de
Sensores Inalámbricos en la Región Arequipa
Este articulo pretende realizar un estudio del ambiente industrial que le permita
caracterizar el entorno, en el cual se presentan dificultades delicadas en el desempeño
de las redes de sensores inalámbricas, para lo cual se realizó una recolección de
información empleando los protocolos de la industria estandarizados y con ellos
analizar los efectos de dicha problemática en la muestra, como es el caso de la
latencia en los enlaces de comunicación, la disminución en la capacidad de
procesamiento de las señales, el consumo excesivo de potencia y recursos
energéticos, entre muchos otros aspectos. (CÓRDOBA ARHILA, 2013, pág. 13)
Los resultados de este estudio fueron que se encontró que la intensidad de la señal
se puede ver interrumpida en ambientes industriales debido a posibles alteraciones
como la reflexión en las paredes y pisos además de interferencias de las bandas ISM9
y del ruido generado por los equipos pesados o maquinaria causando interferencias
destructivas. (CÓRDOBA ARHILA, 2013, pág. 13)
Monitoreo de Sensores Inalámbricos vía Interfaz Web
El tema desarrollado en este artículo tiene su origen en la actual situación de los
nodos sensores TelosB, los cuales no tienen un acceso vía internet, a una base de
datos que contenga la información recopilada por ellos. Su objetivo principal radica en
la creación de un sistema de monitoreo que permita a un usuario, acceder vía internet,
tanto a la información almacenada en la base de datos, como a las variaciones
captadas en el momento por los nodos sensores TelosB. (CÓRDOBA ARHILA, 2013,
pág. 6)
Para ello se realizó la implementación de una base de datos, que almacena la
totalidad de los datos entregada por los nodos sensores, que se encuentran
8
monitorizando determinada área además de un programa en base a PHP para
transferir la información desde la base de datos hacia internet así como la disposición
de una Interfaz Web amigable al usuario que le permita el acceso tanto al estado de
los sensores en tiempo real, como a la información recopilada por los nodos sensores,
posteriormente se hizo una evaluación del funcionamiento efectivo de la interfaz tanto
de la información en tiempo real como de la base de datos. (CÓRDOBA ARHILA,
2013, pág. 6)
Redes de sensores inalámbricos para el análisis de vibraciones
El trabajo de memoria de título presentado muestra el proceso de estudio, diseño y
creación de prototipos de redes de sensores inalámbricos para proveer a los sensores
de cierta inteligencia con el fin de examinar diferentes clases de vibraciones ya sean
de máquinas eléctricas donde se estudian desajustes en sus vibraciones o como las
estructuras civiles, donde se estudia su estado y/o presencia de sismos. Para ello se
ha creado un prototipo hardware/software, con un protocolo de comunicación síncrono,
sencillo y que busca ahorrar energía, el aporte es crear WSN que trabajen en forma
eficiente y ayuden a evaluaciones estructurales de obras civiles o evaluaciones de
máquinas eléctricas. Por otro lado se realizó un estudio en el dominio del tiempo y
frecuencia con los datos capturados por la red y la implementación se llevó a cabo con
sensores SunSPOT de la compañía Microsystem. (CÓRDOBA ARHILA, 2013, pág. 7)
En Ecuador se han realizado diferentes estudios e implementaciones de redes de
sensores inalámbricos en diferentes áreas como proyecto de tesis de algunas
universidades locales a continuación se presentan algunos casos.
Análisis de desempeño de redes de sensores inalámbricos en tiempo real
aplicadas a monitorización volcánica
Este fue proyecto de grado de ingeniería en la Escuela Politécnica del Ejército, se trata
de un trabajo donde se hace un estudio, de las redes de sensores inalámbricos
implementadas en Ecuador con este objetivo, además de un estudio de mercado de
las marcas más reconocidas que brindan productos orientados a este tipo de
aplicaciones, se hace una simulación del funcionamiento de la aplicación y finalmente
se hace prueba implementando el sistema para monitorizar el sistema en ambiente
9
real. La conclusión de este trabajo de investigación, es que no se puede implementar
ya que no supero las pruebas realizadas. (PICO, 2012)
Sistema de detección de incendios forestales mediante redes sensoriales
inalámbricas (Zigbee)
Este documento describe el uso de la tecnología Zigbee por medio de Arduino. Dichas
tecnologías han permitido crear un sistema que denominaremos Natura Sys que está
conformado por nodos sensoriales receptoras de información ambiental tal como
temperatura, humedad y presencia de humo; así como una base central encargada de
recolectar toda la información de forma inalámbrica enviada por los dispositivos
sensoriales, ésta información será visualizada en una aplicación de escritorio y en
donde se podrá detectar una posible alerta de incendio forestal bajo los parámetros
programados en ésta; y como un plus se ha diseñado una página web en la cual se
muestran reportes estadísticos acerca del área forestal monitoreada. (JENNYFER K.
ERAZOP., 2014)
1.4 Transductor.
Es un dispositivo que transforma el efecto de una causa física, como la presión, la
temperatura, la dilatación, la humedad, etc., en otro tipo de señal, normalmente
eléctrica. (REAL ACADEMIA ESPAÑOLA, TRANSDUCTOR, 2014)
1.5 Sensor
Dispositivo que detecta una determinada acción externa, temperatura, presión, etc., y
la transmite adecuadamente. (REAL ACADEMIA ESPAÑOLA, SENSOR, 2014)
1.5.1 Sensores de nivel
El Sensor de nivel es un dispositivo electrónico que mide la altura del material,
generalmente líquido, dentro de un tanque u otro recipiente. Los Sensor de nivel se
dividen en dos tipos principales. Los Sensor de nivel de punto se utilizan para marcar
una altura de un líquido en un determinado nivel prestablecido. Generalmente, este
tipo de sensor funciona como alarma, indicando un sobre llenado cuando el nivel
determinado ha sido adquirido, o al contrario una alarma de nivel bajo. Los sensores
10
de nivel continuos son más sofisticados y pueden realizar el seguimiento del nivel de
todo un sistema. Estos miden el nivel del fluido dentro de un rango especificado, en
lugar de en un único punto, produciendo una salida analógica que se correlaciona
directamente con el nivel en el recipiente. Para crear un sistema de gestión de nivel, la
señal de salida está vinculada a un bucle de control de proceso y a un indicador visual.
(OMEGA SENSOR DE NIVEL, 2016)
Figura 2. Sensor de nivel de agua (Exress, 2016)
En la Figura 2 se muestra un sensor de nivel de agua compuesto por un cilindro fijo y
una boya móvil, cuando el nivel de agua se encuentra bajo la boya se encuentra en la
parte inferior del cilindro este se encuentra en normal dando una señal de cero lógico,
cundo el nivel del agua sube empuja la boya hacia arriba llevando al sensor a normal
cerrado dando una señal de 1 lógico indicado que el nivel de agua se ha superado
1.4 Microcontroladores
Son un sistema de microcomputadora completo. Es decir, un microcontrolador
contiene en un solo circuito integrado el microprocesador, la memoria de programa y
las unidades de entrada/salida, lo cual lo hace muy pequeño, barato y fácil de manejar,
por lo que es ideal para muchas aplicaciones de propósito específico. (ROSSANO,
2009)
Los microcontroladores están concebidos fundamentalmente para ser utilizados en
aplicaciones puntuales, es decir, aplicaciones donde el microcontrolador debe realizar
un pequeño número de tareas, al menor costo posible. En estas aplicaciones, el
microcontrolador ejecuta un programa almacenado permanentemente en su memoria,
el cual trabaja con algunos datos almacenados temporalmente e interactúa con el
exterior a través de las líneas de entrada y salida que dispone. (ARENY & PÉREZ,
2007)
11
1.5 Servidor web
Un servidor web es un programa que se ejecuta continuamente en un computador,
manteniéndose a la espera de peticiones de ejecución que le hará un cliente o un
usuario de Internet. El servidor web se encarga de contestar a estas peticiones de
forma adecuada, entregando como resultado una página web o información de todo
tipo de acuerdo a los comandos solicitados. ( MOSCOSO CALVOPIÑA, 2008)
1.6 Base de datos
Una base de datos consta de una colección de tablas en las que se almacena un
conjunto específico de datos estructurados. Una tabla contiene una colección de filas,
también denominadas tuplas o registros, y columnas, también denominadas atributos.
Cada columna de la tabla se ha diseñado para almacenar un determinado tipo de
información; por ejemplo, fechas, nombres, importes en moneda o números.
(MICROSOFT, msdn.microsoft.com, 2016)
Entre las principales características de los sistemas de base de datos podemos
mencionar:
Independencia lógica y física de los datos.
Redundancia mínima.
Acceso concurrente por parte de múltiples usuarios.
Integridad de los datos.
Consultas complejas optimizadas.
Seguridad de acceso y auditoria.
Respaldo y recuperación.
Acceso a través de lenguajes de programación estándar. (GAVIDIA, 2013)
1.7 Lenguaje de programación
Un programa especializado conocido como compilador toma las instrucciones escritas
en el lenguaje de programación y las convierte en lenguaje máquina. Esto significa
que, como desarrollador de aplicaciones de computadora, no precisa saber lo que
hace el equipo o como lo hace, solo necesita saber cómo funciona el lenguaje de
programación. (MICROSOFT, msdn.microsoft.com, 2016)
12
2 DESARROLLO
2.1 Marco metodológico
El desarrollo del proyecto integrador cumple con las siguientes características.
El proyecto se puede separar en fases o etapas muy especificas
Se tiene un conjunto de requerimientos
Es necesario hacer un análisis de cada uno de ello y proponer una solución
particular que en conjunto resuelvan el problema planteado.
Se debe hacer un análisis y un diseño de la solución
Codificación y pruebas.
Implementación a manera de demo
Y un mantenimiento experimental que permita corregir errores
Después de hacer un análisis de las características anteriores se ha llegado a la
conclusión de que la metodología de desarrollo en cascada es la más adecuada para
el desarrollo del sistema prototipo, pues permite separar al mismo en etapas
Esta metodología permite dividir el proyecto en las siguientes fases o etapas.
Análisis de requisitos
Diseño del sistema
Diseño del programa
Codificación
Pruebas
Verificación
13
2.2 Descripción general
Se implementará una solución, basada en redes de sensores inalámbricos que permita
monitorizar y detectar los niveles de agua en las piscinas de control, de forma
automática. El producto será independiente de cualquier otro sistema y desarrollado a
partir de las especificaciones y requerimientos establecidos para el proyecto.
El sistema monitorizará y detectará tres niveles de agua en las piscinas de control
nivel mínimo, medio o normal y un nivel máximo y cuando detecte que hay una
anomalía activará una alarma que permita alertar a las personas encargadas del
control para que ellas puedan tomar las medidas necesarias.
Soportará el manejo, almacenamiento y tratamiento de los datos generados por los
sensores ubicados en un prototipo que simule una piscina de control. Se mostrará
información de las alertas generadas, fecha de inicio, fecha de fin, de las mismas. Se
podrá configurar y monitorizar el funcionamiento de los sensores mediante la interfaz
web
2.3 Análisis de Requerimientos
2.3.1 Requerimientos funcionales
Requerimiento funcional nodo sensor y actuador
Se diseñará e implementará una aplicación de microcontrolador, que se dominará
nodo sensor, en la que se conectarán tres sensores; uno que monitorice y detecte el
nivel máximo, otro que monitorice y detecte el nivel normal del agua, y un tercero que
monitorice y detecte el nivel mínimo del agua; capture las lecturas de los mismos y los
envíe vía inalámbrica hacia una aplicación web. Además contara con información
visual sobre los niveles del agua misma que será representada por diodos emisores de
luz (LED) de color verde para el nivel máximo, amarillo para el nivel medio y azul para
el nivel mínimo.
Se diseñara e implementará una aplicación de microcontrolador, que se denominará
nodo actuador, que reciba datos con la petición vía inalámbrica de activar o desactivar
una alarma representada por un LED (diodo emisor de luz) de color rojo, y muestre
14
información visual del estado de cada uno de los niveles de agua monitorizados y
detectados por el nodo sensor representados por un LED de color verde para el nivel
máximo, un LED de color amarillo para el nivel medio, y un LED de color azul para el
nivel mínimo.
Requerimiento funcional nodo aplicación web
Se tendrá una interfaz web, que se denominara nodo aplicación web, donde se podrá
ver el resultado del monitoreo de los niveles de agua, estadísticas, detalle de las
alertas, histórico de las alertas producidas por las variaciones del nivel del agua.
Se implementará una interfaz web que permita configurar y testear el funcionamiento
de los nodos sensor y actuador
Requerimiento funcional servidor web
Se implementará un servidor web que receptará los datos enviados por el nodos
sensor analice y tome decisiones, en caso de tratarse de una anomalía este emitiera
una petición de alerta, vía inalámbrica hacia el nodo actuador que activará una alarma
y muestre visualmente el estado de los niveles del agua.
Requerimiento funcional interfaz web
Se implementará una interfaz web donde se puedan ver todas las alertas producidas,
el estado en que se encuentran si se resolvieron o no, fecha de inicio y fecha de fin, en
caso de que se haya resuelto, además permitirá ingresar observaciones o comentarios
sobre las causas por la que se produjo la alerta.
2.3.2 Requerimientos no funcionales
Seguridad
Se implementará una pantalla de autenticación que permita identificar y que solo el
administrador (dueño) pueda acceder a la información.
15
Conectividad
Una red informática que permita la comunicación entre los elementos mencionados
anteriormente debe tener la capacidad de que se conecten equipos de forma
inalámbrica
Rendimiento
La concurrencia se implementará de acuerdo a la cantidad de piscinas a monitorizar y
los usuarios a contactarse al servidor. Se implementará un nodo sensor, un nodo
actuador y un administrador por lo que se tendrá una concurrencia de 3 usuarios
trabajando concurrentemente.
Portabilidad
La aplicación final podrá instalarse sobre cualquier plataforma ya sea Windows o
alguna distribución de Linux entiéndase Fedora, Ubuntu, etc.
2.3.3 Restricciones para el desarrollo e implementación del proyecto integrador
Como limitaciones para la implementación en un campo real se requieren realizar
pruebas rigurosas con el fin de detectar anomalías sobre el funcionamiento del
sistema además se deben diseñar e implementar soluciones que abarquen los
aspectos como la alimentación de energía eléctrica autónoma, y comunicación
inalámbrica de mayor nivel para lograr coberturas de largo alcance.
A pesar de que la tecnología de los microcontroladores ha avanzado mucho en los
últimos años aún siguen siendo muy limitadas.
2.3.4 Alcance del proyecto integrador
Se creará una aplicación web que permitirá recibir los datos enviados desde un nodo
sensor guardarlos en una base de datos. Esta aplicación procesará y determinará si es
necesario generar una alerta. En caso de que si se genere una alerta activará una
alarma que alerte a los encargados del lugar que deben tomar medidas al respecto.
16
Permitirá, mediante una interfaz web, al administrador ver el detalle de las alertas
emitidas, fecha de inicio, fecha de fin, estado de resuelto o no y ver y editar
comentarios sobre las causas que provocaron dichas alertas. Esto con el fin de llevar
un registro histórico para tener una base de datos que ayude a prevenir futuros
incidentes. Además en la aplicación web se podrá detectar el funcionamiento de los
nodos, sensor y actuador, así como asignar nombre, descripción e ingresar en el
sistema la dirección IP de la que dispone cada sensor.
El nodo sensor estará configurado y programado para que detecte tres niveles de
agua tales como alto, medio y bajo; además al mismo nodo se conectará un módulo
de comunicación inalámbrica que permitirá enviar, a través de una red LAN
inalámbrica información a una aplicación web.
El nodo actuador estará configurado y programado para que cada vez que reciba una
señal de alerta active una alarma, y cuando reciba la señal de apagar la desactive.
SENSO
RES D
E NV
EL
NO
DO
SENSO
R
MICROCONTROLADOR
NODO APLICACIÓN WEBNIVEL MÍNIMO
NIVEL MEDIO NORMAL
NIVEL ALTO
ADMINISTRADOR
ALARMA
MICROCONTROLADOR
NODO ACTUADOR
Figura 3. Esquema del alcance del prototipo de sistema
Mediante una interfaz web donde se pueda tener información visual del estado de
cada nivel del agua, se pueda distinguir si se ha generado una alarma o no, se
mostrará un resumen de las alertas generadas; en cuanto a las estadísticas se
mostrará un cuadro de barras con la cantidad de alertas generadas por cada nivel de
agua, un resumen estadístico donde se verá el tiempo número total de alertas, tiempo
máximo en que se resuelve una alerta, tiempo mínimo en que se resuelve una alerta y
tiempo promedio en que se resuelve una alerta.
17
2.4 Diseño del sistema prototipo.
2.4.1 Arquitectura lógica del sistema prototipo.
El sistema empleará un estilo arquitectónico de niveles de abstracción o capas y será
organizado en tres, la primera capa será la de los nodos sensores colocados en las
piscinas misma que se denominará “Nodo sensor” la segunda capa será la aplicación
web que controla a los nodos y muestra información al usuario misma que se
denomina “Nodo aplicación web” y la tercera capa será la del nodo actuador que
administra a la sirena misma que se denomina “Nodo actuador”
Esta arquitectura nos permite separar claramente el funcionamiento de las diferentes
partes del sistema prototipo como son nodo sensor, nodo aplicación web y el nodo
actuador, esto quiere decir que si se hacen cambios o se remplaza cualquiera de estos
componentes no afectarán directamente al resto de componentes.
Administración del
nodo sensor
Administración del
nodo sensor
AplicaciónAdministración de
nodos
Administración de
sirenaLógica de la alarma
Lógica de negocio
Nodo aplicación web
Nodo actuador
Nodo sensor
Figura 4. Arquitectura del sistema
18
Capa “Nodo sensor”.
Se encarga de administrar la lógica del manejo de los sensores ubicados en las
piscinas, monitoriza y detecta los diferentes niveles de agua.
Identifica el estado de los sensores
Componente sensores
Capa “Nodo sensor”.
Figura 5. Nodo sensor
Capa “Nodo actuador”
Esta capa se encarga de la lógica implícita en el manejo de la alarma, identifica debe
activarse o desactivarse.
Administrador de alarma
Capa “Nodo actuador”.
Activar o desactivar la alarma
Figura 6 Capa nodo actuador
19
Capa "Nodo aplicación web”.
Esta capa encarga del manejo de los nodos sensor y actuador, recibe datos de los
nodo sensor, los procesa determina si es una anomalía, envía datos a un nodo
actuador que activa una alarma o la desactiva, y muestra información al encargado del
establecimiento a mediante una interfaz web
Por el trabajo que va a hacer esta capa es necesario hacer una nueva subdivisión en
capas, pero estas serán del tipo de arquitectura de software propiamente dicha. Para
ello se utilizará la arquitectura de 3 capas o niveles de abstracción, mismas que son
Capa de presentación, Capa de lógica de negocio, Capa de datos.
Interfaz de usuarioLógica de la
interfaz
de usuario
Fachada de negocio Entidades de negocio
Acceso a datos
Capa de presención
Capa de lógica de
negocio
Capa de datos
Figura 7. Capa nodo aplicación web
Se hace uso de este estilo arquitectónico de tres capas porque no solo separa la
interfaz de los usuarios de los datos almacenados, sino que también, provee una capa
intermedia que es la capa de lógica de negocio que es la que se encarga de hacer de
mediadora entre las dos capas anteriores acoplándolas apropiadamente. Esta
separación lógica permite que si se hacen cambios en cualquiera de las capas estos
no afecten al funcionamiento de las demás capas, por ejemplo no es necesario hacer
cambios en la capa de lógica de negocio con respecto a la estructura de un archivo,
sus atributos o las operaciones que aquí se hacen, esto no afecte a la interfaz de
20
usuario. Además esta forma de dividir el sistema hace que se escoda la su
complejidad a los usuarios finales.
Capa de presentación
Es la capa donde se ubican las interfaces gráficas del usuario que le permiten
interactuar con el sistema.
Figura 8. Capa de presentación
Capa de lógica de negocio
Aquí se tendrá la lógica y reglas para almacenar los datos en la capa de datos y
también para recuperar estos de acuerdo a las necesidades requeridas en el sistema.
Figura 9. Capa de lógica de negocio
Estado de los niveles de agua
Estadisticas
Resumen de Alertas
Historial de Alertas
Detalle de alertas
Configuración de Micrcontroladores
Capa de Presentación
Entidades
Operaciones del sistema
Conexión entre capa de presntación y
capa de datos
Manejo y análisis de los datosCapa Lógica de Negocio
21
Capa de datos
Esta capa guarda los datos requeridos por el sistema
Figura 10. Capa de Datos
Base de datos
Tablas de datosCapa de Datos
22
2.4.2 Arquitectura física del sistema.
Aquí se describe los componentes que tendrá nuestro sistema y como interactuarán
|entre sí y como se dividirán entre las diferentes capas de la arquitectura propuesta.
El encargado del establecimiento a través de un browser de internet haciendo uso de
la interfaz web, o a su vez el nodo sensor hace una petición al servidor web donde
está alojado el nodo aplicación web. El servidor web a través de la lógica de negocio
hace una petición de acceso a datos. Acceso a datos hace una petición al servidor de
base de datos quien los devuelve desde la base de datos hacia el servidor web a
través de los componentes mencionados anteriormente. El servidor web dependiendo
del caso devuelve páginas HTML al browser e internet y este las muestra al encargado
del establecimiento, o envía una petición al nodo actuador para accionar o silenciar la
sirena
NO
DO
SE
NS
OR
NIVEL BAJO
NIVEL MEDIO NORMAL
NIVEL ALTO
ENCARGADO DEL ESTABLECIMIENTO
INTERFAZ WEB
COMPONENT
E LÓGICA DE
NEGOCIO
COMPONENTE
ACCESO A
DATOS
SERVIDOR
WEBSERVIDOR DE
BASE DE DATOS
MICROCONTROLADOR
CLIENTES NODOS
SENSOR Y ACTUADOR
CLIENTE NODO
APLICAION WEB
TCP/IP
TCP/IP
TCP/IP
TCP/IP
NODO APLICACIÓN WEB
BASE DE DATOS
ALARMA
SE
NS
OR
ES
DE
NV
EL
NO
DO
AC
TU
AD
OR
MICROCONTROLADOR
Figura 11. Arquitectura física del sistema
23
2.4.3 Diseño detallado del sistema
Diagrama de flujo de datos DFD
Son una representación gráfica del sistema y explica como fluyen los datos a través
de distintos procesos.
Los Diagramas de flujo de datos ayudan a identificar las entidades u objetos que
intervienen en el sistema y los datos que estos producen y como fluyen a través de la
aplicación hasta llegar a la entidad destino en forma de información. Se hacen forma
de niveles de abstracción empezando en 0 donde se explica en un nivel máximo de
abstracción hasta llegar a un nivel 3 o menor en el que se tenga un nivel máximo de
detalle. Este análisis se hace de acuerdo a los requerimientos planteados para el
desarrollo del sistema prototipo
Elementos o símbolos de un Diagrama de flujo de datos.
Diagrama de flujo de datos. En la parte superior se especifica nivel del
diagrama y/o el nombre del proceso al que representa; en el interior se
colocan las actividades y en el exterior las entidades que intervienen en el proceso y
estos se conectan utilizando flechas que simbolizan el flujo de los datos.
Entidad. Simboliza los objetos que intervienen en el proceso estos
pueden ser personas, sensores, servidores, etc.
Actividad. Aquí se describen las actividades a realizar para cumplir con
algún objetivo propuesto
Flujo de datos. Indican como pasan los datos desde una entidad hacia
una actividad, y de ésta de nuevo hacia una entidad u otra actividad, se identifican con
la letra F de flujo y va acompañado de un número secuencial.
Guardar datos. Identifica el proceso de guardar datos en la base de
datos.
DFD
.
1 .
1
.
24
a) DFD de nivel 0
El sensor de nivel detecta el nivel del agua en el procedimiento (1) dependiendo de la
configuración asignada previamente, esta puede ser sobre si el nivel de agua es
correcto o no, los datos son enviados utilizando un medio físico (F1) conectado al
nodo sensor donde son convertidos en señal digital lo que permite procesarlo como
un dato lógico; este dato es enviado al nodo aplicación web vía inalámbrica (F2)
donde es analizado utilizando el procedimiento (2) y se decide si se trata de una alerta
o no, en caso de serlo envía una petición hacia el nodo actuador vía wireless (F3)
encargado de manejar la alarma con la petición de encenderla o apagarla según sea el
caso; también crea una nueva alerta en la base de datos (F4) y la pone a disposición
del encargado del establecimiento (F5), que desde este punto en adelante será
denominado como administrador; a través de la página web que se diseñará con este
propósito.
Figura 12. Diagrama de flujo de datos de nivel 0
P1
F5
F4F3
DFD 0
2
Analisis datos
Nodo sensor Nodo actuador Alerta Administrador
1
Detección del nivel de aguaSensor de nivel
F1
Datos Básicos
Datos Básicos
Enviar Datos
Enviar Datos
Enviar Datos
Enviar Datos
F2
25
b) Diagrama de nivel 1.1 proceso Determinar el nivel del agua.
Operación entre el sensor y el nodo sensor aquí cada uno de los sensores de nivel
mínimo, medio o máximo produce un dato del nivel del agua y se lo envía al nodo
sensor utilizando un medio físico (F1), (F2) o (F3). El nodo lo analiza cuál es el estado
y lo envía al servidor web vía wireless (F3) para que este decida si es una alerta o no.
Figura 13. DFD proceso determinar el nivel del agua
Como ya no se puede reducir más el proceso “análisis del nivel del agua” este
diagrama ya ha llegado a su final y no es necesario reducir más el proceso.
c) Diagrama de nivel 1.2 proceso Determinar si se trata de una alerta.
En este proceso se detecta si el nivel del agua es el correcto o no y se informa a los
encargados del sector que hay una alerta ya sea por exceder los límites máximos del
agua o desciende a los mínimos permitidos.
El nodo sensor detecta los niveles de agua y los clasifica entre correctos o incorrectos
y los envía vía wireless (F1) al nodo aplicación web, En el nodo aplicación web se
determina si se trata de una alerta (7), en caso de ser respuesta afirmativa (F2)
verifica si ya existe una alerta activa (8), en caso de la respuesta ser negativa se
procede a enviar la petición de encender la alarma vía wireless (F4) al nodo actuador;
envía los datos fecha y hora de inicio, estado de alerta activa (F7) a guardar en la base
de datos (1). En caso de detectarse que no se trata de una alerta envía los datos (F3)
F1
F2
F3
F3
Datos Básicos
Sensor nivel
mínimo
Servidor web
Sensor nivel
medio
Sensor nivel
máximo
3
Analizar niveldel agua
DFD 1.1 Determinar el nivel del agua.
Datos Básicos
Datos Básicos
Enviar Datos
26
a verificar si en la base hay una alerta creada si es positivo se procede enviar la
petición de apagar la alarma vía wireless (F6) al nodo actuador; y se envía los datos
da fecha y hora de fin de alerta, estado de alerta como finalizada (F7) a guardar en la
base de datos (1).
Figura 14. DFD Determinar si se trata de una alerta
Como ya no se puede reducir más el proceso “análisis del nivel del agua” este
diagrama ya ha llegado a su final y no es necesario reducir más el proceso.
d) Diagrama de nivel 1.3 proceso “Mostrar información de sensores,
microcontroladores, estadísticas, resumen de alertas”.
En este proeso se obtiene información referente al estado de los nodos sensor y
actudor “CONECTADO/ DESCONECTADO”, estado de los niveles de agua,
Estadísticas sobre el historial de alertas, resumen de alertas.
El administrador ingresa su usuario y contraseña en la interfaz web, estos son
enviados al nodo aplicación web por medio de la red (F1), se verifica si los datos son
correctos en (18), si son incorrectos se envían datos (F8) por la misma vía indicando
que vuelva a intentarlo caso contrario envía datos (F2) a para obtener datos de
estadísticas de los históricos de alertas (F5), información de los niveles de agua (F3), y
estado de los nodos sensor (F3) y actuador (F4) en la actividad número (23). Estos
datos son enviados (F6) a que se procesan en (22) se devuelven al usuario como
información por medio de la red (F7) y se la muestra en la interfaz web.
F7
F5
F6
DFD 1.2 Determinar si se trata de una alerta
F1
F4
Nodo sensor.Nodo actuador.
8
Determinar si se trata de una nueva
alerta
1 Guarda estado de la alerta
9
Determina si ya se termino la alerta
Datos Básicos
Cargar Datos
Datos Básicos
Enviar Datos
Enviar Datos
F2
7
Detectar alerta
F3
Enviar Datos
27
Figura 15. DFD mostrar información de los sensores
Como ya no se puede reducir más el proceso “Mostrar información de sensores,
nodos, estadísticas, resumen de alertas” este diagrama ya ha llegado a su final y no es
necesario reducir más el proceso.
e) Diagrama de nivel 1.4 proceso “Detalle de alerta”.
En este proceso se obtiene el detalle de cada alerta, como son fecha y hora de inicio,
fecha y hora de fin si lo hubiera, estado de la alerta si ya se resolvió o no, y se puede
ver y/o ingresar una observación de las causas y posibles soluciones de la alerta
producida.
F1
Datos Básicos
Usuario18
Autenticación de ususario
22
Procesar y ordenar la información
Nodo actuador.
.Nodo sensor. . Alerta..
1.3 Proceso mostrar información denodos, estadísticas, resumen de alertas
23
Obeneter Datos de Alertas, Estadisticas,
Estado de Sensores
Datos Básicos
Datos Básicos
Datos Básicos
F6
F2
F5
F3
F7
F4
Enviar Datos
Enviar Datos
Enviar Datos
F8
Enviar Datos
28
El usuario hace una petición de información de una alerta la petición viaja por medio
de la red (F2), con los dataos básicos de la misma, se obtiene la información de la
misma con datos de nodo sensor que lo reporto (F4) si ya se resolvió, sino el motivo
de la misma, y observación con respecto a las causas de su origen (1), los datos se
actualizan con datos de la alerta (F3), se envían a modificar los datos (F5), se
modifican en los datos de la alerta (2), se envían a guardar (F6), y se actualiza los
datos en la base de datos (1)
Figura 16. DFD enviar datos de alerta
Como ya no se puede reducir más el proceso “Detalle de alerta” este diagrama ya ha
llegado a su final y no es necesario reducir más el proceso.
f) Diagrama de nivel 1.5 proceso “Configuración de nodos sensores”.
Con este proceso se configura los nodos sensores que estarán instalados en las
diferentes piscinas para el sistema prototipo solo se utilizará uno.
Para ello se obtiene los datos de todos los nodos sensores (1) desde la base de datos
(F1), se selecciona uno(3) solicitando sus datos (F2) y se envían su datos (F3) para
verificar la conexión del nodo sensor(4) con el sistema enviando datos a haciendo un
ping desde el nodo aplicación web al nodo sensor el resultado se envía (F6) a guardar
F1
Datos BásicosUsuario
Nodo sensor.
Alerta...
DFD 1.4 Detalle de alerta
Datos BásicosF6
F2
F5
F3
Enviar Datos
Cargar Datos
1
Obtener Información de alerta
1 Actualizar alerta
2
Modifiar datos de alerta
Datos Básicos
Datos Básicos
F1
F4
29
en la base de datos (1); al seleccionar también se puede ver información acerca del
nodo sensor, nombre, estado de conexión, IP asignada, y los sensores que lo
componen delos cuales se puede editar la IP y el nombre se envían los datos (F4)
para actualizarlos en 2, y se actualizan en (2) y se envían (F5)a guardar en la base de
datos (1).
Figura 17. DFD actualizar datos de nodo sensor
Como ya no se puede reducir más el proceso “Configuración de microcontroladores de
piscinas” este diagrama ya ha llegado a su final y no es necesario reducir más el
proceso.
g) Diagrama de nivel 1 proceso “Configuración de nodo actuador”
Con este proceso se configura el nodo actuador que van a estar encargado del manejo
de la alarma, permite verificar la conexión, activar o desactivar la alarma y editar sus
datos básicos nombre y dirección IP.
Con este propósito se obtiene los datos de básicos del nodo actuador (16) desde la
base de datos (F1), se pasan los datos primarios (F3) del nodo sensor, Nombre,
dirección IP para ser editados (14). Se puede activar o desactivar la alarma esto quiere
decir que si es que está activada mientras se produce la alerta, desde aquí se la
puede desactivar desde (16) se envían datos (F4) se acciona la petición de encender o
apagar la alarma (17) se envían a guardar los datos (F7) en la base de datos (4). Para
verificar la conexión con el nodo actuador desde (16) se envían datos (F2) con la
petición de verificar la conexión del nodo actuador con el sistema (18) haciendo ping
Datos Básicos
DFD 1.5 Configuración de nodos sensores
Nodo sensor
1
Obtener datos de los nodos
2
Actualizar datos de los nodos
1 Guardar datos de los controladores
3
Seleccionar nodo sensor
4
Verificar conexion del nodo sensor
Datos Básicos
Enviar Datos
Enviar Datos
Cargar datosCargar datos
F1
F2
F3
F4
F5F6
30
desde el nodo aplicación web hacia el nodo sensor, se envían a guardar los datos (F6)
en la base de datos (4).
Figura 18. DFD Actualizar daos de nodo actuador
Como ya no se puede reducir más el proceso “Configuración de sirena” este diagrama
ya ha llegado a su final y no es necesario reducir más el proceso.
h) Diagrama de nivel 1 proceso “Activar o desactivar alarma”
Este proceso se encarga de activar o desactivar la alarma que sirve para alertar a los
encargados de una posible anomalía en los niveles de agua. El nodo aplicación web
envía (F1) la petición de activar o desactivar la alarma (19) se envían los datos (F2) al
nodo actuador mismo que ejecuta la orden enviada.
Figura 19. DFD configurar nodo actuador
Datos Básicos
DFD 1.6 Configuración de nodo actuador
Nodo actuador
16
Obtener datos del nodo actuador
17
Encender o apagr la Sirena
4 Guardar datos de la Sirena
14
Editar datos de nodoactuador
18
Verificar conexion de la Sirena
F1
Cargar datos
Cargar datos
Cargar datos
Enviar Datos
Enviar Datos
Enviar Datos
F3
F2
F4
F5
F7
F6
Servidor web
19
Activar o desactivar alarma nodo actuador
1.7 Activar o desactivar alarma
Enviar Datos
Datos Básicos
F1
F2
31
Diagramas físico y lógico de los datos
Con el procedimiento anterior se han identificado las siguientes entidades
Tabla 1. Lista de entidades
ENTIDAD REQUERIDA NOMBRE OBSERVACIÓN
Nodo sensor Piscina Manejo de los datos de las piscinas
Nodo actuador Sirena Manejo de los datos de alarma
Alerta Alerta Manejo de los datos de la alerta
Sensor Sensor Manejo de datos de niveles de agua
Usuario Usuario Manejo de los datos del usuario
Para el sistema prototipo y con la información obtenida en el desarrollo de los
diagramas de flujo de datos: el sensor está relacionados con piscina por medio el nivel
de agua que va a detectar. Esto quiere decir que una piscina estará compuesta de
varios sensores y un sensor puede pertenecer a varias piscinas a través del tiempo.
La alerta está relacionada con la piscina y los sensores a partir del nivel de agua que
monitorizan; cada piscina puede generar una alerta específica por cada nivel de aguan
monitorizado; también estará relacionada con la alarma pues es necesario saber por
efectos de que nivel de agua tuvo que ser accionada
Usuario es una entidad que no tiene relación directa con las demás, pero es esencial
para el funcionamiento de la aplicación, y cumplir con el requerimiento no funcional de
autenticación con lo que se dará una primera capa de seguridad al sistema.
Con lo anterior se ha identificado algunas entidades que están relacionadas entre sí
por lo tanto se debe utilizar una base de datos relacional. Ya que permite guardar los
datos en tablas mismas que están relacionadas entre sí a través de llaves primarias y
foráneas, esto con el fin de llevar un manejo eficaz y eficiente de los datos evitando
que duplicidad en los mismos o que se pierdan datos generados durante la ejecución
del sistema.
32
a) Diagrama Lógico entidad relación.
Muestra gráficamente como están interrelacionadas las entidades anteriormente
descritas y sus propiedades.
Figura 20. Diagrama lógico entidad relación
Relationship_4
Relationship_3Relationship_6
Relationship_5
piscina
id
nombre
conexion
direccionip
<pi> Integer
Characters (50)
enum('CONECTADO','DESCONECTADO')
Characters (50)
<M>
Identifier_1
...
<pi>
sensor
id
nombre
<pi> Integer
Characters (50)
<M>
Identifier_1
...
<pi>
piscina_sensor
id
piscina_id
sensor_id
typo
<pi>
<fi1>
<fi2>
Integer
Integer
Integer
enum('ALTO','MEDIO','BAJO')
<M>
Identifier_1
...
<pi>
alerta
id
piscina_sensor_id
sirena_id
alerta
fecha_inicio
fecha_fin
observacion
<fi2>
<fi1>
Integer
Integer
Integer
enum
Date & Time
Date & Time
Text
<M>
Identifier_1
...
<pi>sirena
id
nombre
conexion
direccion_ip
estado
<pi> Integer
Characters (50)
enum('CONECTADO','DESCONECTADO')
Characters (50)
enum('ENCENDIDO','APAGADO')
<M>
Identifier_1...
<pi>usuario
id
usuario
contraseña
nombre
<pi> Integer
Characters (50)
Text
Characters (200)
Characters (200)
<M>
Identifier_1
...
<pi>
33
b) Diagrama físico de datos.
Muestra gráficamente como están interrelacionadas las entidades encontradas en el
desarrollo de los diagramas de flujo de datos, sus propiedades y sus dependencias.
Figura 21. Diagrama físico
Con los procedimientos anteriores se cumplen con los requerimientos funcionales
pedidos al inicio del proyecto además del requerimiento no funcional de seguridad en
el que se necesita estar autenticado para poder ingresar al sistema. Además del
requerimiento funcional que implica la creación de una pantalla de autenticación que
permita solo a el usuario administrador ingresar al sistema
piscina
id
nombre
conexion
direccionip
...
int
char(50)
char(50)
char(50)
<pk>
sensor
id
nombre
int
char(50)
<pk>
piscina_sensor
id
piscina_id
sensor_id
typo
...
int
int
int
char(10)
<pk>
<fk1>
<fk2>
alerta
id
piscina_sensor_id
sirena_id
alerta
fecha_inicio
fecha_fin
observacion
...
int
int
int
char(10)
datetime
datetime
text
<pk>
<fk2>
<fk1>
sirena
id
nombre
conexion
direccion_ip
estado
...
int
char(50)
char(20)
char(50)
char(10)
<pk>
usuario
id
usuario
contraseña
nombre
...
int
char(50)
text
char(50)
char(10)
<pk>
34
2.4.4 Conectividad.
Para la implementación del prototipo de sistema se procederá de la siguiente manera.
Se instalará un enrutador de en el que se pueda configurar y crear una red privada,
tenga integrado un servidor DHCP (Dynamic Host Configuration Protocol) que permita
asignar direcciones IP en forma dinámica a los diferentes nodos, al que se conectará
el servidor con cable UTP mientras que para dar conectividad a los nodos sensor y
actuador debe incluir un punto de acceso.
INTERFAZ WEB
SERVIDOR
ENRUTADOR
CABLE UTP
PUNTO DE ACCESO
SIRENA
MICROCONTROLADOR
NODO ACTUADOR
SENSO
RES DE N
VEL
NO
DO
SENSO
R
MICROCONTROLADOR
PISCINA PROTOTIPO
Figura 22. Diagrama del sistema prototipo tomando en cuenta los requerimientos
funcionales y conectividad
35
2.5 Diseño del sistema informático
2.5.1 Selección de herramientas para implementar requerimientos funcionales.
Para la selección de las herramientas se hará un análisis delas características que
deben tener las mismas, se le asignará un peso y una calificación de acuerdo a las
necesidades y requerimientos, se seleccionará la que obtenga la mejor calificación en
una escala de 0 a 10.
Por los requerimientos y el análisis antes descrito se puede llegar a la conclusión de
que se va a necesitar las siguientes herramientas.
a) Microcontroladores y módulo de conexión inalámbrica para los nodos sensor y
actuador.
b) Sensores de nivel
c) Lenguajes de programación para la parte lógica operaciones del sistema y para el
manejo de las interfaces web
d) Servidor web para el nodo aplicación web, que se encarga de recibir y responder a
las peticiones tanto de los nodos sensor, actuador y del usuario
e) Base de datos para almacenar los datos
f) Enrutador
1) Microcontroladores y módulo de conexión inalámbrica
Requerimientos del nodo sensor
i. Se requiere conectar tres sensores de nivel, uno que permita monitorear y
detectar el nivel de agua mínimo, un segundo que permita monitorear y
detectar el nivel de agua normal y el tercero que permita monitorear y detectar
el nivel de agua máximo.
ii. Señalización visual de los niveles de agua para lo que se conectara un LED
(Diodo Emisor de Luz) de color verde que represente el nivel de agua máximo,
un LED de color amarillo que represente el nivel de agua normal y un LED de
color azul que represente el nivel de agua mínimo.
36
iii. Comunicación inalámbrica del nodo sensor al nodo aplicación web por lo que
se dispondrá de dos pines que son necesarios para conectar el dispositivo
ESP8266.
iv. Alimentación de 5 voltios para los sensores de nivel y los LED y de 3 voltios
para el dispositivo ESP8266.
Requerimientos del nodo actuador.
i. Se requiere representación visual que represente el funcionamiento de la
alarma para lo que se conectará un LED de color rojo.
ii. Señalización visual de los niveles de agua para lo que se conectara un LED de
color verde que represente el nivel de agua máximo, un LED de color amarillo
que represente el nivel de agua normal y un LED de color azul que represente
el nivel de agua mínimo.
iii. Comunicación inalámbrica del nodo sensor al nodo aplicación web por lo que
se dispondrá de dos pines que son necesarios para conectar el dispositivo
ESP8266.
iv. Alimentación de 5 voltios para los sensores de nivel y los LED y de 3 voltios
para el dispositivo ESP8266.
De lo anterior se puede concluir que se necesitan mínimo 10 puertos de entrada salida
para el nodo sensor y mínimo 8 puertos de entrada salida para el nodo actuador.
Además para poder desarrollar con facilidad el sistema prototipo, debe contar con una
curva de aprendizaje baja que es el grado de éxito obtenido durante el aprendizaje en
el transcurso del tiempo (WILLIAM A, 2011, pág. 254), para reducir al mínimo el
tiempo de desarrollo por aprender a programar y configurar los microcontroladores, En
el marco teórico se concluyó que LAN inalámbrica es la mejor solución disponible el
microcontrolador debe ser compatible con el protocolo IEEE 802.11, debe contar con
un entorno de desarrollo integrado IDE en el que se pueda escribir los programas que
van a ser ejecutados en los microcontroladores, debe estar disponible en Ecuador,
debe ser posible conectarlo al computador mediante un conector USB para su
configuración, se debe considerar la memoria interna, velocidad del procesador y por
último se verifica si hay alguna placa de desarrollo en la que se encuentre incorporado.
37
Tabla 2. Pesos de las características de los microcontroladores
Identificador Característica Pesos en porcentaje
M1 Curva de aprendizaje. 25
M2 Compatible con el protocolo IEEE 802.11 g. 25
M3 Número de pines. 15
M4 IDE. 5
M5 Disponibilidad en Ecuador. 5
M6 Conector pc USB. 5
M7 Memoria Interna (KB). 5
M8 Memoria RAM(KB) 5
M9 Velocidad del procesador MHZ. 5
M10 Incorporado en una placa de desarrollo 5
La calificación de la curva de aprendizaje es mayor ya que en el momento del inicio de
la construcción del sistema prototipo no se cuenta con conocimientos sobre la
programación, configuración y sobre el desarrollo de aplicaciones de
microcontrolador, mientras que el resto de características serán calificadas de acuerdo
a lo que se puede consular las páginas web de los correspondientes fabricantes.
A continuación se hace el análisis de algunas versiones de microcontroladores
existentes en el mercado y sus correspondientes características.
38
Tabla 3. Análisis comparativo de marcas de microcontroladores
Características/Microcontroladores
PIC16F83 MSP430 incorporado en
MSP-EXP430FR4133
Atmega 328P incorporado en
Arduino Uno
De
talle
Pe
sos
en
porc
enta
je
Ca
lific
ació
n
Ap
ort
e
De
talle
Pe
sos
en
porc
enta
je
Ca
lific
ació
n
Ap
ort
e
De
talle
Pe
sos
en
porc
enta
je
Ca
lific
ació
n
Ap
ort
e
Curva de aprendizaje. Alto 25 5 1.75 Media 25 5 1,75 Baja 25 10 2,5
Compatible con el protocolo IEEE 802.11 g. SI 25 10 2,5 SI 25 10 2,5 SI 25 10 2,5
Número de pines. 18 15 10 1,5 20 15 10 1,5 14 15 10 1,5
IDE. SI 5 10 0,5 SI 5 10 0,5 SI 5 10 0,5
Disponibilidad en Ecuador. SI 5 10 0,5 NO 5 0 0 SI 5 10 0,5
Conector pc USB. NO 5 0 0 NO 5 0 0 SI 5 10 0,5
Memoria Interna (KB). 512 5 10 0,5 16 5 10 0,5 32 5 5 0,25
Memoria RAM (KB) 36 (bytes) 5 5 0,25 2 5 10 0,5 2 5 10 0,5
Velocidad del procesador MHZ. 10 5 10 0,5 16 5 10 0,5 16 5 10 0,5
Incluido en una placa de desarrollo No 5 0 0 SI 5 10 0,5 SI 5 10 0,5
Calificación total 7,50 8,25 9,75
39
En la tabla 3 lo concerniente a las características técnicas PIC16F83 son obtenidas de
(MICROCHIP, 2016, págs. 2,4), las características técnicas de MSP430 son obtenidas
de (INSTRUMENTS, 2016), las características técnicas de Atmega 328P son
obtenidas de (ARDUINO, 2016)
Debido a que el microcontrolador Atmega 328P incorporado en Arduino Uno obtiene
la mejor calificación será utilizado en el desarrollo del sistema prototipo.
Arduino es una plataforma electrónica de código abierto basada en hardware y
software fácil de usar. Las placas Arduino son capaces de leer entradas generadas por
un sensor, un dedo en un botón o un mensaje de Twitter y convertirlos en una salida
con la que se puede activar un motor, encender un LED, publicar algo en línea. Se le
puede indicar que hacer enviando un conjunto de instrucciones al microcontrolador en
placa. Para ello se utiliza el lenguaje de programación de Arduino y en entorno de
desarrollo integrado (IDE) de Arduino. (ARDUINO LEARNING, www.arduino.cc, 2016)
Arduino Uno es una placa electrónica basada en el microcontrolador ATmega38p,
cuenta con 14 pines de entrada salida, 6 entradas analógicas, un conector USB, un
conector de alimentación eléctrica, una cabecera ICSP (Programación serial en
circuito) y un botón de reinicio. Contiene todo lo necesario para soportar el
microcontrolador. (ARDUINO PRODUCTS, www.arduino.cc, 2016)
Figura 23. Placa Arduino Uno (CRESPO, 2015)
40
Tabla 4. Características Arduino Uno (ARDUINO, ARDUINO, 2016)
Voltaje de operación 5V
Entrada de voltaje Entre 7V y 12V
Entrada límite de voltaje Entre 6 y 20V
Pines entrada salida 14
Pines analógicos 6
Pines voltaje 5 V 20 mA 1
Pines voltaje 3.3V 50 mA 1
Ancho mm 53.4
Largo mm 68.6
Peso 25g
Puerto serial 1
Botón reseteo 1
Tabla 5. Características microcontrolador Atmega 328P (ATMEL, 2016, pág. 5)
Número de pines 28/32
Flash(Bytes) 32K
SRAM(Bytes) 2K
EEPROM 1K
Tamaño del vector de interrupción
(palabra de instrucción/vector)
1/1/2
Líneas de entrada salida 23
SPI (pines para comunicación periférica) 2
USART 1
Canales ADC 8
Contador de tiempo de 8 bits 2
Contador de tiempo de 16 bits 1
Ni el microcontrolador Atmega 328P ni la placa Arduino Uno son capaces de tener
conectividad wireless por si solos por lo que es necesario hacer uso del módulo
ESP8266EX que es un hardware, basado en microcontrolador para dar conectividad
inlambrica LAN.
41
Figura 24. Módulo esp8266-5 (DATASHEET, 2015)
Tabla 6. Características ESP8266ex (ESPRESSIF, 2016, págs. 3,17)
Característica Parámetros
Protocolos 802.11 b/g/n/e/i
Frecuencia 2.4 Ghz ~ 2.5Ghz
Antena Externa, chip de cerámica
CPU Tensilica L106 32-bit
Voltaje de operación 3.0 V ~ 3.6 V
Corriente de operación 80 Ma
Rango de temperatura operativa -40°C ~ 125°C
Rango de transmisión 1 m
Transmisión (TX) 802.11 b:+20 dBm, 802.11g: +17dBm,
802.11 n: +14 dBm
Recepción (Rx) 802.11 b: -91 dBm, 802.11g: -75dBm,
802.11 n: -72 dBm
42
2) Sensores de nivel.
Se usará el sensor como el de la Figura 26. Que es del tipo de punto mismo que será
instalado a la altura que se desea monitorear y detectar el nivel del agua.
Figura 25. Sensor de nivel de agua
Tabla 7. Características sensor de nivel (ALIEXPRESS, 2016)
Modelo ZP3208
Max Contacto 10 W
Max voltaje de conmutación 100 V CC
Mx corriente de conmutación 0.5 A
Max tensión de ruptura 220 V CC
Corriente de carga máxima 1 A
Máxima resistencia del contacto 100 mΩ
Temperatura de servicio -10 /+ 85 ° C
Material del flotador Polipropileno
Material del cuerpo Polipropileno
Longitud del cable 36 cm
Botón reseteo 1
43
3) Lenguajes de programación para la parte lógica operaciones del sistema y
para el manejo de las interfaces web
El lenguaje de programación debe ser fácil de aprender y tener la suficiente
documentación para un desarrollo fácil y práctico, debe tener la capacidad de generar
dinámicamente documentos HTML, debido a que en el diseño del sistema prototipo se
detectó que se hará uso de entidades como piscina, sensor, alerta, etc y que estas
están relacionadas entre sí; El lenguaje debe ser orientado a objetos debido a que se
necesita que se pueda reutilizar código, polimorfismo, sobrecargas, entre otras
características de orientación a objetos, tener la capacidad de conectarse a bases de
datos, correr sobre los sistemas operativos Windows, Linux; y su costo de desarrollo
debe ser bajo; como se vio en la selección de microcontroladores los equipos
seleccionados funcionan como un servidor web, el lenguaje debe tener la capacidad
de hacer y recibir peticiones GET y POST desde otros servidores web.
Tabla 8. Peso de las características Lenguaje de programación
Característica. Lenguaje de Programación Peso en
porcentaje
L1 Curva de aprendizaje 25
L2 Manejo de páginas HTML 10
L3 Orientado a objetos 15
L4 Manejo de conexiones a bases de datos 10
L5 Se pueda hacer y recibir peticiones GET y POST a
otros servidores.
30
L6 Costo de desarrollo entre más bajo mejor 10
L7 Multiplataforma 5
La calificación de la curva de aprendizaje se la otorgara de acuerdo a la experiencia
con la que se dispone a la hora de hacer el desarrollo del sistema prototipo así como
la facilidad con que se solventan los problemas que se producen durante el desarrollo
de una aplicación, mientras que el resto de características serán calificadas de
acuerdo a lo que se puede consular las páginas web de los correspondientes
fabricantes.
44
A continuación se hace un análisis comparativo entre los lenguajes de programación
PHP y JAVA, debido a que son de los lenguajes más utilizados y en los que se cuenta
con mayor experiencia a la hora de iniciar el desarrollo del sistema prototipo
Tabla 9. Análisis comparativo de los lenguajes de programación (THE PHP GROUP,
2016), (ORACLE, ORACLE JAVA SE DOCUMENTATION, 2011)
Característica/lenguaje
PHP JAVA
De
talle
Pe
sos e
n p
orc
enta
je
Ca
lific
ació
n
Ap
ort
e
De
talle
Pe
sos e
n p
orc
enta
je
Ca
lific
ació
n
Ap
ort
e
Curva de aprendizaje BAJO 25 10 2,5 Alta 25 0 0
Manejo de páginas HTML SI 10 10 1 SI 10 10 1,5
Orientado a objetos SI 15 10 1,5 SI 15 10 1,5
Manejo de conexiones a
bases de datos
SI 10 10 1 Si 10 10 1
Se pueda hacer y recibir
peticiones GET y POST a
otros servidores sin
necesidad de webservies
SI
25
10
2,5
NO
25
0
0
Costo de desarrollo entre
más bajo mejor
BAJO 10 10 1 Alto 10 0 0
Multiplataforma SI 5 10 0,5 SI 5 2,5
Total sobre 10 10 6,5
Debido a que PHP es el que cumple con todas las características que se necesita para
el desarrollo del sistema y obtiene la mejor puntuación, se usará este en la versión
5.6.15 para el desarrollo del mismo. Sin embargo este lenguaje por sí mismo es muy
complicado de manejar por lo que es necesario utilizar un marco de trabajo, para la
pare lógica y otro que permita el manejo de las páginas HTML dándoles funcionalidad
y apariencia ya que las que genera PHP son muy básicas.
45
Para dar funcionalidad en las páginas HTML se utilizará el lenguaje JavaScript permite
dar funcionalidad a los objetos que se vayan a ubicar en la página haciendo uso de los
eventos de cada uno, permite hacer peticiones AJAX esto es hacer peticiones al
servidor web sin necesidad de refrescar la página web manipulando los eventos de los
objetos que se ubican en la misma. Para dar el manejo de la apariencia se utilizara
hojas de estilo en cascada CSS en su versión 3 para dar apariencia a las páginas web
permitiendo mejorar la experiencia del usuario.
Se utilizará BOTSTRAP 3.3.6 este es un marco de trabajo, formado por el lenguaje
JavaScript y CSS incluye una variedad de objetos y estilos, que permiten que una
página web quede con una buena apariencia para el usuario, además permite que la
página se autoajuste al tamaño de la pantalla del dispositivo con el que se ingresa al
sistema.
Para el manejo de la lógica utilizaremos Laravel 4.2 este es un marco de trabajo
basado en el modelo vista controlador que implementa varios APIs que facilitan el
desarrollo de aplicaciones PHP, y que ayudan a ordenar el desarrollo separando, la
lógica del negocio colocada en la carpeta de controladores, de la lógica de
presentación mediante una implementación de un motor de plantillas (BLADE) que
permiten generar dinámicamente los documentos HTML de las páginas web, y la
implementación de una carpeta de modelos que es la encargada de manejar el acceso
a los datos mediante peticiones a la base de datos.
4) Servidor web.
Se necesita que el servidor se pueda instalar de manera fácil y rápida sobre cualquier
plataforma, como en el apartado anterior se eligió PHP el servidor debe ser capaz de
ejecutar sus instrucciones, debe tener un costo aceptable y ser lo suficientemente
robusto para resistir las peticiones realizadas al sistema por parte de los nodos sensor,
actuador y el usuario; de los que se puede concluir que deberá resistir al menos 3
peticiones concurrentes.
46
Tabla 10 Pesos de las características Servidor web
Característica. Servidor Web Peso en porcentaje
S1 Curva de aprendizaje 30
S2 Multiplataforma 10
S3 Que permita correr PHP 40
S4 Costo 10
S5 Robusto 10
47
Tabla 11. Análisis comparativo de servidores web (APACHE, 2016), (ORACLE, https://glassfish.java.net, 2016), (NGINEX, 2014)
APACHE GLASSFISH NGIN X
Característica
De
talle
Pe
so e
n p
orc
enta
je
Ca
lific
ació
n
Ap
ort
e
De
talle
Pe
so e
n p
orc
enta
je
Ca
lific
ació
n
Ap
ort
e
De
talle
Pe
so e
n p
orc
enta
je
Ca
lific
ació
n
Ap
ort
e s
Curva de aprendizaje Bajo 30 10 3 Alto 30 5 1,5 Alto 30 5 1,5
Multiplataforma si 10 10 1 Si 10 10 1 si 10 10 1
Que permita correr PHP si 40 10 4 No 40 0 0 si 40 10 4
Costo Medio 10 5 0,5 Bajo 10 5 0,5 Bajo 10 5 0,5
Robusto si 10 10 1 No 10 5 0,5 no 10 0 0
Total sobre 10 9,5 3,5 7
48
En el análisis comparativo que se hace en la Tabla 8 se da calificación a la curva de
aprendizaje se hace de acuerdo al conocimiento con el que se cuenta al inicio del
desarrollo del sistema prototipo, mientras que para el resto de características se toma
información de las páginas web de los fabricantes.
Debido a que apache es la herramienta que mejor puntuación obtiene 9,5 se
seleccionara esta para el desarrollo del sistema prototipo.
Se utilizará la versión 2.4.17 que se puede utilizar en plataformas, Windows server
2008, Windows server 2012, en las distribuciones de Linux Centos 6, Centos 7, Fedora
23, Fedora 24, Ubuntu 12, Ubuntu 13, Ubutu 14, Ubuntu 15 estas versiones han sido
comprobadas, además de muchas otras distribuciones de Linux según la
documentación proporcionada por apache.org, y además permite la ejecución de php
en la versión seleccionada.
5) Base de datos
En la fase de diseño del sistema se encontró varias entidades como piscina, alarma,
sensor, etc. Además las entidades están relacionadas entre sí ya sea en forma directa
por medio de otras entidades. Por lo tanto se necesita una base de datos relacional
que soporte guardar los datos de la forma mencionada.
El motor de base de datos debe ser fácil de manejar, ser multiplataforma, tener un
costo bajo, ser robusto, debe haber la suficiente documentación oficial que facilite su
implementación y además debe ser compatible con PHP.
Tabla 12. Características Base de datos
Característica. Base datos Peso en porcentaje %
MB1 Curva de aprendizaje 40
MB2 Multiplataforma 15
MB3 Costo 15
MB4 Robusto 10
MB5 Documentación 15
MB6 Compatibilidad con PHP 5
49
A continuación se hace un análisis comparativo entre los motores de base de datos
Postgresqy y Mysql debido a que son de los motores más utilizados y en los que se
cuenta con mayor experiencia a la hora de iniciar el desarrollo del sistema prototipo.
Se da calificación a la curva de aprendizaje se hace de acuerdo al conocimiento con el
que se cuenta al inicio del desarrollo del sistema prototipo, mientras que para el resto
de características se toma información de las páginas web de los fabricantes.
Tabla 13. Análisis comparativo de bases de datos (POSTGRESQL, 2016), (MYSQL,
2016)
POSTGRESQL MYSQL
Característica.
De
talle
Pe
so e
n p
orc
enta
je
Ca
lific
ació
n
Ap
ort
e
De
talle
Pe
so e
n p
orc
enta
je
Ca
lific
ació
n
Ap
ort
e
Curva de aprendizaje Medio 40 7 2,8 Bajo 40 10 4
Multiplataforma si 15 10 1,5 si 15 10 1,5
Costo Alto 15 5 0,75 Bajo 15 10 1,5
Robusto si 10 10 1 si 10 10 1
Documentación si 15 10 1,5 si 15 10 1,5
Compatibilidad con PHP si 5 5 0,25 si 5 5 0,25
7,8 9,75
Debido a que MYSQL es el manejador de base de datos que obtiene la mejor
calificación 9,75 se utilizará para el desarrollo del sistema prototipo.
Se utilizar la versión 5.6 que se ejecuta en cualquier distribución Linux, Windows y es
compatible con las versiones de apache y php anteriormente seleccionadas.
50
6) Enrutador
Como se menciona en la sección 2.4.4 Conectividad se requiere un enrutador que
permita crear y configurar una red. Esto quiere decir que maneje los protocolos de red
como son los correspondientes a las capas TCP/IP, debido a que asignar una
dirección IP al microcontrolador manualmente es una tarea confusa y complicada
deberá Incorporar un servidor DHCP que facilite la asignación de direcciones IP a los
nodos sensor y actuador, puertos LAN ya que debe conectarse un servidor web
utilizando cables, botón de reset ya que en ocasiones es necesario reiniciar el equipo,
conector de alimentación eléctrica velocidad aceptable y como se desea conectar con
una red WI-FI LAN debe ser compatible con el protocolo IEEE 802.11 g/n y además
debe tener un bajo costo en dólares.
A continuación se hace un análisis de lo enrutadores D-link N 150, Tp-link Tl-wr941 y
Cisco LINKSYS E2500 ya que son los equipos con mayor desempeño y calidad que
se pueden conseguir en el mercado local.
Tabla 14. Análisis comparativo de enrutadores. (D-LINK, 2016), (TP-LINK, 2016),
(LINKSYS, 2016), (MERCADO LIBRE, 2016)
DLINK N 150 Tp-link Tl-
wr941
Cisco LINK
SYS E2500
Compatible con
protocolo IEEE 802.11
g/n
SI SI SI
Puertos LAN 4 4 4
Botón reset SI SI SI
Conector de
alimentación eléctrica
SI SI SI
Servidor DHCP SI SI NO
Velocidad 150 Mbps 450 Mbps 100 Mbps
Costo $24,00 $49,99 $139,99
Debido a que todos los enrutadores cumplen con las características que se necesitan
para el desarrollo del sistema prototipo, se utilizará el de menor coste que es el
enrutador D-LINK N150
51
2.5.2 Diseño de la red de datos
Para la implementación del sistema prototipo se diseñará e implementará una red de
datos que permita dar conectividad a los equipos que se utilizarán en el sistema
prototipo; el sistema prototipo no tendrá conexión a internet, esto quiere decir que el
único tráfico en la red será producido por el propio sistema.
Modelo de direccionamiento y nombres
Por el limitado número de equipos que se conectará a la red y esta no tendrá
comunicación al exterior a través de internet se propone el uso de la red privada
192.168.0.0/28. Pero ésta red tiene una capacidad de 254 equipos por lo que será
dividida en 16 subredes de las cuales se utilizará la primera esta tiene una capacidad
para que se conecten 14 hosts de los cuales se ocuparan 6 y se dejara un espacio de
crecimiento para otros 8.
Tabla 15. Modelo de direccionamiento
Nombres de los equipos y asignación de sus correspondientes direcciones IP.
Tabla 16. Nombres de los equipos e IPs
Host Descripción Dirección IP Máscara
RTUR Enrutador 192.168.0.1 28
NDSENSOR Nodo sensor 192.168.0.2 28
NDACTUADOR Nodo actuador 192.168.0.2 28
SRVWEB Servidor web 192.168.0.4 28
PCADMIN Computador del administrador 192.168.0.5 28
Dirección de
subred
Dirección broadcast mascara Número de
equipos
192.168.0.0 192.168.0.15 28 14
52
Topología de la red
Red 192.168.0.0/28
SRVWEB192.168.0.4/28
NDSENSOR192.168.0.2/28
PCADMIN192.168.0.5/28
NDACTUADOR192.168.0.3/28
RTUR192.168.0.1/28
Figura 26. Topología de la red
53
2.6 Presupuesto del sistema prototipo
Con lo anterior se ha podido identificar los requerimientos físicos tanto de hardware
como software que se necesitan para el desarrollo del sistema prototipo.
Hardware
Aquí se tiene el costo de cada equipo físico que será utilizado en el desarrollo del
sistema.
Tabla 17. Gastos en equipos de hardware
Cantidad Artículo
Precio
unitario en
dólares
Total en
dólares
2
Placas Arduino uno incluido el
microcontrolador 25,00 50,00
3 Sensores de nivel 6,50 19,50
1 Enrutador wireless 25,00 250
2 Esp8266 15,00 30,00
1 Módulo relay x1 3,21 3,21
10 Resistencia 0,03 0,30
1 Sirena 2,33 2,33
1 Protoboard 5,80 5,80
1
Set cables para conectar los
sensores a la plataforma de
desarrollo 4,80 4,80
4 LED 1,60 1,60
1
Computadora que servirá de
servidor 500,00 500,00
Otros 30,00 30,00
Total 672,54
54
Software
Debido a que las herramientas de desarrollo seleccionadas son de código abierto no
se tendrá que pagar por el uso de licencias. Pero se deberá hacer un presupuesto del
costo de la instalación y el mantenimiento de las mismas en las que se toma en cuenta
el costo de las horas trabajadas en su instalación de las herramientas y desarrollo del
sistema. El costo de la hora de trabajo está dado de acurdo al salario promedio de un
desarrollador Jr. de software cuyo costo es de $800 mensuales.
Tabla 18. Gastos en desarrollo.
Número de
horas
Actividad Costo por
hora en
dólares
Subtotal en
dólares
10 Investigación del uso y desarrollo sobre las
plataformas seleccionadas
20,00 400,00
4 Instalación de herramientas 20,00 80,00
30 Desarrollo de la aplicación y pruebas
primarias
20,00’ 600,00
20 Documentación 20,00 400,00
Total 1280,00
Totales
Tabla 19.Total de gastos en el sistema prototipo
Tipo Subtotales en dólares
Hardware 672,54
Software 1280,00
TOTAL 1952,54
Si sumamos los dos conceptos nos da un total de 1952,54 dólares americanos con 54
centavos que vendría siendo el coste de desarrollo del sistema. A esto se sumara un
10% más que corresponde a imprevistos que puedan darse durante el desarrollo del
sistema lo que nos da un total de 2147 dólares americanos con 69 centavos.
55
3 IMPLEMENTACIÓN DEL SISTEMA PROTOTIPO
3.1 Nodo sensor
3.1.1 Prototipo del nodo sensor diagrama del circuito
Figura 27. Diagrama circuito nodo sensor
En la Figura 28 R1, R2 y R3 hacen referencia a resistencias de 4kΩ; R7 y R7 son
resistencias de 1kΩ; R6, R7, R8, R9, R10 son resistencias de 2 kΩ.D1 es un led de
color verde, D2 es un LED de color verde y D3es un LED de color azul.
Programa ver el programa y configuración ver el ANEXO C
56
3.1.2 Prototipo del nodo sensor aspecto físico.
ESP8266LEDS ARDUINO UNO
Figura 28. Nodo sensor circuito físico
SENSOR DE NIVEL
MÁXIMO
SENSOR DE NIVEL
MEDIO
SENSOR DE NIVEL
MÍNIMO
CIRCUITO DEL NODO
SENSOR
SE
NS
OR
DE
NIV
EL
Tabla 20. Nodo sensor y sensores de nivel
57
3.2 Nodo actuador
3.2.1 Prototipo del nodo actuador diagrama del circuito
Figura 29. Diagrama nodo actuador
En la Figura 30 R7 y R4 son resistencias de 1k y R5 y R6 son resistencias de 2k, D1
es un LED de color rojo, D2 es un LED de color verde, D3 es un LED de color amarillo
y D4 es un LED de color azul.
Para ver el programa y configuración ver ANEXO D.
58
3.2.2 Prototipo del nodo actuador apariencia física
ARDUINO UNO PUERTOS PARA LEDS
ESP8266
Figura 30. Nodo Actuador circuito físico.
SIRENA PUERTOS PARA LEDS
Figura 31. Nodo actuador con sirena
SENSOR DE NIVEL MÁXIMO
SE
NS
OR
DE
NIV
EL
ME
DIO
SENSOR DE NIVEL MÍNIMO
SE
NS
OR
DE
NIV
EL
MÍN
IMO
Figura 32. Nodo actuador vista física
59
3.3 Nodo aplicación web
3.3.1 Pantalla de inicio
NODO SENSOR
NIVEL MÁXIMO DE AGUA
NIV
EL MED
IO D
E AG
UA
NIVEL MÍNIMO DE AGUA
ESTADO DEL NODO SENSOR
Figura 33. Pantalla de inicio del sistema
3.3.2 Descripción delsistema prototipo
Esta es la pantalla inicial la aplicación web aparece justamente después de que el
administrador ingresa su usuario y contraseña; en la parte superior izquierda de la
vista se encuentra el nombre del sistema SATNA (Sistema de Aleta Temprana de
Nivel de Agua), en la parte superior derecha se encuentra la opción del usuario salir;
luego en la parte izquierda de la apantalla se encuentra el menú con las opciones que
tiene el sistema como son configuración donde se configura los nodos sensores en
nuestro caso denominados piscinas, y el nodo actuador en nuestro caso denominado
sirena y la opción de alertas donde se puede ver información de las alertas.
El sistema cuenta con una pantalla de autenticación en donde el administrador debe
ingresar su usuario y contraseña para ingresar a la aplicación web y poder hacer uso
de la misma. ANEXO E
Una vez que se ingresa usuario y contraseña se muestra la página de inicio donde se
puede ver el estado actual de los niveles de agua en la piscina prototipo ver Figura 33
en la que se representa que hay una alerta con un panel con fondo color rojo, en cuyo
60
interior se representa con un panel de diferente color a los niveles de agua que se
encuentran alterados con el color verde para el nivel máximo, amarillo para el nivel
medio o normal y azul para el nivel mínimo; además se representa con un panel de
color rojo (Estado de alerta), en la parte superior derecha, que se está en presencia de
una alerta. El panel se presentara con fondo color celeste, sus paneles interiores
también de con fondo blanco y el panel superior en color verde para indicar que los
niveles de agua están en estado correcto; para mayor información ver el ANEXO F
figuras desde la F4 a la F10.
En esta pantalla también se puede ver, en la parte inferior izquierda, un cuadro de
estadístico con los conteos de las alertas producidas por cada nivel de agua detectado
y monitoreado. En la parte inferior derecha se muestra una tabla con el número total
de alertas, tiempo máximo en que se ha resuelto una alerta, tiempo mínimo en que se
ha resuelto una alerta y tiempo promedio en que se resuelve una alerta y a
continuación Se muestra un resumen con las ultimas 10 alertas ver ANEXO F Figura
F2.
Como configuración del nodo se sensor se pude ingresar el nombre del nodo sensor y
la dirección IP ver ANEXO G.
Para el nodo actuador se puede configurar el nombre y dirección IP ver ANEXO H.
Se puede ver el histórico de alertas con fecha de inicio, fecha de fin, si se ha resulto o
no, observaciones y comentarios mismos que se pueden editar par mayor información
ver el ANEXO J.
61
3.4 Sistema prototipo aspecto físico.
NODO SENSORNODO
APLICACIÓN WEBNODO ACTUADORENRUTADOR
SENSORES
Figura 34. Sistema prototipo aspecto físico
3.5 Pruebas sobre el sistema prototipo
3.5.1 Pruebas de compatibilidad
Al tratarse de una aplicación web esta sus resultados pueden verse en cualquier
dispositivo que tenga la capacidad de ejecutar un browser de internet; además la
aplicación se autoajusta al tamaño de la pantalla del dispositivo en el que se abre, la
prueba se realiza en los browser Opera mini 13.0.2036, Opera 13, Firefox 45, Google
Chrome 49.0.2623. Ver ANEXO J PRUEBAS DE COMPATIBILIDAD como resultado
se obtiene que la aplicación se abre en los browser seleccionados y se autoajusta a la
pantalla.
62
La Figura 37. Muestra una captura de pantalla realizada desde un teléfono inteligente
con un browser opera mini, se puede ver que la información de los nodos se ha
alineado uno debajo del otro en mientras que en un browser, en una pantalla más
grande se alinean uno junto al otro.
Figura 35. Captura de pantalla en un teléfono inteligente.
3.5.2 Pruebas de funcionamiento
Se realiza la prueba de detección del nivel máximo, detección del nivel normal y
detección del nivel mínimo; para ello se empieza con el recipiente lleno aquí se
encuentran encendidos todos los LEDS del nodo actuador y en el nodo aplicación web
el panel se encuentra en color rojo, los paneles internos que representan el nivel
63
medio y mínimo en fondo de color blanco, el panel que representa al nivel máximo en
color verde y el panel en la parte superior en color rojo. El recipiente se vacía y se
esperan los siguientes resultados cuando pasa de cada nivel a detectar.
Tabla 21. Resultados esperados cuando se vacía el recipiente.
Nivel
que
baja
Leds nodo actuador Colores de los paneles del nodo aplicación
web
Rojo Verde Rojo Verde Rojo Verde
Máximo A A E E Celeste Blanco Blanco Blanco Verde
Medio A A A E Rojo Blanco Amarillo Blanco Rojo
Mínimo E A A A Rojo Blanco Amarillo Azul Rojo
Luego se procede a llenar el recipiente esperando tener los resultados que se
describen a continuación.
Tabla 22. Resultados esperados cuando se llena el recipiente.
Nivel
que
sube
Leds nodo actuador Colores de los paneles del nodo aplicación
web
Rojo Verde Amarillo Azul Fondo
nodo
sensor
Nivel
Máximo
Nivel
normal
Nivel
mínimo
Estado
de
alerta
Mínimo A A A E Rojo Blanco Amarillo Blanco Rojo
Medio A A E E Celeste Blanco Blanco Blanco Verde
Máximo E E E E Rojo Verde Blanco Blanco Rojo
Para las Tablas 21 y 22 la letra A significa Apagado, E encendido.
El procedimiento se repite 4 veces y los resultados se pueden ver en el ANEXO K
DETALLE DE PRUEBAS DE FUNCIONAMIENTO, el sistema prototipo puede detectar
los niveles de agua mínimo, medio o normal y máximo; y dar información visual de los
niveles de agua mediante la interfaz web y el nodo actuador, tarda entre 15 segundos
y 2 minutos en transmitir una alerta desde el nodo sensor al nodo actuador.
64
Tabla 23. Resumen de pruebas
Tiempo máximo de respuesta 2 minutos y 5 segundos
Tiempo mínimo de respuesta 15 segundos
Tiempo máximo de respuesta del nivel máximo 1 minuto y 10 segundos
Tiempo mínimo de respuesta del nivel máximo 15 segundos
Tiempo máximo de respuesta en el nivel medio 2 minutos y 15 segundos
Tiempo mínimo de respuesta del nivel medio 22 segundos
Tiempo máximo del nivel mínimo 1 minuto y 43 segundos
Tiempo mínimo del nivel mínimo 30 segundos
Con esta prueba se determina que el sistema prototipo funciona correctamente, pero
que el tiempo de respuesta entre que el nodo sensor detecta el nivel de agua y en que
los nodos aplicación web actuador lo representa no es inmediato sino que debe pasar
un tiempo considerable debido a que el nodo actuador no está en capacidad de recibir
peticiones continuas para activar o desactivar la alarma esto por una falla en los
dispositivos utilizados para su construcción.
A demás en los tikets del 1 al 12 se puede comprobar que los requerimientos
funcionales se han probado y tienen un funcionamiento correcto
65
3.6 Perspectivas de uso
Después de hacer un análisis de lo que el sistema puede hacer, se puede intuir, que
este además de cumplir con los objetivos y requerimientos planteados al inicio del
proyecto, realizándole cambios no significativos puede ser utilizado en otros campos
relacionados con monitorear el nivel de agua, a continuación se exponen algunos
campos donde podría ser utilizado.
En establecimientos de piscicultura se pueden monitorear y detectar los niveles de
agua en las diferentes piscinas donde se crían los peces con el fin de prevenir
incidentes que puedan perjudicar su crianza y ocasionar pérdidas económicas.
En puentes a desnivel e intercambiadores subterráneos Cuando llueve en muchas
ocasiones y por diversas causas el agua se estanca, acumulándose en el interior de
estos. Para los conductores de vehículos es muy difícil saber cuál es el nivel de agua y
en muchas ocasionas se han viso atrapados en su interior haciéndose necesaria la
intervención de los equipos de socorro. Se puede alertar a los conductores de
vehículos que desean cruzar por estos puentes intercambiadores, de que el nivel de
agua se encuentra elevado y que no podrá ser utilizado; esto utilizando un cartel
luminoso o enviándoles una alerta utilizando los teléfonos inteligentes
En reservorios de agua construidos con diferentes objetivos, el principal para acumular
agua durante el invierno para después ser usado en riego y/o consumo humano en
verano cuando las lluvias se atenúan y el agua en su cauce natural escasea. Aquí se
puede usar para monitorizar el nivel de agua en las cotas el embalse y detectar si este
está al máximo de su capacidad y se debe permitir el paso del agua para evitar
inconvenientes o si está en niveles mínimos y se debe hacer racionamientos.
66
4 DISCUSIÓN
Se ha desarrollado un sistema prototipo en el que se incluye un nodo sensor y un
nodo actuador conectados por medio de un módulo de comunicación inalámbrica a
una red LAN, donde también se conecta un nodo aplicación web utilizando un cable
UTP. El nodo sensor es capaz de monitorizar y detectar los niveles mínimo, medio o
normal y máximo de agua en una piscina prototipo, los convierte en señal digital y los
envía inalámbricamente al nodo aplicación web, el nodo aplicación web es capaz de
determinar si los datos que son enviados por el nodo sensor corresponden a una
anomalía; en caso de tratarse de una envía vía inalámbrica una petición al nodo
actuador donde se acciona enciende un LED de color rojo en señal de alerta, también
envía señales de los niveles de agua que son representados con un LED de color
verde para el nivel máximo, un LED de color amarillo para el nivel medio o normal y Un
LED de color azul para el nivel mínimo de agua. El nodo aplicación web está en
capacidad de detectar a partir de los datos enviados desde el nodo sensor si una
alerta ya se ha terminado y envía una petición al nodo actuador vía inalámbrica para
que apague el LED de color rojo. De acuerdo a las pruebas realizadas en el ANEXO J
este procedimiento tiene una alta confiablidad.
La representación de la alerta por parte del nodo actuador puede ser fácilmente
cambiada reemplazando una sirena en por el LED de color rojo.
Como se pude ver en el ANEXO K la transmisión de la lectura del nivel de agua desde
el nodo sensor hacia el nodo actuador no es inmediata sino que debe pasar entre 15
segundos y 2 minutos para que el resultado se vea reflejado esto debido a fallas en los
dispositivos que se ocuparon en la construcción del nodo actuador pues no soporta
que se realicen peticiones consecutivas y recurrentes para activar o desactivar la
alarma.
El nodo aplicación web aparte de lo descrito anteriormente permite al usuario o
encargado del establecimiento configurar los nodos sensor y actuador, verificar si
están en conexión con el sistema prototipo haciendo un test de conexión desde una
interfaz web; se pude consultar información con respecto al estado de conexión de los
nodos, consultar histórico de alertas con datos de fecha y hora en que se ha
producido, observaciones sobre las y posibles soluciones como se puede ver en los
ANEXOS E, F, G, H. también muestra estadísticas del tiempo máximo en que se
67
resuelve una alerta, tiempo mínimo en que se resuelve una alerta, tiempo promedio en
que se resuelve una alerta, y cantidad de alertas que se han producido.
Los nodos sensor y actuador cuentan con un microcontrolador, un elemento sensor y
un radiotransmisor, pero no cuentan con autonomía esto debido a una falla de diseño
en donde no se contempló la posibilidad de conectar una batería. Por esa razón no se
pudo comprobar que los nodos tienen un bajo consumo de energía.
Debido a una falla en el diseño si un nodo deja de transmitir no está en capacidad de
reiniciarse por sí solo, por lo que debe reiniciarse manualmente y verificar su conexión
a través de la aplicación web.
El consumo de memoria es relativamente bajo como lo muestra la Figura 37, donde
indica que se consume el 29% de la memoria de almacenamiento y 55% de la
memoria dinámica, mientras que el nodo actuador consume el 24% de la memoria de
almacenamiento y 27% de la memoria dinámica como se ve en la Figura 38.
Figura 36. Consumo de memoria interna del microcontrolador del nodo actuador
Figura 37. Consumo de memoria interna del nodo actuador
Los nodos sensor y actuador son auto configurables en el aspecto de que obtienen
una dirección IP dinámica proporcionada por un servidor DHCP, pero no son capaces
de identificar automáticamente el nombre y contraseña de la red a la que deben
conectarse, la dirección IP del servidor donde está alojado el nodo aplicación web,
para el envío de los datos tomados desde los sensores; por lo que estos datos deben
ser configurados manualmente.
La fiabilidad del sistema prototipo se ha comprobado ya que según las pruebas
realizadas los datos enviados desde el nodo sensor al nodo aplicación web se
representan en forma correcta tanto en el nodo aplicación web y el nodo sensor
68
Con lo anteriormente descrito se puede ver que los requerimientos funcionales
planteados se han cumplido con éxito.
En cuanto al costo del sistema prototipo es relativamente bajo, en relación al coste de
oportunidad de no tener implementado un sistema que ayude con el monitoreo y
detecte los niveles de agua, ya que por un incidente, descrito en el problema, en el
que no se contaba agua en el criadero de peses tuvo pérdidas por un valor
aproximado de 14 000 dólares americanos que representa un 15% del valor de la
inversión realizada y sin excluir que el evento pueda volver a sucederse, mientras que
el valor es de aproximadamente 1952,54, un valor significativamente inferior al de las
perdidas.
69
5 CONCLUSIONES
Con la implementación de una red de nodos sensores inalámbricos para
monitorizar y detectar los niveles de agua máximo, normal y mínimo; permite saber
en un tiempo determinado si hay cambios sobre los mismos, se puede determinar
si estos cambios pueden ser una alerta y se notifica al encargado dando una
representación visual de los niveles de agua.
En caso de que el sistema prototipo se implemente, cuando el encargado del
establecimiento podrá identificar visualmente que los niveles de agua no son los
adecuados y podrá tomar la mejor decisión para solucionar el inconveniente
suscitado. Para lo que se requiere hacer los estudios sobre los elementos que en
el campo real existen.
El sistema prototipo puede guardar información histórica sobre las alertas, fecha y
hora en que se produce la alerta, fecha y hora en que finaliza, además el usuario
puede ingresar una observación en la cual se indican causas y soluciones sobre
las mismas.
El sistema prototipo muestra estadísticas sobre las alertas producidas en la piscina
prototipo, indicando cantidad de alertas producidas en cada nivel, además de
información sobre las alertas esto con el fin de informar al administrador de
posibles soluciones a la alerta presente
70
6 RECOMENDACIONES
Para que el sistema prototipo se implante en un ambiente real es necesario
hacer más pruebas de mayor rigurosidad que ayuden a identificar errores no
resueltos así como posibles requerimientos sobre el sistema que no se hayan
tomado en cuenta en el desarrollo de este sistema prototipo.
Se deben estudiar que permitan solventar aspectos como el retardo en el
tiempo desde que se detecta el nivel de agua por el nodo sensor, hasta que es
representado por los nodos aplicación web y el nodo actuador; crear una
cobertura del sistema de comunicación inalámbrico mediante la
implementación de sistemas de transmisión y recepción adecuados.
Se deben realizar diseños y desarrollos que permitan solventar el hecho de que
los nodos sensor y actuador no cuentan con autonomía eléctrica, y dar
cobertura para la conexión inalámbrica en grandes distancias y con obstáculos
naturales difíciles que impiden la transmisión de los datos entre los diferentes
nodos.
Se deben explorar soluciones de microcontroladores, sensores y dispositivos
de transmisión inalámbrica que permitan aumentar la eficiencia del sistema en
cuanto al tiempo de retardo de la representación visual de los niveles de agua.
71
BIBLIOGRAFIA
1. MOSCOSO CALVOPIÑA, L. (2008). Experiencia de desarrollo de una
aplicación. Departamento de eléctrica y electrónica, escuela politécnica del
ejército sede latacunga, 2.
2. ALIEXPRESS. (2016). es.aliexpress.com. Obtenido de es.aliexpress.com:
https://es.aliexpress.com/item/Aquarium-Liquid-Level-Sensor-Vertical-45mm-
PVC-Floating-Switch-ZP3208-x-10/32299227222.html
3. APACHE. (2016). apache.org. Obtenido de apache.org: https://httpd.apache.org
4. ARDUINO. (2016). ARDUINO. Obtenido de
https://www.arduino.cc/en/main/arduinoBoardUno
5. ARDUINO, & LEARNING. (2016). www.arduino.cc. Obtenido de
www.arduino.cc: https://www.arduino.cc/en/Guide/Introduction
6. ARDUINO, & PRODUCTS. (2016). www.arduino.cc. Obtenido de
https://www.arduino.cc/en/Main/ArduinoBoardUno
7. ARENY, R. P. (s.f.).
8. ARENY, R. P. (2003). Sensores y acondiciondores de señal. Barcelona:
boixareu editores.
9. ARENY, R. P., & PÉREZ, F. E. (2007). Microcontroladores: fundamentos y
palicaiones con pic. Marcombo.
10. ATMEL. (2016). atmael.com. Obtenido de
http://www.atmel.com/Images/Atmel-42735-8-bit-AVR-Microcontroller-
ATmega328-328P_Summary.pdf
11. BARBANCHO CONCEJERO, J., benjumea mondéjar, j., rivera romero, o.,
ropero rodríguez, j., sánchez antón , g., & sivianes castillo, f. (2014). Redes
locales. Madrid: paraninfo.
12. CAPRILE, S. (2009). Equisbí: desarrrollo de aplicaiones con comunicación
remota basadas en módulos zigbee y 802.15.4. Buenos aires: gran aldea.
13. CARBAJAL, E. E. (2012). Redes de sensores inalámbricas aplicado a la
medicina. Cantabri.
14. CÓRDOBA ARHILA, D. M. (2013). Estado del arte de las redes de sensores
inalambricos. Revista digital tia.
15. CRESPO, E. (2015). APRENDIENDO ARDUINO. Obtenido de
APRENDIENDO ARDUINO:
https://aprendiendoarduino.wordpress.com/2016/06/27/arduino-uno-a-fondo-
mapa-de-pines-2/
16. DATASHEET. (27 de 10 de 2015). datasheetcafe.com. Obtenido de
datasheetcafe.com: http://www.datasheetcafe.com/esp8266-datasheet-
esp8266ex-pdf/
17. D-LINK. (2016). http://www.dlink.com. Obtenido de http://www.dlink.com:
http://www.dlink.com/es/es/home-solutions/connect/go/go-rt-n150-wireless-n-
150-easy-router
18. D-LINK SYSTEMS, I. (2016). D-LINK. Obtenido de
http://us.dlink.com/products/connect/wireless-n150-cloud-router/
72
19. ESPRESSIF. (2016). www.espressif.com. Obtenido de
https://www.espressif.com/sites/default/files/0a-esp8266ex_datasheet_en_1.pdf
20. Exress, A. (2016). AliExpress.com. Obtenido de
https://es.aliexpress.com/item/ZP3208-7-5mm-Dia-Thread-Water-Level-Sensor-
Vertical-Float-Switches-3-Pcs/2025741624.html
21. GAVIDIA, U. F. (2013). fg.edu.sv. Obtenido de www.fg.edu.sv:
http://ri.ufg.edu.sv/jspui/bitstream/11592/6822/3/005.756-Ch512d-
Capitulo%20II.pdf
22. HARPER, G. E. (2012). Elabc de lainstrumentacion de el control de los
procesos industriales. México: limusa.
23. IEEE. (2016). ieee802.org. Obtenido de ieee802.org:
http://www.ieee802.org/11/
24. INSTRUMENTS, T. (2016). ti.com. Obtenido de TI LUNCH PAD:
http://www.ti.com/ww/en/launchpad/launchpads-msp430-msp-
exp430fr4133.html#tabs
25. JENNYFER K. ERAZOP., C. A. (2014). Sistema de detección de incendios
forestales mediante redes sensoriales inalámbricas. Maskana, i+d+, 1.
26. LINKSYS. (2016). http://www.linksys.com. Obtenido de
http://www.linksys.com: http://www.linksys.com/ec/p/P-E2500/
27. MERCADO LIBRE. (2016). mercadolibre.com.ec. Obtenido de
mercadolibre.com.ec: http://articulo.mercadolibre.com.ec/MEC-409511908-
wireless-dlink-dir-610n-router-n150-_JM
28. MICROCHIP. (2016). microchip.com. Obtenido de microchip.com:
http://ww1.microchip.com/downloads/en/DeviceDoc/30430D.pdf
29. MICROSOFT. (2016). msdn.microsoft.com. Obtenido de msdn.microsoft.com:
https://msdn.microsoft.com/es-es/library/ms179422(v=sql.120).aspx
30. MICROSOFT. (2016). msdn.microsoft.com. Obtenido de msdn.microsoft.com:
https://msdn.microsoft.com/es-es/library/ms172579(v=vs.80).aspx
31. MIKROTIK. (2016). UBITIQUI COLOMBIA. Obtenido de
http://www.ubiquiticolombia.com/nanostation-loco-m2/
32. MYSQL. (2016). mysql.com. Obtenido de mysql.com:
http://dev.mysql.com/doc/
33. NGINEX. (2014). https://nginx.org. Obtenido de https://nginx.org:
https://nginx.org
34. OMEGA. (2016). es.omega.com. Obtenido de es.omega.com:
http://es.omega.com/prodinfo/sondas-de-nivel-medicion.html
35. OMEGA SENSOR DE NIVEL. (2016). es.omega.com. Obtenido de
http://es.omega.com/prodinfo/sondas-de-nivel-medicion.html
36. ORACLE. (2011). Oracle java se documentation. Obtenido de oracle java se
documentation: http://docs.oracle.com/javase/7/docs/technotes/guides/language/
37. ORACLE. (2016). https://glassfish.java.net. Obtenido de
https://glassfish.java.net: https://glassfish.java.net
38. PAULO, F. D. (2014). Monitorización de rebaños de bovinos a través de redes
de sensores inalámbricos. Scielo.
39. PICO, M. E. (2012). Análisis de desempeño de redes de sensores inalámbricas
en tiempo real aplicadas a monitorizacion volcánica. Sangolqui.
73
40. POSTGRESQL. (2016). postgresql.org. Obtenido de postgresql.org:
https://www.postgresql.org/docs/
41. REAL ACADEMIA ESPAÑOLA. (2014). Diccionario de la lengua española.
Obtenido de Transductor: http://dle.rae.es/?id=aIwM55L
42. ROSSANO, V. (2009). Electrónica y micrococntroladores pic.
43. THE PHP GROUP, p. (2016). php.net. Obtenido de php.net:
http://php.net/docs.php
44. TP-LINK. (2016). http://www.tp-link.com. Obtenido de http://www.tp-link.com:
http://www.tp-link.com/ar/products/details/TL-WR941ND.html
45. WILLIAM A, K. (2011). Psicologia de la educación. Madrid: morata.
46. XIAO, Y., & PAN, Y. (2009). EMERING WIRELSS lans, WIRELESS pans AND
WIRELESS mans. HOBOKEN, NEW JERSY: WILEY .
75
ANEXO A COMPARATIVO DE TECNOLOGÍA INALÁMBRICA
TABLA A 1 Análisis comparativo de tecnologías inalámbricas (CARBAJAL, 2012,
pág. 30)
Estándar Ancho de
banda
Consumo de potencia Ventajas Aplicaciones
Wi-Fi Hasta 54
Mbps
400 mA transmitiendo
20 mA en reposo
Gran ancho de
banda,
No necesita
Navegar por
internet, redes
de ordenadores,
transferencia de
archivos
Bluetooth 1Mbps 40 mA transmitiendo
0.2 mA en reposo
Interoperabilidad,
sustituto del cable
Wireless USB,
teléfonos
móviles ,
informática
domestica
802.15.4 250 Kbps 1,8 mA transmitiendo
5,1 microA en reposo
Batería de larga
duración, bajo
coste
Control remoto,
Productos
dependientes de
la batería,
sensores etc.
76
ANEXO B APLICAIONES DE LAS REDES DE SENSORES INALAMBRICOS
TABLA B 1. Aplicaciones de las redes de sensores inalámbricos
Aplicación Descripción
Militar Pueden ser montadas en vehículos robóticos no tripulados, tanques, aviones de
guerra, etc. Para guiarlos a través de obstáculos, hacia una posición exacta y
dirigida para que coordinen unos con otros para realizar ataques o defensas
Agricultura Control de la cantidad de agua, fertilizante o pesticida que las plantas necesitan.
Control de la cantidad de agua, fertilizante o pesticida que las plantas necesitan.
Medida de humedad del suelo.
Optimización de la producción y la calidad de una cosecha.
Gestión de alarmas por intrusión de animales o daños provocados por heladas
Medio
ambiente
Detección de incendios forestales, detección de inundaciones, monitorización
exhaustiva de zonas de riesgo, explotación de animales en su hábitat natural, entre
otras.
Automoción Los sensores se usan para registrar de manera precisa los estados reales del motor
en funcionamiento, tales como la presión de aceite del motor o el número de
revoluciones, enviando esta información a través del CAN BUS (usando el protocolo
CAN) a la centralita del control del vehículo.
Domótica Ahorro energético a aplicaciones de seguridad y protección de las personas o bienes
patrimoniales.
Monitoreo
de
estructuras
Las estructuras físicas como puentes, edificios y construcciones en general
experimentan vibraciones, ya sea ocasionada por actividades normales para las que
fueron construidas o por fenómenos naturales, Las variaciones en los
comportamientos indican fatiga u otros cambios mecánicos.
La tecnología utilizada se llama SHM (structural health monitoring), para la
identificación y monitoreo de comportamientos extraños en estructuras como
puentes, edificios, etc.
Medicina Ayudan a monitorizar de forma remota y discreta los parámetros vitales del paciente,
tales como la frecuencia cardiaca, frecuencia respiratoria, presión arterial,
permitiendo la movilidad de los mismos.
77
ANEXO C PROGRAMA Y CONFIGURACIÓN DE NODO SENSOR
// Programa : Teste sensor liquido Arduino
// Autor : Franklin Benalcazar
// Pin para verificar nivel de líquido máximo
int sensorLevelHigh = 8;
// Pin para verificar nivel de líquido medio
int sensorLevelNedium = 9;
// Pin para verificar nivel de líquido mínimo
int sensorLevelLow = 10;
// le del nivel máximo
int pino_led_cheio6 = 6;
// Led del nivel medio
int pino_led_cheio7 = 7;
// Led del nivel mínimo
int pino_led_cheio13 = 13;
#include <SoftwareSerial.h>
#define SSID "wlevel" //nombre del punto de acceso inalámbrico para conectarse
#define PASS "12345678" //contraseña de red WiFi
#define DST_IP "192.168.0.101" //servidor web
#define RESET 11 //Se utiliza el pin 11 para resetear del ESP8266 por hardware
desde el
#define LED 12 // indicador de sistema detenido
#define arduinoId 1 // indicador de sistema detenido
// estos son los id de los sensores en la base de datos del sistema
78
#define low 3
#define medium 2
#define high 1
/*Variable para almacenar la alerta en cada nivel*/
String alertSensorLevelHigh = "NO";
String alertSensorLevelMediun = "NO";
String alertSensorLevelLow = "NO";
int mediana = 0;
SoftwareSerial Serial1(2, 3);
//int loops = 0; //contador para pruebas verificar si es posible eliminar esta variable
int val = 0;
int antVal = 0;
void setup()
mediana = 0;
Serial.begin(9600);
Serial1.begin(9600);
pinMode(RESET, OUTPUT);
pinMode(sensorLevelHigh, INPUT);
pinMode(sensorLevelNedium, INPUT);
pinMode(sensorLevelLow, INPUT);
pinMode(pino_led_cheio6, OUTPUT);
pinMode(pino_led_cheio7, OUTPUT);
pinMode(pino_led_cheio13, OUTPUT);
79
reset();
boolean wifi_conectado = false; //no se conecta todavia...
for (int i = 0; i < 5; i++) //se intenta 5 veces cnectarse a la red WiFi
if (connectWiFi()) //se verifica la conexión a la red WiFi
wifi_conectado = true; //confirmación de conección a la red WiFi
break; //
if (!wifi_conectado) hang("no esta conectado a la red WiFi");
delay(250);
if (!cipmux0()) hang("falló conección única");
delay(250);
if (!cipmode0()) hang("falló modo estación");
delay(250);
void loop()
String cmd = "";
int flag = 0;
/*Se inicializa los sensores*/
int estadoSensorLevelHigh = digitalRead(sensorLevelHigh);
int estadoSensorLevelNedium = digitalRead(sensorLevelNedium);
80
int estadoSensorLevelLow = digitalRead(sensorLevelLow);
Serial.print("Estado sensor nivel alto: ");
Serial.println(estadoSensorLevelHigh);
/*Verificación del nivel de agua mínimo*/
switch (estadoSensorLevelHigh)
case 0:
digitalWrite(pino_led_cheio6, HIGH);
alertSensorLevelHigh = "YES";
break;
case 1:
digitalWrite(pino_led_cheio6, LOW);
alertSensorLevelHigh = "NO";
break;
Serial.print("Estado sensor nivel medio: ");
Serial.println(estadoSensorLevelNedium);
/*Verificación del nivel medio*/
switch (estadoSensorLevelNedium)
case 0:
digitalWrite(pino_led_cheio7, HIGH);
alertSensorLevelMediun = "NO";
break;
case 1:
81
digitalWrite(pino_led_cheio7, LOW);
alertSensorLevelMediun = "YES";
break;
Serial.print("Estado sensor nivel Bajo: ");
Serial.println(estadoSensorLevelLow);
/*Verificacikon del nivel mínimo*/
switch (estadoSensorLevelLow)
case 0:
//digitalWrite(pino_led_vazio, LOW);
digitalWrite(pino_led_cheio13, HIGH);
alertSensorLevelLow = "NO";
break;
case 1:
//digitalWrite(pino_led_vazio, HIGH);
digitalWrite(pino_led_cheio13, LOW);
alertSensorLevelLow = "YES";
break;
/*Se envian los resultados obtenidos al servidor web*/
transferResults(low, alertSensorLevelLow);
transferResults(medium, alertSensorLevelMediun);
transferResults(high, alertSensorLevelHigh);
82
delay(1000);
//Reset por hardware del modulo ESP8266
void reset()
digitalWrite(RESET, LOW);
digitalWrite(LED, HIGH);
delay(100);
digitalWrite(RESET, HIGH);
digitalWrite(LED, LOW);
boolean connectWiFi()
String cmd = "AT+CWJAP=\""; //esta función establece conección entre el ESP8266 y
la red WiFi
cmd += SSID;
cmd += "\",\"";
cmd += PASS;
cmd += "\"";
Serial.println(Serial1.available());
83
Serial.println(cmd);
Serial1.println(cmd);
delay(5000); //como estamos manejando comandos AT - debemos esperar un tiempo
hasta que se establezca la comunicación
if (Serial1.find("OK")) //la conección se estableció correctamente
Serial.println("Connected to WiFi...");
// Serial.println("la ip de mi estacion es: ");
// Serial1.println("AT+CIFSR\r\n");
delay(1000);
char c = Serial1.read(); // read the next character.
Serial.print(c);
return true;
else
Serial.println("Not connected to WiFi.");
return false;
//--------------------------------------------------------------------------------
//Reset por hardware del modulo ESP8266
void hang(String error_String) //para depuración
84
Serial.print("proceso detenido... ");
Serial.println(error_String);
while (1)
digitalWrite(LED, HIGH);
delay(100);
digitalWrite(LED, LOW);
delay(100);
// configuración del ESP8266 en conexión única comando AT+CIPMUX=0
boolean cipmux0()
Serial1.println("AT+CIPMUX=0");
if (Serial1.find("OK"))
Serial.println("conexión única");
return true;
else
return false;
85
boolean cipmode0()
Serial1.println("AT+CIPMODE=0");
if (Serial1.find("OK"))
Serial.println("modo estacion");
return true;
else
return false;
void transferResults(int sensorId, String alert)
int flag = 0;
String cmd = "";
cmd = "AT+CIPSTART=\"TCP\",\""; //hacemos el siguiente comando:
AT+CPISTART="TCP","192.168.1.2",80
cmd += DST_IP;
cmd += "\",80";
86
Serial1.println(cmd); //enviamos el comando al modulo ESP8266
Serial.println(cmd);
delay(100); //esperamos un tiempo por la respuesta 'Linked' esto es importante
if (Serial1.find("Linked")) //mensaje que devuelve cuando se establece la coneccion
Serial.print("Connected to server at "); //mensaje de control de errores
Serial.println(DST_IP);
else
Serial.println("no se recibio la respuesta 'Linked'"); //a veces se recibe esta
respuesta pero realmente esta conectado
delay (500);
val = val + 48; // cambiamos el valor de numero a ascii
char m = val;
cmd = "POST /WaterLevel/public/alert/save-alert HTTP/1.1\r\n"; //construimos el http
POST request
cmd += "Host: 192.168.0.100\r\n"; //nuestro servidor
cmd += "Content-Type: application/x-www-form-urlencoded\r\n";
cmd += "Content-Length:45";
cmd += "\r\n"; // necesitamos insertar dos lineas
cmd += "\r\n";
cmd += "arduinoId=";
cmd += arduinoId;
87
cmd += "&sensorId=";
cmd += sensorId;
cmd += "&alert=";
cmd += alert; //enviamos el número único como nos reconoce nuestro servidor, el id
con el que estamos mostrados en pantalla
cmd += "&p=n";
Serial1.print("AT+CIPSEND="); //arduino configura al ESP8266 para enviar
una cadena de caracteres hacia el servidor
Serial.println("tamaño rutina");
Serial.println(cmd.length());
Serial1.println(cmd.length()); //el esp8266 necesita conocer la longitud del mensaje a
enviar
if (Serial1.find(">")) //prompt ofrecido por el esp8266 aceptando la petición para
enviar el mensaje
Serial1.println(cmd); //aqui esta nuestro http POST request
Serial.println("empieza transmision"); // monitoreo desde el monitor serial del
arduino-IDE
Serial.println(cmd);//monitoreo desde el monitor serial del arduino-IDE
//delay(5000);
flag = 1;
else
Serial1.println("AT+CIPCLOSE"); //si el ESP8266 no nos permite transmitir
88
cerramos la conección
Serial.println("No '>' prompt received after AT+CPISEND");
flag = 0;
//una vez enviados los datos cerramos la coneccion
Serial1.println("AT+CIPCLOSE");
if (Serial1.find("Unlink")) //mensaje que ESP8266 devuelve cuando se desconecta de
la red WiFi
Serial.println("la Conexión se cerró correctamente...");
else
Serial.println("fallo el cierre de la conexión");
89
ANEXO D PROGRAMA Y CONFIGURACIÓN NODO ACTUADOR
#include <SoftwareSerial.h> //librería del módulo ESP8266 wifi
#define DEBUG true
#define SSID "wlevel" //nombre de la red
#define PASSWORD "12345678" //contraseña de la red
/*
* Se configura elpin 3 como receptor y el pin 2 como transmisor
*/
SoftwareSerial esp8266(2, 3);
void setup()
Serial.begin(9600);
esp8266.begin(9600); // velocidad de transferencia
pinMode(13, OUTPUT);
digitalWrite(13, LOW);
sendData("AT+RST\r\n", 2000, DEBUG); // reseteo del modulo
sendData("AT+CWMODE=3\r\n", 1000, DEBUG); // configuración del Access point
/*
* procedimiento para conectarse al wifi
* se hacen 5 intentos
*/
boolean wifi_connected = false;
for (int i = 0; i < 5; i++)
/*si es que ya se conecta rompe el siclo repetitivo*/
if (connectWiFi())
wifi_connected = true;
break;
sendData("AT+CIFSR\r\n", 1000, DEBUG); //se obtiene la IP
90
sendData("AT+CIPMUX=1\r\n", 1000, DEBUG); // se lo configura en modo
multiconexión
sendData("AT+CIPSERVER=1,80\r\n", 1000, DEBUG); // se habilita el servidor en el
puerto 80
void loop()
// se verifica si el módulo ESP 8266 está activo
if (esp8266.available())
Serial.print("available");
if (esp8266.find("+IPD,"))
delay(1000); // tiempo de espera para una conexión
/*
* Se obtiene el id de la conexión a partir del carácter 48
*/
int connectionId = esp8266.read() - 48;
/* se obtien el parametro enviado desde el servidor*/
esp8266.find("pin=");
int pinNumber = (esp8266.read() - 48) * 10;
pinNumber += (esp8266.read() - 48);
/*Se acciona la acción eniada desde el servidor*/
digitalWrite(pinNumber, !digitalRead(pinNumber));
if(pinNumber==13)
digitalWrite(13,HIGH);
digitalWrite(12,HIGH);
digitalWrite(11,HIGH);
digitalWrite(10,HIGH);
else if(pinNumber==12)
digitalWrite(13,LOW);
digitalWrite(12,LOW);
digitalWrite(11,HIGH);
digitalWrite(10,HIGH);
91
else if(pinNumber==11)
digitalWrite(13,LOW);
digitalWrite(12,LOW);
digitalWrite(11,LOW);
digitalWrite(10,HIGH);
else if(pinNumber>13)
digitalWrite(13,HIGH);
digitalWrite(12,LOW);
digitalWrite(11,LOW);
digitalWrite(10,LOW);
else
digitalWrite(13,LOW);
while (esp8266.available())
char c = esp8266.read();
Serial.print(c);
/*responder y cerrar la conexión para que el navegador no se quede cargando*/
String webpage = "AT+CIPSEND=";
if (digitalRead(pinNumber)) webpage += "<h1>SIRENA ENCENDIDA!</h1>";
else
webpage += "<h1>SIRENA APAGADA!</h1>";
/*comando para enviar página web*/
String comandoWebpage = "AT+CIPSEND=";
comandoWebpage += connectionId;
comandoWebpage += ",";
comandoWebpage += webpage.length();
comandoWebpage += "\r\n";
sendData(comandoWebpage, 1000,DEBUG);
sendData(webpage, 1000,DEBUG);
/*serrar la cpnexión*/
String closeCommand = "AT+CIPCLOSE=";
closeCommand += connectionId; // append connection id
92
closeCommand += "\r\n";
sendData(closeCommand, 1000, DEBUG); // close connection
/*
Nombre: sendData
Descripción: Se usa para accionar las funciones del módulo ESP 8266
Parámetros: command – el comando a enviar; timeout - the time de espera para la
respuesta; debug - print to Serial window?(true = si, false = no)
Retorna: La respuesta del ESP 8266
*/
String sendData(String command, const int timeout, boolean debug)
String response = "";
/*Ejecutar el comando para el ESP 8266*/
esp8266.print(command);
long int time = millis();
while ( (time + timeout) > millis())
while (esp8266.available())
/*lcura de la respuesta*/
char c = esp8266.read();
response += c;
if (debug)
Serial.print(response);
return response;
93
/*Función para conectar al wifi 0985515567*/
boolean connectWiFi()
String cmd = "AT+CWJAP=\"";
cmd += SSID;
cmd += "\",\"";
cmd += PASSWORD;
cmd += "\"";
esp8266.println(cmd);
delay(5000);
/*verifica si se conectó o no*/
if (esp8266.find("OK")) //
Serial.println("Conectado a wifi...");
return true;
else
Serial.println("No conectado a wifi.");
return false;
94
ANEXO E MANUAL DE USUARIO PANTALLA AUTENTICACIÓN
Abrir Firefox dando click en inicio, Todos los programas, luego click en Mozilla Firefox
Figura E 1. Abrir firefox
Ingresar la ruta http://localhost/WaterLevel/public/login/login#
Figura E 2. Ingreso al sistema
95
Se ingresa con un usuario [email protected] y contraseña 123456 ingresada
en la base de datos, es el único medio de entrada a la información del sistema
Figura E 3. Autenticación
96
ANEXO F MANUAL DE USUARIO PANTALLA INICIO
En esta pantalla al ingresar se puede ver el estado de los niveles de agua en las
diferentes piscinas que se desea controlar, el estado de conexión tanto de los nodos
sensores y el nodo actuador descritos en la imagen como piscina y sirena
respetivamente.
Figura F 1. Pantalla inicio estado de los sensores sección de sensores
En el cuadro de piscina se presenta en color verde cuando los niveles de agua se
encuentran en niveles normales y que está conectado a la red y enviando datos,
además de un resumen con la última alerta producida.
97
Figura F 2. Sección de estadísticas
En esta sección de presenta un cuadro estadístico con el número de alertas
producidas por cada nivel monitorizado y detectado, en la parte derecha se presentan
las estadísticas número de alertas, tiempo máximo en que se resuelve una alerta,
tiempo mínimo en que se resuelve una alerta y tiempo medio en que se resuelve una
alerta.
Se presenta en la parte izquierda se presenta información visual sobre los niveles de
agua con fondo de color celeste y un panel de color verde sobre el nombre de la
piscina para indicar que no hay novedad sobre los niveles de agua; y los paneles
ubicados en la parte izquierda se presentan sin color.
98
Figura F 3. Información visual de niveles de agua en estado correcto.
Con color rosa de fondo y el panel sobre el nombre de la piscina para representar que
se está en presencia de una alerta. Además los paneles de la parte izquierda se
presentan sin color los que se encuentra en estado correcto y con un color diferente
que representa a cada nivel afectado.
Figura F 4. Información visual de niveles de agua en alerta.
Para el nivel máximo se representa sin color cuando el nivel de agua bajo y cuando el
nivel de agua ha sido superado se presenta en color verde.
Figura F 5. Nivel de agua máximo correcto.
Figura F 6. Nivel de agua máximo en alerta
99
Para el nivel medio se representa sin color cuando el nivel de agua arriba y cuando el
nivel de agua ha disminuido se presenta en color amarillo.
Figura F 7. Nivel de agua medio correcto.
Figura F 8. Nivel de agua medio en alerta
Para el nivel bajo se representa sin color cuando el nivel de agua arriba y cuando el
nivel de agua ha disminuido se presenta en color azul.
Figura F 9. Nivel de agua bajo correcto.
Figura F 10. Nivel de agua bajo en alerta
100
En color naranja y sin información de los niveles de agua cuando no hay conexión con
el nodo sensor y no está enviando datos
Para la sirena se muestra en color verde cuando hay conexión con el nodo actuador.
Figura F 11. Nodo actuador funcionamiento correctamente
En color naranja cuando no hay conexión con la sirena.
Figura F 12. Nodo actuador funcionamiento de forma incorrecta
101
Cuadro de estadísticas.
Se puede ver por cada piscina el número de alertas de cana nivel que se han
producido en total, el último mes o la última semana
Figura F 13. Cuadro de estadísticas
102
Resumen de alertas
Se muestran las ultimas diez alertas que se han producido en general se muestra
información de la piscina donde se produjo la alerta y la fecha y con el icono al inicio
para indicar que la alerta ha terminado y con el icono para indicar que la alerta aún
no ha terminado.
Figura F 14. Resumen de alertas
103
Al dar click sobre cualquiera de las alertas se muestra información más detallada de
cada una de las alertas, se puede ver la piscina donde se produjo la alerta, fecha y
hora de inicio, fecha de hora de fin cuando ya se ha terminado la alerta, si un no
termina muestra un mensaje con el motivo de la alerta
Figura F 15. Información detallada de alerta
104
ANEXO G MANUAL DE USUARIO CONFIGURCION DE NODO SENSOR
Click en “CONFIGURACIÓN’ luego click en “PISCINAS”
Se muestra la lista de piscinas que están siendo censadas por el sistema
Figura G 1. Configuración de piscinas funcionamiento correcto
Al dar click de en botón test ubicado en la parte derecha de la pantalla se puede
verificar si hay conexión del sistema con el nodo sensor, cuando hay conexión el panel
que se encuentra debajo de la etiqueta estado de conexión aparecerá en color verde y
con la palabra “CONECTADO”, cuando no hay conexión se muestra en color rojo y
con la palabra “DESCONECTADO”.
Figura G 2. Configuración de piscinas funcionamiento incorrecto
105
Al dar click en el botón “EDITAR” se puede modificar el nombre asignado a la piscina y
actualizar la dirección IP del nodo sensor, si se lo está configurando por primera vez o
si por alguna razón se cambió la dirección IP del mismo. También se indican que
sensores están conectados al mismo
Figura G 3. Actualización de datos del nodo sensor
106
ANEXO H MANUAL DE USUARIO CONFIGURCION DE NODO ACTUADOR
Click en “CONFIGURACIÓN’ luego click en “ALARMA”
Se muestra información de la sirena
Figura H 1. Nodo actuador funcionamiento correcto
Al dar click de en el botón ubicado bajo la etiqueta “CONEXÓN” se puede verificar la
conexión del sistema con el nodo actuador, cuando hay conexión este aparecerá en
color verde y con la palabra “CONECTADO”, cuando no hay conexión se muestra en
color rojo y con la palabra “DESCONECTADO”.
Figura H 2. Nodo actuador funcionamiento incorrecto
El botón bajo la etiqueta “ESTADO” se activa cuando se produce una alerta y está
sonando la sirena en señal de alerta este sirve para apagarla y poder trabajar sin el
ruido de que produce la misma.
107
Al dar click en el botón “EDITAR” se puede modificar el nombre asignado a la sirena y
actualizar la dirección IP del nodo actuador, si se lo está configurando por primera vez
o si por alguna razón se cambió la dirección IP del mismo.
Figura H 3. Actualizar información del nodo actuador
108
ANEXO I MANUAL DE USUARIO ALERTAS
Click en “ALERTAS”
Se muestra información de las alertas producidas a lo largo del tiempo, ordenadas de
la más reciente a la última, se muestra en forma resumida, el nombre de la piscina
donde se produjo la alerta, fecha y hora de inicio, fecha y hora de fin cuando ya se ha
terminado, si ya ha sido resuelta, el nivel de agua que produjo la alerta, un mensaje
ingresado por el usuario indicando razones y motivos de la alerta.
Figura I 1. Detalle de alertas.
109
Al dar click sobre cualquiera de las alertas se muestra información más detallada de
cada una de las alertas, se puede ver la piscina donde se produjo la alerta, fecha y
hora de inicio, fecha de hora de fin cuando ya se ha terminado la alerta, si un no
termina muestra un mensaje con el motivo de la alerta
Figura I 2. Actualizar información de alerta
110
ANEXO J PROTOCOLO DE PRUEBAS DE COMPATIVILIDADAD.
Se abre la aplicación web en los exploradores Opera mini 13.0.2036, Opera 13,
Firefox 45, Google Chrome 49.0.2623. Si se registra si se abre o no.
Tabla J 1. Formulario de pruebas de compatibilidad.
Browser Abrir la aplicación Autoajusta a la pantalla
Resultado
esperado.
Resultado
obtenido
Resultado
Esperado
Resultado
obtenido
Opera mini
13.0.2036
Si Si Si Si
Opera 13 Si Si Si Si
Firefox 45 Si Si Si Si
Google Chrome
49.0.2623
Si taSi Si Si
Internet Explorer
11.0.29
Si Si Si Si
Figura J 1. Captura de pantalla de opera mini 13.0.2036.
112
ANEXO K DETALLE DE PRUEBAS DE FUNCIONAMIENTO
Tabla K 1. Formulario de pruebas de funcionamiento
N° Nivel a
detectar
Tipo LEDS nodo actuador
esperado
LEDS nodo actuador
obtenido
Pantalla esperado Pantalla obtenido Tiempo
Ro
jo
Ve
rde
Am
arillo
Azu
l
Ro
jo
Ve
rde
Am
arillo
Azu
l
Ale
rta
Má
xim
o
Me
dio
Mín
imo
Ale
rta
Má
xim
o
Me
dio
Mín
imo
1 Máximo Bajar A A E E A A E E V B B B V B B B 00:15
2 Medio Bajar A A A E A A A E R B AM B R B AM B 02:05
3 Mínimo Bajar E A A A E A A A R B AM AZ R B AM AZ 00:30
4 Mínimo Subir A A A E A A A E R B AM B R B AM B 00:47
5 Medio Subir A A E E A A E E V B B B V B B B 01:11
6 Máximo Subir E E E E E E E E R V B B R B B B 00:53
7 Máximo Bajar A A E E A A E E V B B B V B B B 00:56
8 Medio Bajar A A A E A A A E R B AM B R B AM B 00:22
9 Mínimo Bajar E A A A E A A A R B AM AZ R B AM AZ 01:43
10 Mínimo Subir A A A E A A A E R B AM B R B AM B 01:10
11 Medio Subir A A E E A A E E V B B B V B B B 01:30
12 Máximo Subir E E E E E E E E R V B B R B B B 00:43
113
13 Máximo Bajar A A E E A A E E V B B B V B B B 00:35
14 Medio Bajar A A A E A A A E R B AM B R B AM B 00:50
15 Mínimo Bajar E A A A E A A A R B AM AZ R B AM AZ 01:15
16 Mínimo Subir A A A E A A A E R B AM B R B AM B 00:58
17 Medio Subir A A E E A A E E V B B B V B B B 01:30
18 Máximo Subir E E E E E E E E R V B B R B B B 00:45
19 Máximo Bajar A A E E A A E E V B B B V B B B 00:35
20 Medio Bajar A A A E A A A E R B AM B R B AM B 00:59
21 Mínimo Bajar E A A A E A A A R B AM AZ R B AM AZ 01:03
22 Mínimo Subir A A A E A A A E R B AM B R B AM B 00:39
23 Medio Subir A A E E A A E E V B B B V B B B 01:10
24 Máximo Subir E E E E E E E E R V B B R B B B 01:10
A: Apagado
AM: Amarillo
AZ: Azul
E: Encendido
R: Rojo
B: Blanco
V: Verde
114
Figura K 1. Nodo sensor cuando se supera
el nivel máximo de agua
Tabla K 2. Nodo aplicación web cuando
se supera el nivel máximo de agua
Figura K 3.nodo actuador cuando baja del nivel máximo de agua.
115
Figura K 3. Nodo sensor cuando baja del
nivel máximo de agua
Tabla K 4. Nodo aplicación web cuando
baja del nivel máximo de agua
Figura K 5.nodo actuador cuando baja del nivel máximo de agua.
116
Figura K 6. Nodo sensor cuando baja del
nivel medio o normal de agua
Figura K 7. Nodo aplicación web caundo
baja del nivel medio o normal de agua
Figura K 8.nodo actuador cuando baja del nivel medio o normal de agua
117
Figura K 9. Nodo sensor cuando baja del
nivel mínimo de agua
Figura K 10. Nodo aplicación web
cuando baja del nivel mínimo de agua
Figura K 11.nodo actuador cuando baja del nivel mínimo de agua
118
CAMPOS
PASO A PASO
Se ingresa en la pestaña de piscinas se da click en editar, se ingresa el nombre y
dirección IP del nodo sensor, se muestran los sensores conectados al nodo, se da
click en guardar.
INFORMACION GENERAL
Requerimiento : Requerimiento funcional nodo aplicación web
Objetivo: Se implementará una interfaz web que permita configurar los
nodos sensor
Formulario: ACTUALIZACIÓN Y VERIFICACIÓN DE INFORMACIÓN
SOBRE PISCINAS Y SENSORES
Fecha: 17-04-2016 Numero Ticket: 1
Nombre Tipo de Campo Tipo de dato Concepto
Nombre Input texto String Nombre de la piscina
IP Input texto String Dirección IP del microcontrolador instalado
en la piscina
119
Figura K 1. Actualización de datos del nodo sensor
El resultado aparece automáticamente en la pantalla de ver piscinas.
Figura K 2. Resultado de configuración del nodo sensor
OBSERVACONES TECNICAS
Se permite ingresar letras en la caja de texto correspondiente a la dirección IP del
nodo sensor.
OBSERVACIONES FUNCIONALES
120
Solo debería dejar ingresar números separados por un punto o debería haber tres
inputs de testo uno para cada octal de la dirección IP.
CAMPOS
PASO A PASO
Se ingresa en la pestaña de piscinas se da click en editar, se ingresa el nombre y
dirección IP del microcontrolador, se muestran los sensores conectados al
microcontrolador esta información es correcta, se da click en guardar.
INFORMACION GENERAL
Requerimiento : Requerimiento funcional nodo aplicación web
Objetivo: Se implementará una interfaz web que permita configurar los
nodos sensor
Formulario: ACTUALIZACIÓN Y VERIFICACIÓN DE INFORMACIÓN
SOBRE PISCINAS Y SENSORES
Fecha: 17-04-2016 Numero Ticket: 2
Nombre Tipo de Campo Tipo de dato Concepto
Nombre Input texto String Nombre de la piscina
IP Input texto String Dirección IP del microcontrolador instalado
en la piscina
121
Figura K 3. Actualización de datos del nodo sensor
El resultado aparece automáticamente en la pantalla de ver piscinas.
Figura K 4. Resultado de configuración del nodo sensor
OBSERVACONES TECNICAS
Se permite ingresar letras en la caja de texto correspondiente a la dirección IP del
nodo sensor.
OBSERVACIONES FUNCIONALES
Solo debería dejar ingresar números separados por un punto o debería haber tres
inputs de testo uno para cada octal de la dirección IP
122
CAMPOS
Conexión del nodo sensor
PASO A PASO
Se conecta el nodo sensor a la red.
Se da click en TEST, el panel bajo de estado de conexión se muestra en verde
Figura K 5. Test nodo sensor conexión exitosa
En la pantalla de resultados aparece el nodo sensor en color verde
NO HA OBSERVACONES TECNICAS
NO HAY OBSERVACIONES FUNCIONALES
INFORMACION GENERAL
Requerimiento : Requerimiento funcional nodo aplicación web
Objetivo: Se implementará una interfaz web que permita testear los
nodos sensor
Formulario: Configuración piscinas
Fecha: 17-04-2016 Numero Ticket: 3
123
CAMPOS
Conexión del nodo sensor
PASO A PASO
Se desconecta el nodo sensor de la red.
Se da click en TEST, el panel bajo de estado de conexión se muestra en rojo.
Figura K 6. Test nodo sensor conexión no exitosa
INFORMACION GENERAL
Requerimiento : Requerimiento funcional nodo aplicación web
Objetivo: Se implementará una interfaz web que permita testear los
nodos sensor
Formulario: Configuración piscinas
Fecha: 17-04-2016 Numero Ticket: 4
124
Al ir a la pantalla inicio, el recuadro correspondiente a la piscina se muestra en color
amarillo.
Figura K 7. Resultado test de conexión no exitosa
NO HA OBSERVACONES TECNICAS
NO HAY OBSERVACIONES FUNCIONALES
125
CAMPOS
Conexión del nodo sensor
PASO A PASO
Se desconecta el nodo sensor de la red.
Se da click en TEST, el panel bajo de estado de conexión se muestra en rojo.
Figura K 8. Test nodo sensor conexión no exitosa
INFORMACION GENERAL
Requerimiento : Requerimiento funcional nodo aplicación web
Objetivo: Se implementará una interfaz web que permita testear los
nodos sensor
Formulario: Configuración piscinas
Fecha: 17-04-2016 Numero Ticket: 5
126
Al ir a la pantalla inicio, el recuadro correspondiente a la piscina se muestra en color
amarillo.
Figura K 9. Resultado test de conexión no exitosa
NO HA OBSERVACONES TECNICAS
NO HAY OBSERVACIONES FUNCIONALES
127
CAMPOS
PASO A PASO
Se ingresa en la pestaña de alarma se da click en editar, se ingresa el nombre y
dirección IP del nodo actuador, se da click en guardar.
Figura K 10. Actualizar información del nodo actuador
INFORMACION GENERAL
Requerimiento : Requerimiento funcional nodo aplicación web
Objetivo: Se implementará una interfaz web que permita configurar el
nodo actuador
Formulario: ACTUALIZACIÓN Y VERIFICACIÓN DE INFORMACIÓN
SOBRE LA SIRENA
Fecha: 17-04-2016 Numero Ticket: 6
Nombre Tipo de Campo Tipo de dato Concepto
Nombre Input texto String Nombre de la sirena
IP Input texto String Dirección IP del microcontrolador instalado
en la sirena
128
El resultado aparece automáticamente en la pantalla de ALARMA
Figura K 11. Nodo actuador funcionamiento incorrecto
OBSERVACONES TECNICAS
Se permite ingresar letras en la caja de texto correspondiente a la dirección IP del
nodo actuador.
OBSERVACIONES FUNCIONALES
Solo debería dejar ingresar números separados por un punto o debería haber tres
inputs de testo uno para cada octal de la dirección IP
129
CAMPOS
PASO A PASO
Se ingresa en la pestaña de alarma se da click en editar, se ingresa el nombre y
dirección IP del nodo actuador, se da click en guardar.
Figura K 12. Actualizar información del nodo actuador
INFORMACION GENERAL
Requerimiento : Requerimiento funcional nodo aplicación web
Objetivo: Se implementará una interfaz web que permita configurar el
nodo actuador.
Formulario: ACTUALIZACIÓN Y VERIFICACIÓN DE INFORMACIÓN
SOBRE LA SIRENA
Fecha: 17-04-2016 Numero Ticket: 7
Nombre Tipo de Campo Tipo de dato Concepto
Nombre Input texto String Nombre de la sirena
IP Input texto String Dirección IP del microcontrolador instalado
en la sirena
130
El resultado aparece automáticamente en la pantalla de ALARMA
Figura K 13. Nodo actuador configurado
OBSERVACONES TECNICAS
Se permite ingresar letras en la caja de texto correspondiente a la dirección IP del
nodo actuador.
OBSERVACIONES FUNCIONALES
Solo debería dejar ingresar números separados por un punto o debería haber tres
inputs de testo uno para cada octal de la dirección IP
131
CAMPOS
Conexión del nodo actuador
PASO A PASO
Se conecta el nodo actuador a la red.
Se da click en el botón ubicado bajo la etiqueta “CONEXÓN” se puede verificar como
hay conexión este botón aparece en color verde
Figura K 14. Nodo actuador con conexión a la red.
Al ir a la pantalla de resultado este aparece en color verde como señal de que el nodo
actuador tiene conexión.
Figura K 15. Nodo actuador con conexión a la red
INFORMACION GENERAL
Requerimiento : Requerimiento funcional nodo aplicación web
Objetivo: Se implementará una interfaz web que permita testear el nodo
actuador
Formulario: Configuración alarma
Fecha: 17-04-2016 Numero Ticket: 8
132
CAMPOS
Conexión del nodo actuador
PASO A PASO
Se da click en el botón ubicado bajo la etiqueta “CONEXÓN” se puede verificar como
hay conexión este botón aparece en color verde
Figura K 16. Nodo actuador con conexión a la red
Al ir a la pantalla de resultado este aparece en color verde como señal de que el nodo
actuador tiene conexión.
Figura K 17. Nodo actuador con conexión a la red
INFORMACION GENERAL
Requerimiento : Requerimiento funcional nodo aplicación web
Objetivo: Se implementará una interfaz web que permita testear el nodo
actuador.
Formulario: Configuración alarma
Fecha: 17-04-2016 Numero Ticket: 9
133
CAMPOS
Nodo actuador
PASO A PASO
Se desconecta el nodo actuador de la red.
Se da click en el botón ubicado bajo la etiqueta “CONEXÓN” se puede verificar como
hay conexión este botón aparece en color verde
Figura K 18. Nodo actuador sin conexión a la red
Al ir a la pantalla de resultados, el recuadro correspondiente a la alarma se muestra
en color anaranjado como señal de que no hay conexión con el nodo actuador.
Figura K 19. Nodo actuador sin conexión a la red
INFORMACION GENERAL
Requerimiento : Requerimiento funcional nodo aplicación web
Objetivo: Se implementará una interfaz web que permita testear el nodo
actuador.
Formulario: Configuración alarma
Fecha: 17-04-2016 Numero Ticket: 10
135
CAMPOS
Conexión del nodo actuador
PASO A PASO
Se da click en el botón ubicado bajo la etiqueta “CONEXÓN” se puede verificar como
hay conexión este botón aparece en color verde
Figura K 20. Nodo actuador sin conexión a la red
Al ir a la pantalla de resultados, el recuadro correspondiente a la alarma se muestra
en color anaranjado como señal de que no hay conexión con el nodo actuador.
Figura K 21. Nodo actuador sin conexión a la red
INFORMACION GENERAL
Requerimiento : Requerimiento funcional nodo aplicación web
Objetivo: Se implementará una interfaz web que permita testear el nodo
actuador.
Formulario: Configuración piscinas
Fecha: 17-04-2016 Numero Ticket: 11
136
CAMPOS
INFORMACION GENERAL
Requerimiento : Requerimiento funcional 4
Objetivo: Se implementará una interfaz donde se puedan ver todas las
alertas que se han producido, el estado en que se encuentran
resulto o no resuelto, fecha de inicio y fecha de fin, en caso de
que se haya resuelto, además permitirá la edición de una
alerta permitiendo ingresar una observación o comentario de
las cusas de la alerta.
Formulario: INFORMACIÓN DE LA ALERTA
Fecha: 17-04-2016 Numero Ticket: 12
Nombre Tipo de Campo Tipo de dato Concepto
Piscina Etiqueta de
texto
String Nombre de la piscina
Fecha Inicio Etiqueta de
texto
String Fecha y hora del inicio de la alerta
Fecha Fin Etiqueta de
texto
String Fecha y hora del fin de la alerta
Resuelta Etiqueta de
texto
String Si se ha resuelto o no la alerta
Nivel De
Agua
Etiqueta de
texto
String El nivel de agua por el que se ocasiono la
alerta
Observación Etiqueta de
texto
String Mensaje ingresado por causa o motivos
de la alerta
137
PASO A PASO
Se ingresa en la pestaña de piscinas se da click en alertas.
Se muestra el historial de las alertas, en color verde cuando ya han sido resueltas, y el
color rojo cuando no.
Click en editar, se puede ver la información de la alerta, se ingresa la observación y
se da click en guardar.
El resultado aparece automáticamente en la pantalla de ver alertas.
NO HAY OBSERVACONES TECNICAS
NO HAY OBSERVACIONES FUNCIONALES