Aplicación Domótica En Android Con Openhab Para El Control De Los Dispositivos Del Hogar
Total Page:16
File Type:pdf, Size:1020Kb
Trabajo Fin de Grado Grado en Ingeniería de las Tecnologías de Telecomunicación Aplicación domótica en Android con OpenHAB para el control de los dispositivos del hogar Autor: José de Lózar Alameda Tutora: María Teresa Ariza Gómez Equation Chapter 1 Section 1 Dpto. Ingeniería Telemática Escuela Técnica Superior de Ingeniería Universidad de Sevilla Sevilla, 2020 1 Aplicación domótica en Android con OpenHAB para el control de los dispositivos del hogar iv Aplicación domótica en Android con OpenHAB para el control de los dispositivos del hogar Trabajo Fin de Grado Grado en Ingeniería de las Tecnologías de Telecomunicación Aplicación domótica en Android con OpenHAB para el control de los dispositivos del hogar Autor: José de Lózar Alameda Doctora: María Teresa Ariza Gómez Departamento de Ingeniería Telemática Escuela Técnica Superior de Ingeniería Universidad de Sevilla Sevilla, 2020 v Aplicación domótica en Android con OpenHAB para el control de los dispositivos del hogar vi Aplicación domótica en Android con OpenHAB para el control de los dispositivos del hogar Trabajo Fin de Grado: Aplicación domótica en Android con OpenHAB para el control de los dispositivos del hogar Autor: José de Lózar Alameda Tutora: María Teresa Ariza Gómez El tribunal nombrado para juzgar el Proyecto arriba indicado, compuesto por los siguientes miembros: Presidente: Vocales: Secretario: Acuerdan otorgarle la calificación de: El Secretario del Tribunal Sevilla, 2020 vii Aplicación domótica en Android con OpenHAB para el control de los dispositivos del hogar viii Aplicación domótica en Android con OpenHAB para el control de los dispositivos del hogar “La información es poder” Francis Bacon ix Aplicación domótica en Android con OpenHAB para el control de los dispositivos del hogar x Aplicación domótica en Android con OpenHAB para el control de los dispositivos del hogar Agradecimientos Me es difícil escribir estas palabras debido a todo lo que significan, sin querer dejarme a nadie. Durante la realización de este Trabajo Fin de Grado han acontecido momentos extraordinarios que se alejan de todo lo que cualquier persona pudiera pensar. Por ello me es difícil y me emociona a su vez escribir estas palabras para darle las gracias a todos aquellos que han estado durante todo este tiempo. En primer lugar, agradecer a la tutora de este Trabajo Fin de Grado, María Teresa Ariza Gómez, toda la paciencia, el tiempo, los consejos, las reuniones, las presentaciones y el empeño que ha dedicado para ayudarme en la realización. Gracias por dejarme realizar aquella idea que se me pasó un día por la cabeza y que después de muchas reuniones cogió forma y sentido. A su vez agradecer a todos los profesores que he tenido durante la carrera que me han hecho madurar e ilusionarme aún más, si se puede, por el mundo de las Telecomunicaciones y todo lo que abarca. Me gustaría agradecer, desde lo más profundo de mi ser, a mi familia que siempre ha estado junto a mí. Sin ellos no hubiera empezado esta carrera ni llegado hasta donde estoy ahora. A mi madre su eterna paciencia y comprensión. A mi padre las constantes charlas motivacionales y sus ganas de vida. A mi hermana su gran locura y capacidad de volver feliz a los demás. Y a Consuelo, por sacar día tras día lo mejor de mí, por hacerme ver la vida desde distintos puntos de vista, por hacerme madurar a pasos agigantados, por ser la luz de mi camino y hacer de este el camino que quiero y el más bonito de los que se podría elegir. Gracias por ser mi cruz en el mapa. Gracias a mis amigos. Gracias a los que ya se fueron, que siempre estarán. José de Lózar Alameda Sevilla, 2020 xi Aplicación domótica en Android con OpenHAB para el control de los dispositivos del hogar xii Aplicación domótica en Android con OpenHAB para el control de los dispositivos del hogar Resumen Conforme pasan los años, la sociedad siente la necesidad de estar conectada a Internet. La posibilidad de poder interconectar todo lo que nos rodea es un hecho y cada vez más las nuevas tecnologías se adaptan a dicha necesidad. La domotización del hogar permite el control de cualquier elemento electrónico conectado a la red, desde persianas hasta lavadoras. El objetivo de este Trabajo Fin de Grado es analizar y utilizar la plataforma de código abierto cuya principal funcionalidad es la automatización del hogar que es OpenHAB [1], así como el desarrollo de una aplicación móvil en Android que sirva de interfaz y conexión con cada hogar, e implementar un servicio en la nube que sirva para la autenticación de los usuarios en la aplicación. OpenHAB utiliza tecnología REST para consultar y publicar los diferentes estados que pueden estar en una casa [2]. xiii Aplicación domótica en Android con OpenHAB para el control de los dispositivos del hogar xiv Aplicación domótica en Android con OpenHAB para el control de los dispositivos del hogar Abstract As the years go by, society feels the need to be connected to the Internet. The possibility of being able to interconnect everything around us is a fact and more and more new technologies are adapting to this need. Home automation allows the control of any electronic element connected to the network, from blinds to washing machines. The objective of this Final Degree Project is to analyze and use the open source platform whose main functionality is home automation which is OpenHAB, as well as the development of a mobile application on Android that serves as an interface and connection with each home, and implement a cloud service to login to application users. OpenHAB uses REST technology to query and publish the different states that can be in a house. xv Aplicación domótica en Android con OpenHAB para el control de los dispositivos del hogar xvi Aplicación domótica en Android con OpenHAB para el control de los dispositivos del hogar Índice Agradecimientos xi Resumen xiii Abstract xv Índice xvii Índice de figuras xix Notación y acrónimos xxi Introducción 1 1.1 Motivación del trabajo 1 1.2 Objetivos y enfoque 1 Objetivos específicos 1 Funcionalidades de cara al cliente o al usuario final 2 Esquema de la arquitectura 3 1.3 Estructura de la memoria 4 1.4 Justificación del trabajo 4 Limitaciones y problemas 4 Soluciones propuestas 4 Recursos utilizados 5 2.1 Recursos Hardware 5 Raspberry Pi Model 3b+ 5 NodeMCU v3 6 Sensor DHT11 7 Led 7 Modulo Relé Arduino 8 Teléfono Android 8 Portátil 9 Tarjeta MicroSD 9 Punto de Acceso 9 Cable RJ45 10 Protoboard 10 Cables Puente 10 Fuentes de alimentación 11 2.2 Recursos Software 12 Arduino IDE 12 Win32DiskImager 12 SDcardFormatter 12 Putty 13 GNU/Linux 13 MQTT 14 Google Chrome 15 xvii Aplicación domótica en Android con OpenHAB para el control de los dispositivos del hogar Android Studio 15 PostMan 15 Spring 15 OpenHAB 16 PostgreSQL 17 STUN Server 17 AWS 17 Swagger 17 Estado del arte 19 3.1 OpenHAB 19 Configuración de OpenHAB 19 Guía de instalación 23 Configuración inicial 26 3.2 MQTT 35 Terminología 35 Paquete de control MQTT 37 Tipos de paquete 43 Descripción de la solución desarrollada 45 4.1 Primer paso: Instalación de medios inteligentes en el hogar 45 Placa NodeMCU 45 4.2 Segundo paso: Instalación de nodo central de recogida y envío de datos 50 Placa Raspberry Pi 50 4.3 Tercer paso: Instalación de servidor en la nube 56 4.4 Cuarto paso: Aplicación Android 59 4.5 Descripción de la comunicación entre componentes 63 Futuras ampliaciones 65 5.1 Líneas de mejora 65 Conclusiones 69 Referencias 71 Anexo 73 1. Código de las implementaciones 73 1.1. Aplicación Android 73 1.2. Servicio Spring 96 1.3. Cliente Spring 104 xviii Aplicación domótica en Android con OpenHAB para el control de los dispositivos del hogar ÍNDICE DE FIGURAS Figura 1-1: Esquema de la arquitectura. 3 Figura 1-2: Esquema del modelo MQTT. 3 Figura 2-1: Raspberry Pi Modelo 3b+. 5 Figura 2-2: Placa NodeMCU v3. 6 Figura 2-3: Sensor de temperatura DHT11. 7 Figura 2-4: Dispositivo led. 7 Figura 2-5: Módulo de 2 relés. 8 Figura 2-6: Teléfono móvil Huawei P30. 8 Figura 2-7: Portátil Acer Aspire VX 15. 9 Figura 2-8: Tarjeta MicroSD Clase 10. 9 Figura 2-9: Punto de acceso TP-Link. 9 Figura 2-10: Cable Ethernet RJ45. 10 Figura 2-11: Protoboard. 10 Figura 2-12: Cables Puente Macho-Macho. 10 Figura 2-13: Fuente de alimentación Micro USB. 11 Figura 2-14: Fuente de alimentación punto de acceso. 11 Figura 2-15: Módulo de alimentación Arduino. 11 Figura 2-16: Arduino IDE. 12 Figura 2-17: Win32DiskImager. 12 Figura 2-18: SDcardFormatter. 12 Figura 2-19: Putty. 13 Figura 2-20: GNU/Linux 13 Figura 2-21: Sistema Operativo Raspbian. 13 Figura 2-22: MQTT. 14 Figura 2-23: MQTT.fx. 14 Figura 2-24: Google Chrome. 15 Figura 2-25: Android Studio. 15 Figura 2-26: PostMan. 15 Figura 2-27: Spring. 15 xix Aplicación domótica en Android con OpenHAB para el control de los dispositivos del hogar Figura 2-28: Maven. 16 Figura 2-29: POM. 16 Figura 2-30: Spring Security. 16 Figura 2-31: OpenHAB. 16 Figura 2-32: PostgreSQL. 17 Figura 2-33: STUN Server. 17 Figura 2-34: AWS. 17 Figura 2-35: Swagger. 17 Figura 3-1: Logo OpenHAB. 19 Figura 3-2: Interfaces de OpenHAB. 25 Figura 3-3: Interfaz HomeBuilder. 27 Figura 3-4: Interfaz Paper UI. 28 Figura 3-5: Estructura de la interfaz HABPanel. 29 Figura 3-6: Interfaz Basic UI. 32 Figura 3-7: Interfaz API REST.