Secciones
Referencias
Resumen
Servicios
Descargas
HTML
ePub
PDF
Buscar
Fuente


Implementación de un prototipo de sistema domótico ahorrador de energía controlado desde aplicación móvil Android
Implementation of a power saving home automation system prototype controlled by an Android mobile application
Ingeniería y Región, vol.. 15, 2016
Universidad Surcolombiana

Artículos de investigación

Ingeniería y Región
Universidad Surcolombiana, Colombia
ISSN: 1657-6985
ISSN-e: 2216-1325
Periodicidad: Semestral
vol. 15, 2016

Recepción: 30 Julio 2015

Aprobación: 30 Abril 2016

Autor de correspondencia: juhan.molina@usco.edu.co

Resumen: El objetivo del proyecto es implementar un prototipo de sistema domótico ahorrador de energía eléctrica que realice el control desde una aplicación nativa Android. La aplicación realiza el control automático de tipo ON-OFF, el cual permite que se activen o desactiven los actuadores ahorradores de energía que se conectan al sistema de desarrollo microcontrolado. Igualmente, la aplicación móvil tiene la posibilidad de Sensar la magnitud física de temperatura en tiempo real. La comunicación Full dúplex punto a punto entre equipo móvil y chip BT HC05 se establece a través del protocolo inalámbrico Bluetooth, en donde se sincronizan los dispositivos para permitir la transmisión de caracteres de control desde el Smartphone hasta la tarjeta de desarrollo Arduino UNO. Esta tarjeta es de hardware libre y utiliza el microcontrolador Atmega328 de la familia Atmel. La Plataforma de software libre empleada para el desarrollo de la aplicación móvil nativa fue ECLIPSE ADT, la cual utiliza lenguaje de programación JAVA. El diseño de la interfaz de usuario de la aplicación móvil es segura, intuitiva y agradable.

Palabras clave: Transmisión inalámbrica, protocolo, equipo inteligente, microcontrolador, monitoreo, plataforma de desarrollo.

Abstract: The goal of this project is to implement a prototype for an energy saving domotic system which performs control from a native Android application. Automatic control done by the application is of type ON-OFF. which allows to activate or deactivate the energy saving actuators connected to the system’s microcontroller. The mobile application has also the ability to sense the physical magnitude of the temperature in real-time. The point-to-point full duplex communication between the mobile device and HC05 BT chipset, via Bluetooth wireless protocol, allows an efficient transmission of control from the first one to the Arduino UNO development board. This open-source hardware card uses the Atmel ATmega328 microcontroller family. The native mobile application was developed in Java, using ECLIPSE ADT as the open-source software development platform. User interface design was driven by a single goal; to make a safe, intuitive, and easy- to-use tool to control the domotic system from a mobile device.

Keywords: Wireless transmission, protocol, smart phone, microcontroller, monitoring, development platform.

1. Introducción

La domótica como sistema automatizado de viviendas, suministra comodidad y confort al usuario, gestiona de manera eficiente la energía, la seguridad, el bienestar y la intercomunicación. Utilizar protocolos de transmisión inalámbrica permite controlar de forma remota diversas acciones (Kaur, 2010), el abrir y cerrar puertas, encender y apagar luces, ayuda considerablemente al ser humano en labores diarias, y mucho más a las personas con discapacidad. Desde los inicios de la telefonía fija se ha investigado en el campo de la domótica (Wong, 1994), pero en la actualidad dado el uso masivo de dispositivos móviles y la gran variedad existente de los mismos, se han desarrollado estudios y avances, tipificadas por las ventajas y la facilidad en el uso y acceso a la información que provee Internet (Tomas, 2012). Piyare & Tazil (2011) fueron de las primeras personas que desarrollaron aplicaciones para domótica utilizando protocolo de transmisión Bluetooth con teléfonos Symbian. Se han efectuado estudios de Máster en “Sistemas telemáticos e informáticos” de la universidad de Juan Carlos (URJC) donde utilizan lenguaje J2ME para desarrollar “Hardware para domótica”. Ahora estos sistemas operativos como Symbian y J2ME están descontinuados y el chip bluetooth se pueden utilizar de manera simple, segura a bajo costo y con mayor capacidad en potencia de transmisión con capacidad de adaptación a los distintos sistemas operativos existentes en el mercado de Smartphone como iOS, Windows Phone y el gran líder Android (Josh & Somsak, 2012).

Razzak, et al., (2010) propuso la arquitectura “Web of Domotics” donde se da la posibilidad de adquirir información de dispositivos en un estándar, potencia de consumo, conexión a formatos de datos y habilitación de usuarios para controlar dispositivos desde la Web (Darcey & Shane, 2012).

