universidad central del ecuador … · el autor expresa su agradecimiento en primer lugar a dios y...

153
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

Upload: vankiet

Post on 20-Sep-2018

214 views

Category:

Documents


0 download

TRANSCRIPT

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]

iv

iv

APROBACIÓN DEL TRABAJO DE TITULACIÓN

v

v

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

mail

<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

email

...

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 .

74

ANEXOS

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.

111

Figura J 2. Opera 13

Figura J 3. Captura de pantalla de Firefox 45.

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

xim

o

Me

dio

Mín

imo

Ale

rta

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

134

NO HA OBSERVACONES TECNICAS

OBSERVACIONES FUNCIONALES

Dice CONFIGURCIÓN en vez de CONFIGURACIÓN

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