DESARROLLO DE UN APLICATIVO MOVIL QUE CONTROLE EL SISTEMA DE ILUMINACIÓN DE UNA VIVIENDA ALEX HUMBERTO VIZCAINO RUIZ CORPORACIÓN UNIVERSITARIA MINUTO DE DIOS FACULTAD DE INGENIERÍA TECNOLOGÍA EN INFORMÁTICA BOGOTÁ 2015 DESARROLLO DE UN APLICATIVO MOVIL QUE CONTROLE EL SISTEMA DE ILUMINACIÓN DE UNA VIVIENDA ALEX HUMBERTO VIZCAINO RUIZ ANTEPROYTECTO PRESENTADO PARA OPTAR AL TITULO DE TECÓLOGO EN INFORMÁTICA ASESOR HERNÁN ÁVILA CORPORACIÓN UNIVERSITARIA MINUTO DE DIOS FACULTAD DE INGENIERÍA TECNOLOGÍA EN INFORMÁTICA BOGOTÁ 2015 Nota de aceptación ___________________________________ ___________________________________ ___________________________________ ___________________________________ ___________________________________ ___________________________________ ___________________________________ __________________________ Firma del jurado __________________________ Firma del jurado BOGOTÁ, 29 de Noviembre de 2015 DEDICATORIA En el presente trabajo quiero hacer un reconocimiento a todas aquellas personas que han contribuido en la formación profesional y humana a lo largo de mi vida, quienes me han apoyado y han visto la dedicación y la lucha que he tenido a lo largo del camino, que a veces ha sido duro por los desvelos, el sacrificio y las muchas caídas que he tenido, pero he aprendido a tener fe y a confiar en mis capacidades. A Dios le agradezco la oportunidad de vivir y por estar conmigo en cada paso que doy, dándome la posibilidad de conocer personas que han sido de soporte y compañía en todo el periodo de estudio. A mi madre le agradezco por darme la vida y confiar en mí y en mis proyectos e ilusiones, Mamá gracias por darme una carrera, todo esto te lo debo a ti. A mi familia le agradezco por estar siempre presente en los tiempos difíciles, cuyos consejos me han resultado de gran ayuda, me han dado su cariño y compañía sin interés alguno. A todos muchas gracias. AGRADECIMIENTOS Primeramente quiero darle gracias a Dios por darme la oportunidad de tener esta experiencia y cada día me da fuerzas para continuar con mi vida. Quiero agradecer a todos los profesores que con su confianza, apoyo, y dedicación me han inculcado un conocimiento y un compromiso de superación que día tras día va evolucionando. Gracias a todos los miembros de la universidad que con su atención y amabilidad me han brindado un espacio agradable. A mis compañeros que fueron las personas con las cuales compartí durante algunos años las risas los desvelos y trabajos. Y agradezco muy especialmente a mi familia que siempre me han motivado, me han levantado me han dado energía para seguir adelante, son los que ha creído en mí. Muchas gracias por su confianza. CONTENIDO Pág. INTRODUCCIÓN ................................................................................................... 10 1.1 Titulo ................................................................................................................ 11 1.2 Planteamiento del problema ............................................................................ 11 1.3. Alcance y justificación ..................................................................................... 11 1.4. Objetivos ......................................................................................................... 12 1.4.1. Objetivo general ........................................................................................... 12 1.4.2. Objetivos Específicos ................................................................................... 12 1.4.3. Alcance ........................................................................................................ 13 1.4.4. Limitaciones ................................................................................................. 13 2. INGENIERIA DEL PROYECTO. ............................................................................. 14 2.1 Marco teórico ................................................................................................... 14 2.2. Metodología y Modelo de Desarrollo .............................................................. 21 2.2.1. Patrón Arquitectural ..................................................................................... 24 2.2.2 Comportamiento del Sistema ........................................................................ 25 3. ANALISIS Y DISEÑO ......................................................................................... 26 3.1. Definición de Requerimientos ........................................................................ 26 3.1.1 Requerimientos Funcionales ......................................................................... 26 3.1.2 Requerimientos no Funcionales .................................................................... 27 3.2. Descripción del Sistema Propuesto. ............................................................... 27 3.3. Diseño del Sistema Propuesta ........................................................................ 28 3.3.1 Diagramas de Clases .................................................................................... 28 3.3.2. Diagrama de Casos de Uso ......................................................................... 31 3.3.3. Diagrama de Secuencia ............................................................................... 37 3.3.4 Modelo relacional ......................................................................................... 38 4. DESARROLLO .................................................................................................. 39 4.1. Especificaciones Técnicas ............................................................................ 39 4.1.1 Software ........................................................................................................ 39 4.1.2. Hardware ..................................................................................................... 39 5. Glosario ............................................................................................................. 40 6. Conclusiones ..................................................................................................... 42 7. Bibliografía ........................................................................................................ 43 8. Manuales ........................................................................................................... 45 8.1. Manuales del Sistema .................................................................................... 45 8.2. Manuales del Usuario ..................................................................................... 47 INDICE DE FIGURAS Pág. Figura 1 Domotic .................................................................................................... 15 Figura 2 g-Control .................................................................................................. 16 Figura 3 Ozom ....................................................................................................... 17 Figura 4 Control 4 .................................................................................................. 18 Figura 5 Sistema Centralizado .............................................................................. 20 Figura 6 Modelo en Cascada ................................................................................ 23 Figura 7 Etapas de desarrollo del proyecto ........................................................... 23 Figura 8 Modelo vista controlador ......................................................................... 24 Figura 9 Comportamiento del sistema .................................................................. 25 Figura 10 Diagrama de Clases .............................................................................. 28 Figura 11 Caso de uso Login ................................................................................. 31 Figura 12 Diagrama caso de uso principal ............................................................. 32 Figura 13 diagrama consultar iluminaria ................................................................ 33 Figura 14 Diagrama control General ..................................................................... 35 Figura 15 Diagrama consultar Nivel ...................................................................... 36 Figura 16 Diagrama de Secuencia ......................................................................... 38 Figura 17 Modelo Relacional ................................................................................. 38 Figura 18 Pantalla Login ........................................................................................ 47 Figura 19 Interfaz de Usuario................................................................................. 48 Figura 20 Interfaz Administrador ............................................................................ 48 Figura 21 Interfaz registrar Nuevo Usuario ............................................................ 49 Figura 22 Activación Bluetooth ............................................................................. 50 Figura 23 Consultar Luces .................................................................................... 50 Figura 24 Control por Niveles ................................................................................ 51 Figura 25 Control General .................................................................................... 52 10 INTRODUCCIÓN En los últimos 50 años la tecnología ha venido transcendiendo, convirtiéndose en la base de todo. Con la tecnología el diario vivir se ha vuelto más fácil, debido a muchos desarrollos electrónicos, uno de ellos es el celular que hoy en día es el dispositivo más completo, que lo utilizan más de 6.000 millones de personas en el mundo, debido a gran número de usuario se desarrollan muchos aplicativos para los dispositivos móviles. Como parte del proceso de investigación y formación se desarrollará un aplicativo para celulares Android, el cual controle el sistema de iluminación de una vivienda, por comunicación bluetooth, incluye un login de registro para la seguridad y consultas el estado de todo el sistema de iluminación, los datos son obtenidos mediante protocolo http de un web service que consulta en la base de datos. También aplicación tiene la funcionalidad que el rol administrador pueda crear nuevos usuarios. El propósito es Facilitar el diario vivir y la comodidad de las personas dentro de su propio hogar diseñando un sistema de Domótica fácil y de bajo costo. 1.1. Titulo El título del proyecto fue definido para describir y crear una idea del proyecto, “Unitronic”. DESARROLLO DE UN APLICATIVO MOVIL QUE CONTROLE EL SISTEMA DE ILUMINACIÓN DE UNA VIVIENDA 11 1.2. Planteamiento del Problema Hoy en día la tecnología abarca muchas áreas y con el paso del tiempo se van implementando nuevas tendencias, ayudando mucho más al ser humano en diversas tareas. Los avances tecnológicos que existen hoy en día se encuentran hasta en el espacio, entonces porque no utilizar la tecnología en el hogar, ayudando a la comodidad y al confort. Existen varias aplicaciones móviles orientadas a la Domótica pero al ser relativamente nueva se pueden experimentar fallos en los sistemas, la mayoría tienen un costo muy alto, la instalación es muy complicada, demorada y costosa debido a que se debe reestructurar las conexiones. El mantenimiento lo realizan personas especializadas que conllevan a un costo mayor. No se tiene ningún tipo de seguridad, no se tienen presentes los roles de administrador ni de usuario. No guardan los datos en una base de datos, no presentan la funcionalidad de registrar nuevos usuarios. Teniendo en cuanta las fallas en las aplicaciones actuales se plantea una gran incógnita y el proyecto va enfocarse en darle respuesta ¿Se podrá realizar el aplicativo sin tener presente los problemas de los sistemas actuales como costo, instalación, mantenimiento, seguridad, creación de nuevos usuarios y registro en base de datos? 12 1.3. Alcance y Justificación Se desarrollará un aplicativo móvil orientado a la domótica, para controlar fácilmente el sistema de iluminación de una vivienda desde cualquier lugar de la misma, se diseña para el envío de Datos mediante la señal bluetooth en forma rápida. La aplicación va enfocada a personas que deseen automatizar un sistema de iluminación de una vivienda y tendrá como beneficio un nivel de confort muy superior aumentando la calidad de vida considerablemente. Como es una aplicación sencilla es muy fácil de emplear y cualquier persona con conocimientos básicos la puede utilizar. El aplicativo requiere ser eficiente, rápido y preciso, debe facilitarle al usuario solamente el encendido y el apagado de una o varias iluminarias con tan solo pulsar un botón. 1.4. Objetivos 1.4.1 Objetivo General: Desarrollar una aplicación Android para dispositivos móviles, la cual controle el encendido y el apagado de las iluminarias de una vivienda. 1.4.2 Objetivos Específicos:  Diseñar un aplicativo para el control del encendido y el apagado de las iluminarias para facilitar la comodidad dentro de la vivienda. 13  Crear una conexión entre el aplicativo y la placa Arduino para envío y recepción de datos.  Desarrollar un web service que se comunique con una base de datos.  Comunicar el aplicativo con el web service para obtener los datos de una base de datos. 1.4.3. Alcance La aplicación móvil tiene como alcance:  Encendido y apagado de una o varias iluminarias de una vivienda guardando el registro en la base de datos.  Consultar las iluminarias que están prendidas o que están apagadas. registradas en la base de datos.  Registrar nuevos usuarios en la base de datos.  Identificación de roles (administrador / usuario). 1.4.4. Limitaciones: como el envío de datos de la aplicación móvil al controlador (placa Arduino) es mediante la señal bluetooth solo se tiene un alcance 15 metros y funciona únicamente dentro de la vivienda. La aplicación solo controla el encendido y el apagado del sistema de iluminación de una vivienda. 14 2. INGENIERÍA DEL PROYECTO Esta sección provee una completa descripción del diseño del proyecto, se describe los sistemas actuales en el mercado y un detallado diseño en la arquitectura. 2.1. Marco teórico Domotic Es una empresa colombiana que se encuentra consolidad en el mercado, se especializa en la integración de los sistemas domótico, tiene más de 10 años de experiencia, los servicios que ofrece:  Control de luces.  Control de audio.  Control de electrodomésticos.  Control cortinas.  Control seguridad.  Control calefacción.  Control puertas y ventanas. 15 Figura 1: Domotic -[Descripción de imagen].Recuperado de http://www.mihogarinteligente.com/mis_luces.html G-Control Empresa colombiana que trabaja en las últimas tecnologías, implementa cada día nuevas ideas innovadoras, trabaja para satisfacer las necesidades de los clientes, los servicios que ofrece:  Control de sonido.  Control cámaras.  Control luces.  Control alarmas.  Control puertas.  Control electrodoméstico. 16 Figura 2: G Control -[Descripción de imagen].Recuperado de http://g-control.net/index.html También implementa un sistema de control de acceso donde se puede restringir paso a diferentes áreas.  Biométrico.  Cerradura.  Tarjetas. Ozom Es una aplicación con que utiliza la última tecnología para controlar los elementos electrónicos dentro de un recinto, Fue diseñado en silicón valley-california, es una aplicación que controla la vivienda desde cualquier lugar. Los servicios que ofrece:  Control aire acondicionado.  Control de iluminarias.  Control de puertas.  Control de cámaras 17 Figura 3: Ozom -[Descripción de imagen].Recuperado de http://www.sodimac.cl/sodimac- cl/static/staticContent3.jsp?active=9&id=cat1900006&cid=bnnlnd6197 La aplicación tiene una funcionalidad en la que se puede tener una seguridad baja, media y alta y si alguna es violentada se envía una señal de alerta al dispositivo móvil, informando la anormalidad de forma inmediata. Control 4 Es una empresa de origen mexicana, con altos estándares de calidad, implementa una tecnología basada en envío de señales wifi, la instalación es muy fácil. Los servicios que ofrece: 18  Control iluminación.  Control de cortinas.  Control de chimeneas.  Control de temperatura.  Control válvulas (agua, gas).  Control de puertas. Figura 4: Control 4 -[Descripción de imagen].Recuperado de http://www.control4colombia.com/ Control 4 cuenta con un sistema totalmente inalámbrico facilitando la instalación, debido a que no es necesario reestructurar el sistema actual. Historia de la Domótica. La domótica inicia en los años 70, pero se implementan en los años 80 cuando consigue integrar dos sistemas (el eléctrico y el electrónico) en pos de la 19 comunicación integral de los dispositivos del hogar. El desarrollo de la tecnología informática permite la expansión del sistema, sobre todo en países de vanguardia como Estados Unidos, Alemania y Japón. Acorde a los cambios, el auge de la informática hogareña permite incorporar en los edificios el Sistema de Cableado Estructurado (SCE), que facilita la conexión de terminales y redes. Así, estos edificios reciben el nombre de “inteligentes”, por su automatismo al servicio del propietario. El boom de estos rascacielos de oficinas comerciales fue de gran impacto. La domótica permitía lograr una eficiencia inédita para el servicio de dispositivos. El primer programa que utilizó la domótica fue el Save. Creado en Estados Unidos en 1984, permite lograr eficiencia y bajo consumo de energía en los sistemas de control de edificios inteligentes. -Historia de la Domótica. En arkiplus. Recuperado el 26 de noviembre del 2015 de http://es.slideshare.net/SOYLUIS1974/normas-apa-2011-11859235 La domótica surge a partir de la necesidad de transformar un hogar tradicional en un espacio innovador, agradable y confortable, utilizando elementos tecnológicos que son controlados mediantes señales inalámbricas. Uno de los sistemas de Domótica más utilizados es el sistema Centralizado, que como su nombre lo indica trabaja centrado en un solo controlador. Sistema Domótico Centralizado. En un sistema domótico centralizado, todos los elementos de control residen en un único sitio. Existe un cuadro eléctrico de protecciones compartido con los módulos de control o de automatización del hogar, o bien existen uno o varios cuadros de control situados en la misma ubicación. 20 Figura 5: sistema centralizado -[Descripción de imagen].Recuperado de http://antoniopendolema.blogspot.com.co/2013/04/arquitectura-centralizada.html Ventaja principal de la aplicación de este sistema domótico centralizado, es la facilidad a la hora de realizar cualquier operación de mantenimiento, actualización o modificación; sin necesidad de tener que ir abriendo las tapas de las diversas cajas de distribución a lo largo de la vivienda. Como contrapartida y desventaja principal de la aplicación de un sistema domótico centralizado, es la multitud de cables que se agrupan en las proximidades del cuadro, más notorio se hace aun en cuanto mayor es la instalación y los elementos a controlar. -Domótica. En antoniopendolema.blogspot. Recuperado el 26 de noviembre del 2015 de http://www.domoticausuarios.es/sistema-domotico-centralizado/1918/ El sistema domótico centralizado es muy aconsejable para entornos residenciales, en especial aquellos que no haya grandes distancias desde o hacia los cuadros de control. 21 Ventajas:  Menor costo.  tiene un solo controlador.  Mantenimiento más accesible.  Programación fácil para el usuario. Inconvenientes:  Saturación, debido a que la responsabilidad recae en un solo controlador.  Un fallo en el controlador, provocaría un error en todo el sistema.  Requiere un cableado ordenado. 2.2. Metodología y Modelo de Desarrollo La metodología a utilizar en este proyecto es el modelo en cascada, debido a que este modelo es ordenado y su estructura es escalonada, no requiere de mucha experiencia para ser interpretada. Las características:  Es el más utilizado.  Es una visión del proceso de desarrollo de software.  Todas las etapas son implementadas. Ventajas:  Simple de implementar.  La planificación es sencilla. 22  Los recursos para el desarrollo es mínimo.  La calidad del producto resultante es alta. Ciclo de vida del modelo en cascada:  Análisis del Sistema: En la primera fase se planifican los objetivos y alcances del proyecto, en esta etapa se diseña un visión del funcionar el sistema a futuro, se crean las bases del proyecto.  Diseño: el diseño del software se enfoca en tener una idea clara de que como se va a desarrollar el software, que eventos va a tener, los errores que se van a presentar, las validaciones que toca hacer. En que plataforma se va a codificar, en que lenguaje se va a trabajar, cual base de datos se va a manejar.  Codificación: el diseño se traduce en una forma legible para la máquina. Si el diseño se realiza de una manera detallada, la codificación puede realizarse mecánicamente,  Prueba: una vez que se ha generado el código comienza la prueba del programa. La prueba se centra en la lógica interna del software y en las funciones externas, realizando pruebas que aseguren que la entrada definida produce los resultados que realmente se requieren.  Mantenimiento: Es el soporte que hay que hacerle al código por cualquier eventualidad, para este proyecto no se implementa. 23 Figura 6: modelo de cascada. -[Descripción de imagen].Recuperado de http://masteringenieriasoft.blogspot.com.co/2012/05/ciclos-de-vida-orientados-objetos-vs.html En la siguiente grafica se mostrara las etapas de evolución, implementación y tiempos empleados para el desarrollo del proyecto. 24 Figura 7: Etapas de desarrollo del proyecto Fuente: Los autores. 2.2.1. Patrón Arquitectural El patrón que se va a emplear en el proyecto es un modelo vista controlador (MVC) que separa los datos, la lógica y la interfaz, se utilizar para darle un orden al proyecto. - El modelo es el responsable de acceder a la capa de almacenamiento de datos. - El controlador es el responsable de administrar los eventos de entrada y salida. - La vista es la encargada de interactuar con el usuario, también muestra los datos al Usuario. Figura 8: modelo vista controlador Fuente: los autores. 25 2.2.2. Comportamiento del Sistema En la figura 8 se muestra más específicamente cual es el procedimiento general del proyecto. El login es la primera interfaz que interactúa con el usuario, después se valida la información en la base de datos, los datos son enviados por un web service que transporta los datos por el protocolo http a la base de datos, la base de datos da una respuesta si se encuentra registrado, si es correcta la información el usuario ingresa a la interfaz la cual se comunica con el controlador Arduino y mediante señal bluetooth permite el envió de datos para que accione los actuadores que van conectados a las iluminarias. Figura 9: Comportamiento del Sistema. Fuentes: los autores. 26 3. ANALISIS Y DISEÑO En esta sección se define la estructura del aplicativo y sus diferentes formas de desarrollo, la primera parte es la definición de los requerimientos. 3.1. DEFINICIÓN DE REQUERIMIENTO Se definen el requerimiento funcional y no funcional para el desarrollo del aplicativo móvil. 3.1.1. Requerimientos Funcionales Son declaraciones de servicio que debe cumplir el sistema, los requerimientos que se determinaron para el aplicativo móvil fueron los siguientes: 1. La aplicaciones debe tener una seguridad al ingresar (login). 2. Se debe mostrar interfaces diferentes dependiendo de los roles, se va a manejar dos tipos de roles, rol Administrador y rol Usuario. 3. El rol Administrador tiene la funcionalidad de registrar nuevos usuarios. 4. El aplicativo debe poder consultar las iluminarias que se encuentran encendidas y apagadas. 5. El aplicativo debe poder encender o apagar las iluminarias de forma independiente o general. 6. El aplicativo debe tener la función de encender y apagar todas las iluminarias pulsando solo un botón. 7. El aplicativo debe encender y apagar las iluminarias por cada nivel (pisos de la casa). 8. El aplicativo debe guardar todos los cambios de estados que se le hagan a las iluminarias. 27 3.1.2. Requerimientos no Funcionales. Son aquellos requerimientos que no se refieren a las funciones del sistema, sino a las propiedades emergentes de éste. 1. La aplicación conecta automáticamente con el controlador Arduino. 2. La aplicación debe tener tiempos de respuesta menores 5 segundos 3. El sistema debe ser de fácil uso. 4. La capacidad de almacenamiento en la base de datos debe ser óptima. 5. El sistema maneja un sistema de roles para los usuarios. 3.2. Descripción del Sistema Propuesto El aplicativo está orientado a dispositivos móviles, que permite el control inalámbrico del sistema de iluminación de viviendas y además permite consultar los estados actuales de todas las iluminarias, sigue el patrón modelo vista controlador (mvc), lenguajes de desarrollo como java (para programar la aplicación) php (para programar los web service), c++ (para programar la placa Arduino), las herramientas de desarrollo eclipse mars.1, phpmyAdmin, Arduino nigthly. El sistema será flexible para un futuro crecimiento el web service ayudan a la comunicación de del aplicativo y la base de datos, los tablas de la base de datos tendrán normalizada hasta la tercera forma. La aplicación mostrar el error de dando la opción al usuario de activarlo, si no se enciende el bluetooth la aplicación no funciona y se presenta errores. Los datos que se envían y se obtienen de la base de datos deben para por el web service, que es el encargado de tomar los datos y enviarlos mediante un protocolo http, este envío deber seguro para que los datos no se pierdan. 28 Las herramientas de hardware as utilizar son: placas Arduino que es el controlador del sistema, modulo bluetooth Arduino que se empareja con el dispositivo móvil para la comunicación, módulo relé Arduino su funcionamiento es la interrupción de energía que va a la iluminaria, portátil para programar los diferentes dispositivos, el celular Android que es la herramienta para la realización de pruebas. 3.3. Diseño del Sistema Propuesto El diseño del sistema se refiere a la definición y estructura de los requerimientos, se utiliza unos modelos para que sean más entendible los proyectos, los lenguajes en que se desarrollan los modelos es uml (lenguaje unificado de modelado). 3.3.1 diagrama de clases El siguiente diagrama se muestra la distribución de la clase que tiene el aplicativo. Figura 10: Diagrama de Clases Fuente: los autores 29 Clases Variables Métodos Http url-> almacena la url del servidor al cual se va a acceder. enviarDatos () -> se encarga de enviar y recibir los datos a la base de datos. Inicio Usuario-> almacena el nombre del usuario. Pass-> guarda la contraseña del usuario. validarUsuario () -> valida la información ingresada por el usuario para poder ingresar a la aplicación. Principal Rol-> almacena el rol del usuario registrado consultarLucesPrendidas () -> muestra interfaz luces Prendidas. consultarLucesApagadas () -> muestra interfaz luces apagadas. consultarpisos () -> muestra interfaz de consultar Piso. registrarUsuario () -> muestra otra interfaz de registro. ConsultarLuces consultarlucesPrendidas () -> muestra las iluminarias que se encuentran prendidas en la vivienda. consultarLucesApagadas () -> muestra las iluminarias que se encuentran apagadas en la vivienda. prender()-> prende iluminaria seleccionada 30 Apagar () -> apaga iluminaria seleccionada. ConsultarPiso primerPiso () -> prende y apaga las iluminarias del primer piso. segundoPiso () ->prende y apaga las iluminarias del segundo piso. TercerPiso () ->prende y apaga las iluminarias del tercer piso. ControlGeneral prenderTodo () -> prende todas las iluminarias de la vivienda. apagarTodo () -> apaga todas las iluminarias de la vivienda. RegistrarUsuario idUsuario-> almacena el id del usuario. nombreUsuario-> almacena el nombre del usuario. passUsuario-> almacena la contraseña del usuario. registrarUsuario () -> registrar los nuevos usuarios en el sistema. 31 3.3.2. Diagrama de casos de uso. Son diagramas que muestran una idea más detallada del comportamiento de los actores en el programa. Figura 11: caso de uso login Fuentes: los actores. Nombre Requerimiento 1: login Descripción El usuario necesita ingresar al login para acceder a la aplicación Actores Usuario Precondiciones 32 Tener conexión a base de datos. Flujo Normal Actor Sistema 1. El usuario ingresa los datos, nombre y contraseña al sistema. 1. El sistema valida los datos si está registrado en la base de datos. Flujo Alternativo 1. El Usuario no ingresan el dato requerido. 2. Los datos ingresados por el usuario son incorrectos Pos condiciones El sistema Devuelve un mensaje si está registrado. Figura 12: diagrama caso de uso principal Fuente: los autores 33 Nombre Requerimiento 2: identificación roles Descripción El sistema reconoce los tipo de roles Actores Usuario / Administrador Precondiciones El usuario debe estar registrado en el sistema. Tener conexión a base de datos. Flujo Normal Actor Sistema 1. El usuario selecciona el evento a ejecutar. 1. Reconoce el tipo de rol 2. Muestra interfaz diferente dependiendo del tipo de rol Flujo Alternativo 1. El sistema no reconoce el tipo de rol Pos condiciones El sistema reconoce el evento seleccionado. Figura 13: diagrama consultar iluminaria. 34 Fuente: los autores. Nombre Requerimiento 3, 4: consultar iluminarias, cambio de estado general e independiente. Descripción El usuario consulta las iluminarias de la vivienda Actores Usuario / Administrador Precondiciones Se encuentre las iluminarias registradas en la base de datos Tener conexión con la placa Arduino Flujo Normal Actor Sistema 1. consulta las luces de la vivienda. 2. Cambia estado de una iluminaria independientemente. 3. Cambia estado de iluminarias general 1. Consulta en la base de dato las iluminarias de la vivienda. 2. Muestra los datos. 3. guarda el estado de la iluminaria seleccionada. 4. guarda estado de todas las iluminarias Flujo Alternativo 1. El sistema no conecta con la base de datos 2. El sistema no conecta con el controlador Arduino. Pos condiciones Se guardan los nuevos estados en la base de datos 35 Figura 14: diagrama control general Fuente: los autores Nombre Requerimiento 5 : cambiar estado iluminarias generales Descripción El usuario podrá cambiar es estado de todas las iluminarias de la vivienda. Actores Usuario / Administrador Precondiciones Tener conexión con la placa Arduino. Tener conexión a base de datos. 36 Flujo Normal Actor Sistema 1. Prender todas las iluminarias de la vivienda. 2. Apaga todas las iluminarias de la vivienda 1. Cambia estado de las iluminarias. 2. Guarda el nuevo estado. Flujo Alternativo 2. El sistema no conecta con la base de datos 3. El sistema no conecta con el controlador Arduino. Pos condiciones Se guardan los nuevos estados en la base de datos. Se cambian los estados en el controlador Figura 15: diagrama consulta nivel. Fuente: los autores. 37 Nombre Requerimiento 6: cambiar estado iluminarias por niveles. Descripción El usuario podrá cambiar es estado de las iluminarias dependiendo del nivel. Actores Usuario / Administrador Precondiciones Tener conexión con la placa Arduino. Tener conexión a base de datos. Flujo Normal Actor Sistema 1. Cambiar estado iluminarias primer nivel. 2. Cambiar estado iluminarias segundo nivel. 3. Cambiar estado iluminarias tercer nivel. 3. Cambia estado de las iluminarias. 4. Guarda el nuevo estado. Flujo Alternativo 3. El sistema no conecta con la base de datos 4. El sistema no conecta con el controlador Arduino. Pos condiciones Se guardan los nuevos estados en la base de datos. Se cambian los estados en el controlador. 3.3.3 Diagrama de secuencia En el siguiente grafico se muestran los usuarios que interactúan en el sistema, desde la fase inicial hasta la final. 38 Figura 16: diagrama de secuencia Fuente: los autores 3.3.4. Modelo Relacional El modelo relacional Permite establecer interconexiones o relaciones entre los datos, el siguiente grafica muestra un modelo relacional que tiene la base de datos del proyecto, las tablas están normalizadas en la tercera forma Figura 17: modelo relacional Fuente: los autores. 39 4. DESARROLLO En el desarrollo de la aplicación se tienen dos aspectos fundamentales, el primero es el software que es el que se va a desarrollar y el hardware que son los elementos a utilizar. 4.1 Especificaciones Técnicas en esta sesión se explica los requisitos y las características los cuales son necesarios para que el software funcione plenamente. 4.1.1Software  Apk de instalación.  Programas de web service el lenguaje de php.  Script de la base de datos.  Programa en lenguaje en c++ para la placa Arduino uno. 4.1.2Hardware  Computador Portátil Instalada la base de datos  Placa Arduino uno  Bluetooth hc-06 Arduino.  Relés electrónicos de 110 voltios  Iluminarias de 110 voltios. Requerimientos Mínimos el celular debe tener conexión bluetooth y wifi, la versión debe ser de 3.2.2 o superior. 40 5. GLOSARIO APLICACIÓN Programa diseñado para una determinada función. ARDUINO: Arduino es una plataforma de hardware libre, basada en una placa con un micro controlador y un entorno de desarrollo, diseñada para facilitar el uso de la electrónica. C++: es un lenguaje de programación diseñado a mediados de los años 1980 DATO: Representación de un hecho o idea que puede ser manipulado y al cual se le puede asignar un significado. HTTP: es el protocolo usado en cada transacción de la World Wide Web (www), es un protocolo sin estado, es decir, que no guarda ninguna información sobre conexiones anteriores. INTERFAZ: Elementos que convierten un tipo de señal en otra para conectar dos dispositivos de diferentes características, aunque con cierta compatibilidad gracias a este. LOGIN: Acción de conectarse a un sistema ingresando un nombre de usuario y una contraseña. PHP: es un lenguaje de programación de uso general de código del lado del servidor originalmente diseñado para el desarrollo web de contenido dinámico. Fue uno de los primeros lenguajes de programación del lado del servidor que se podían incorporar directamente en el documento HTML en lugar de llamar a un archivo externo que procese los datos. PROGRAMA: Secuencia de instrucciones que dirige a la computadora a realizar operaciones específicas para obtener un resultado deseado. RELÉ: es un dispositivo electromagnético. Funciona como un interruptor controlado por un circuito eléctrico en el que, por medio de una bobina y un 41 electroimán, se acciona un juego de uno o varios contactos que permiten abrir o cerrar otros circuitos eléctricos independientes. SERVIDOR WEB: Es una aplicación informática o programa que realiza algunas tareas en beneficio de otras aplicaciones llamadas clientes. SISTEMA CENTRALIZADO: Se dice que un sistema Domótico es centralizado cuando en el mismo solo existe un único punto de control, ya que, sólo hay una C.P.U. URL: (Uniform Resource Locator). Localizador uniforme de recursos. Estándar que especifica un tipo de servicio en Internet, así como la localización exacta del archivo correspondiente. Dirección de un sitio web, universal y único a nivel mundial. Web Service: Permiten la comunicación entre aplicaciones o componentes de aplicaciones de forma estándar a través de protocolos comunes (como http) y de manera independiente al lenguaje de programación, plataforma de implantación. 42 6. CONCLUSIONES  A partir del resultado obtenido en el presente trabajo de tesis, se concluye que es posible desarrollar un aplicativo Android el cual pueda controlar las luces de una vivienda. El sistema aquí descrito no pretende ser una solución definitiva pero si intenta incidir en la situación actual. Hoy en día existen pocos hogares inteligentes, pero en un futuro no muy lejano aumentara la implantación de estos tipos de tecnologías.  El proyecto fue muy enriquecedor en cuanto al conocimiento obtenido, puesto que se investigó en áreas como la electricidad, la electrónica y la programación de dispositivos Android.  El envío y recepción de datos por medio del módulo Arduino se realizó de manera exitosa.  El desarrollo de la aplicación móvil para Android, se ejecutó de manera exitosa.  No se pudo implementar el proyecto en una vivienda debido a los costos y al poco tiempo, pero se desarrolló un modelo a escala y dio un resultado favorable. Al ser instalada en una vivienda no tendrá variación alguna. 43 7. BIBLIOGRAFIA  Wikipedia. Domótica (2015). Disponible en la URL: https://es.wikipedia.org/wiki/Dom%C3%B3tica  Ciencia a la última. Domótica (2011).disponible en la URL: http://ciencialaultima.blogspot.com.co/2011/02/domotica.html/  RaulCarretero. Por qué y cuándo elegir un sistema Domotico centralizado o distribuido (2012). Disponible en la URL: http://www.raulcarretero.com/2012/04/17/por-que-y-cuando-elegir-un- sistema-domotico-centralizado-o-distribuido  Arkiplus. Historia de la Domótica (2013). Disponible en la URL: http://www.arkiplus.com/historia-de-la-domotica  Ecured. Domótica (2015). Disponible en la URL: http://www.ecured.cu/index.php/Dom%C3%B3tica  Andrade Fernández, Alejandro. Implementación de un sistema Domótico en el hogar (2013). Disponible en la URL: http://ribuc.ucp.edu.co:8080/jspui/bitstream/handle/10785/1989/CDMIST73. pdf?sequence=1  Academia. Modelo Características ventajas desventajas cascadas (2015). Disponible en la URL: http://www.academia.edu/5130339/MODELO_CARACTERISTICAS_VENT AJAS_DESVENTAJAS_CASCADA  Electronilab. Modulo Bluetooth (2015). Disponible en la URL: http://electronilab.co/tienda/modulo-bluetooth-hc-06-serial-rs232ttl  Wikipedia. Php (2015). Disponible en la URL: https://es.wikipedia.org/wiki/PHP  Wikipedia. Java (2015). Disponible en la URL: https://es.wikipedia.org/wiki/Java_(lenguaje_de_programaci%C3%B3n) 44  Wikipedia. Appserv (2015). Disponible en la URL: https://es.wikipedia.org/wiki/Appserv  Wikipedia. C++ (2015). Disponible en la URL: https://es.wikipedia.org/wiki/C%2B%2B  profesorMolina. Que es un sistema Domótico (2015). Disponible en la URL: http://www.profesormolina.com.ar/tecnologia/domotica/sist_domo.htm  Diego levis. Comunicación y educación (2006). Disponible en la URL: http://diegolevis.com.ar/secciones/Articulos/glosario1.html.  Panamá Hitek. Conectar Arduino con Base de Datos Mysql. Disponible en la URL: http://panamahitek.com/conectar-arduino-base-datos-mysql/  Profe García. Conectar Arduino con su teléfono Android por bluetooth. Disponible en la URL: http://elprofegarcia.com/?p=223  GeekyTheory. Conectar Android con Arduino por Bluetooth. Disponibles en la URL: https://geekytheory.com/conectar-android-con-arduino-por- bluetooth-capitulo-1/ 45 8. MANUALES 8.1 Manual de sistema.  Propósito: desarrollar un aplicativo Android la cual pueda controlar las iluminarias de una vivienda.  Alcance: desarrollar la aplicación Android e implementar el sistema en un modelo a escala debido al corto tiempo y al gran costo que esto implicaría. Que controle la encendida y apagada de las iluminarias. REQUISITOS PRE-INSTALACIÓN Instalación y configuración: Para la instalación se debe contar un servidor en el cual se va guardar la base de datos y que va a servir como web service, este servidor puede ser un Computador de escritorio o un portátil. Red: No importa la red a utilizar pero debe ser la misma para el servidor y el dispositivo donde se instaló el aplicativo. PROCESO DE INSTALACIÓN 1. se instala en el computador el appserver que es el web service a utilizar 2. después de instalado se le copean en la carpeta de www los archivos que vienen codificados en php para la comunicación de la base de datos. 3. En los interruptores de la vivienda se empalma un cable que va del relé a la bombilla. 46 4. Se alimenta el relé con una corriente de 100v y se le conecta el cable que lleva la señal 5. Se conectan todos los relés a la placa Arduino Uno 6. La placa Arduino uno se conecta a una fuente de poder de 5 vol 7. Se descarga el código a la placa Arduino. 8. Se verifica si todas las conexiones quedaron bien y no se presentan cortos. 9. Se instala la aplicación en el dispositivo a utilizar. 10. Se crea un administrador por base de datos 11. El Administrador es el encargado de crear nuevo usuarios. 12. Se llenan los campos de la base de datos con las luces de la vivienda, colocando, el tipo de dispositivo, el id, la ubicación, el nivel y el estado. 13. Se ingresa en la aplicación por primera vez y se verifica si todo esta sincronizado. Tareas programadas  El dispositivo Android se conecta automáticamente cuando ingrese a la aplicación con el modulo bluetooth del Arduino Contactos técnicos:  En caso de que el sistema tenga un inconveniente dentro de los 2 primero meses el mantenimiento es obsequiado, pero si se pasa de este tiempo ya tiene cobros adicionales 47 8.2 Manual de Usuario El siguiente manual muestra la aplicación Android desarrollada y sus diferentes pasos para un fácil entendimiento. Es una aplicación muy sencilla de utilizar y se desarrolló con el fin de tener más confort del sistema de iluminarias en una vivienda. Figura 18: pantalla login Fuentes: los autores 1) La primera vista que tiene el usuario es el login, que le pide dos datos, el primero es el nombre usuario y el segundo es la contraseña, después de llenado estos campos se le da click en el botón “iniciar sesión” y si los datos ya están en la base de datos el usuario puede ingresar de lo contrario no es posible acceder a la aplicación. 48 Figura 19: interfaz usuario Fuentes: los autores 2) Después de ingresados los datos correctamente se mostrara un interfaz con dos botones si el Usuario no es administrador no se mostrara el tercer botón que es el de registrar. Figura 20: interfaz Administrador Fuentes: los autores 49 3) Si el usuario es un administrador entonces se mostrara el botón registro de nuevos usuarios Figura 21: interfaz registrar nuevo usuario Fuentes: los autores 4) Cuando se desea ingresar un nuevo usuario en el sistema se deben llenar tres campos básicos, el primero es el id o código tiene que ser solo numérico, después el usuario o nombre de usuario, por último se le crea una contraseña. Ya debidamente diligenciados estos campos se le da click en el botón registrar para guardarlo en la base de datos. 50 Figura 22: activación bluetooth Fuentes: los autores 5) Si no se tiene activado el modulo bluetooth el sistema mostrara un mensaje informando de este hecho y le da la opción de activarlo. Figura 23: consultar luces Fuentes: los autores 51 6) Después de que el sistema verifico si el bluetooth del teléfono está activado se pasa a interfaz la cual se comunica con la base de datos y con el controlador (placa Arduino), se pueden consultar cuantas luces están prendidas y también se puede cambiar el estado. Figura 24: control por niveles Fuentes: los autores 7) La aplicación le permitirá encender y apagar las luces de cada nivel (piso) de forma independiente, sola se debe ingresar a consultar por nivel y escoger el nivel que desea modificar de estado. 52 Figura 25: control general Fuentes: los autores. 8) Para cambiar el estado de todas las iluminarias de la vivienda se ingresa en la ventana principal y la opción control general que a su vez cambia el estado de todas las iluminarias.