Moumtadi, et al., (2014) desarrolla aplicaciones para dispositivos móviles donde utilizan comandos de voz para activar funciones en edificios inteligentes.

Barrera, et al., (2012) realiza una investigación que trata de la evaluación y selección de alternativas destinadas a diseñar prototipos de sistema domótico de bajo costo para aplicaciones didácticas.

En este artículo se muestra el desarrollo de una aplicación móvil Android en lenguaje de programación Java, diseñada desde la arquitectura MVC (Modelo Vista Controlador) para controlar desde la interfaz de usuario el encendido y apagado de LEDs y visualizar el estado de temperatura a tiempo real del prototipo de casa construida. Utilizado El Chip Bluetooth BT HC05 clase A, como dispositivo que permite establecer la comunicación inalámbrica síncrona de corto alcance entre Smartphone y tarjeta de desarrollo Arduino.

2. Etapas de diseño e implementación

2.1 Selección de dispositivos y diseño electrónico

Los dispositivos seleccionados para el diseño electrónico fueron Diodos Emisores de Luz LEDS como actuadores ahorradores de energía, Tarjeta Arduino UNO, Chip BT HC05y sensor LM35, se escogieron por el uso comercial, bajo costo y fácil manejo, en la figura 1. Se observa la conexión básica de Chip Bluetoothy Led a Tarjeta Arduino, como la aplicación móvil controla el encendido y apagado de cinco (5) LEDs, estos se conectan por el ánodo a los pines nueve (9), diez (10), once (11), doce (12) y trece (13), respectivamente; y los cátodos se conectan al pin común GND de la tarjeta. El Chip Bluetooth tiene 4 pines, dos (2) son de polarización y los otros dos (2) son de comunicación serial. La correcta conexión de los pines de comunicación se realiza colocando los pines Rx-Tx del chip a los pines Tx-Rx de la tarjeta Arduino.


Figura 1.
Figura 1. Conexión BT HC05 y Led a Tarjeta Arduino

En la figura 2, se observa el sensor de temperatura LM35 que se conecta a la tarjeta por los dos (2) pines de polarización y un (1) pin de entrada de datos Analógicos (AO), después de emparejar la comunicación bluetooth síncrona, se verificarán los datos de temperatura en tiempo real en la interfaz del móvil, el cual actúa como instrumento de medición virtual.

El dispositivo final que muestra la interfaz de usuario para que interactúe con el diseño electrónico de actuadores Leds y sensor de temperatura, es el Smartphone Samsung Galaxy S4 el escogido para dicho objetivo y que aparece en la figura 3.


Figura 2.
Figura 2. Conexión Sensor LM35 a Tarjeta Arduino


Figura 3.
Figura 3. Samsung Galaxy S4

2.2 Arquitectura MVC y Caso de uso

La Arquitectura Modelo Vista Controlador (Figura 4) es un pa­trón que define la organización independiente del mo­delo (Objetos y secuencia Lógica), La vista (Interfaz de usuario) intuitiva y agradable y el Controlador don­de participan las Clases, métodos y funciones propias del lenguaje orientado a objetos (Java).


Figura 4.
Figura 4. Modelo vista controlador de aplicación móvil android

En el modelo se especifican las variables de entradas y salidas de datos, establecimiento de conexión Bluetooth, accionamiento de actuadores y sensor, todos actuando síncronamente como algoritmo lógico que procesa información desde sus periféricos.

En la vista se ilustra la interfaz de usuario, la primera interfaz muestra la identificación de la aplicación con el icono de acceso que se observa en la parte superior derecha, también aparece un cuadro de texto que so­licita el ingreso de la contraseña y el botón que valida esa información ingresada, en caso de que la contra­seña ingresada sea incorrecta, se prohibirá el acceso para el control domótico; pero sí el ingreso de la con­traseña es correcta, se establecerá la conexión Bluetooth punto a punto, emparejando las direcciones MAC del Smartphone y el chip BT HC05 conectado a tarjeta Arduino, permitiendo el acceso a la segunda interfaz. En esta ya se realiza control domótico de lec­tura y escritura de datos, es decir, que, para la escritu­ra, cada objeto botón actúa en modo Toggle, enviando un carácter distinto de encendido o apagado, mientras que en lectura se debe oprimir el objeto imagen del termómetro para que se muestren los valores de la temperatura a tiempo real.

En el controlador se especifican las clases principales, métodos, socket de conexión, funciones Java, diseño de interfaz en XML, habilitación del Bluetooth desde el Manifest y los recursos necesarios para que la apli­cación compile y genere el archivo ejecutable con ex­tensión “apk”, el cual se instalará en el Smartphone Samsung.

En el caso de uso de la fig.5 se explica cómo el usua­rio desde la aplicación móvil Android podrá sensar tem­peratura y controlar el encendido y apagado de luces si hay un acceso permitido por contraseña y la co­nexión inalámbrica (protocolo de transmisión Bluetooth) es estable con la tarjeta controladora Atmega328, la cual tiene acoplados los dispositivos actuadores (LEDs), sensor de temperatura y Chip Bluetooth HC05.


Figura 5.
Figura 5. Caso de uso

2.3 Desarrollo de aplicación android

La plataforma utilizada fue Eclipse ADT, esta se compone de un conjunto de herramientas de programación de código abierto para desarrollar «Aplicaciones de Cliente Enriquecido». Es típicamente usada para desarrollar entornos de desarrollo integrados (del inglés IDE), como el IDE de Java llamado Java Development Toolkit (JDT) (Friesen, 2011).

Según se muestra en la figura 6, fue necesario crear dos clases en java. En la clase MainActivity.java se crean y escuchan los objetos EditText y Button, el primero para ingresar la contraseña y el segundo para validar la información, si la contraseña es correcta, se habilitara el socket de conexión entre las direcciones físicas MAC del dispositivo móvil y Chip Bluetooth BTHC05 conectado a tarjeta controladora, seguidamente se establecerá el Intent para direccionar a la clase Conec.java, desde la cual se controlan los eventos de la vista Conec.xml, así como aparece en el diagrama de la figura 7.


Figura 6.
Figura 6. Partes de la aplicación


Figura 7.
Figura 7. Validación de Clave y Conexión a Clase

En la otra clase conec.java básicamente se crean y escuchan seis (6) objetos ToggleButton los cuales en­vían datos utilizando la función outStream.write (msgBuffer), para que así se posicionen los indicadores luminosos en estado encendido o apagado. Para cada atención al evento del objeto mencionado, su funcionalidad es como aparece en el diagrama de la Figura 8.


Figura 8.
Figura 8. Función del Objeto ToogleButton

También se crea y se escucha un (1) objeto Button, el cual habilita la recepción de los datos que provienen del sensor LM35 utilizando la función inStream = btSocket.getInputStream() y observando el resultado de la temperatura en el objeto TextView. Él pseudo código se visualiza en la figura 9.


Figura 9.
Figura 9. Función run( ) al invocar Imagen Termómetro tipo Button

En el diseño de la aplicación, para cada clase java (Darcey & Shane, 2012), se crea una Interfaz xml, invocándola con la función: setContentView (R.layout.activity_main)y setContentView(R.layout. conec) respectivamente como se muestra en el diagra­ma de la figura 10, donde las actividades de java con­trolan las vistas en xml.


Figura 10A
Figura 10A. Diagrama de Actividades y control de Vistas

Cada archivo con extensión xml se guarda en recur­sos “res” de la carpeta Layout y finalmente para que sea efectiva la conexión Bluetooth, se habilitan los permisos desde el manifest.

2.4 Arquitectura de software

En Pro de estandarizar el diseño de la aplicación para que sea adaptable a cualquier tecnología de dispositivos móviles, fue preciso diseñar un patrón de arquitectura de software que cumpliera con los siguientes criterios:

a. Diagramas de flujo de escritura al lado de la aplicación móvil y al lado de la tarjeta de control, como se muestra en la figura 10.

En los diagramas de flujo de la figura 10 se observa que debe existir sincronismo entre ambos lados de la tarjeta controladora y el dispositivo móvil. Para que se pueda efectuar la recepción de caracteres y ejecutar las acciones sobre los actuadores luminosos, se debe lograr la transmisión limpia y efectiva de caracteres digitales establecidos desde los botones de la interfaz de la aplicación móvil.

b. Diagramas de flujo de lectura al lado de la aplicación móvil y al lado de la tarjeta de control, según figura 11.

Sucede también en la figura 11 que después de estar sincronizados los dispositivos, para que se pueda efectuar la recepción de caracteres y atender el botón de ejecución de lectura de temperatura al lado de la aplicación móvil, se debe tener una transmisión digital libre de errores desde el sensor LM35 que toma la magnitud física de temperatura, envía esos datos a la tarjeta de control, está los interpreta, linealiza y procesa, para que finalmente se envíen por el chip BT HC05 en retomo a la interfaz, visualizando el resultado en una etiqueta de la aplicación móvil.

2.5 Programación en arduino

Arduino como plataforma de hardware libre permitieron acceder a códigos que se pudieron adaptar a los requerimientos del proyecto domótico, a continuación, se indica el pseudocódigo utilizado para el microcontrolador Atmega328.


Figura 10B.
Figura 10B. Diagramas de escritura

3. Resultados

Realizando las pruebas de validación entre la aplicación móvil y la tarjeta de control Atmega328 de Arduino UNO con sus respectivos componentes conectados según figura 16, se comprobó el correcto funcionamiento en la lectura y escritura de datos. Siguiendo cada paso, desde la instalación del ejecutable de extensión “apk”, se observa en la figura 12 el icono de acceso directo llamado Dom App. Al pulsar el icono, se accede a la primera interfaz, en la figura 13 aparece el toast “PROHIBIDO EL INGRESO, INTENTE NUEVAMENTE”, esto se debe a que al momento de validar la información el botón (imagen de llave), encontró que el ingreso de esos caracteres por la caja de texto era equivocado. Únicamente se podría acceder a la segunda interfaz, si la contraseña es correcta, así como se observa en la figura 14.


Figura 11A.
Figura 11A. Diagrama de lectura


Figura 11B.
Figura 11B. Pseudocódigo para Arduino


Figura 12.
Figura 12. Icono Dom App


Figura 13
Figura 13. Primera Interfaz- No Acceso


Figura 14.
Figura 14. Primera Interfaz. Acceso Permitido


Figura 15.
Figura 15. Segunda Interfaz. Control Domótico


Figura 16
Figura 16. Estructura del sistema domótico

Establecido el Socket de conexión y sincronismo entre dispositivos, se procede al control domótico. En la fi­gura 15 se destacan los interruptores digitales que sir­ven para encender o apagar las luces leds ahorradores de energía de los distintos espacios en el hogar e igual­mente aparece la imagen del termómetro digital que al momento de pulsarla se visualiza en una etiqueta el valor de la temperatura en grados centígrados.

Se observa mejor el resultado de la robustez de la aplicación de control domótico, en el gestor de videos de YouTube, 2014. https://www.youtube.com/watch?v=9U_S5sghIvc&feature=youtu.be

4. Conclusiones

Se resolvió el problema de investigación, de cómo se podría controlar el encendido y apagado de artefactos y además como se podrían leer datos de variables físi­cas a través de un dispositivo móvil.

Desde el emulador de Eclipse ADT no se podía ejecutar la aplicación ya que no permitía establecer el socket de conexión bluetooth. Solo se ejecutaba la aplicación desde dispositivos físicos móviles o Smartphone.

Con la lectura y escritura eficiente de datos en smartphone utilizando protocolo de transmisión inalámbrico Bluetooth punto a punto, seguramente que se puede aplicar a otros campos del conocimiento como la Robótica, Instrumentación Biomédica, Control y automatización Industrial.

Se puede mejorar la aplicación utilizando otros protocolos de transmisión inalámbrica como ZigBee, Wifi y GPS ya que una desventaja del Bluetooth es el corto alcance que tiene por la baja potencia de transmisión que maneja.

Referencias bibliográficas

Barrera, D. M., Londoño., O. N., Carvajal, J., Fonseca, A., (2012). Análisis y diseño de un prototipo de sistema domótico de bajo costo. Analysis and design of a low-cost home automation prototype system. Revista Facultad de Ingeniería Universidad de Antioquia, p 117-128

Darcey, L., Shane, C., (2012). Android 4. Ediciones Anaya Multimedia, Grupo Anaya, S.A, España, p 40 -90

Friesen, J., (2011). Java para Desarrollo Android. Ediciones Anaya Multimedia. Grupo Anaya, S.A España, p 50-200

Kaur, I., (2010). Microcontroller based home automation system with security. International Journal of Advanced Computer Science and Applications, Vol. 1, No.6, p.60-65

Moumtadi, F., Granados., L. F., Delgado, H. J., (2014). Activación de funciones en edificios inteligentes utilizando comandos de voz desde dispositivos móviles. Function Activation on Intelligent Buildings Using Mobile Devices through Voice Commands. Ingeniería, investigación y tecnología, Vol 15, No 2, p 175-186

Piyare, R., Tazil, M., (2011). Bluetooth based home automation system using cell phone, IEEE ISCE, p 192-195

Josh, R, Somsak, S., (2012). Exploiting Bluetooth on Android Mobile Devices for Home Security Application

Tomas, G. J., (2012). El gran Libro de Android, Marcombo, S.A ediciones técnicas, Barcelona, p 43-377

Razzak, F., Bonino, D., Corno, F., (2010). Mobile interaction with smart environments through linked data. Paper presented at the Systems Man and Cybernetics International Conference on

Wong, E.M., (1994). A phone-based remote controller for home and office automation. IEEE Transactions on Consumer Electronics, Vol. 40 p 28-34

Notas de autor

juhan.molina@usco.edu.co



Buscar:
Ir a la Página
IR
Modelo de publicación sin fines de lucro para conservar la naturaleza académica y abierta de la comunicación científica
Visor de artículos científicos generados a partir de XML-JATS4R