Artículo
Revista Ingeniería y Región. 2016; 15(1): 65-74

Implementation 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

Johan Julián Molina Mosquera1 y Arcelia Gutiérrez Méndez2

 

1 Ingeniero Electrónico de la Universidad Surcolombiana, Especialista en Informática y Telemática, Máster en Desarrollo de Aplicaciones para Móviles. Docente programa de Ingeniería Electrónica de la Universidad Surcolombiana. Correo electrónico : julian.molma@usco. edu. co
2 Ingeniera de Sistemas Universidad Antonio Nariño. Especialista en Teleinformática y Magister en Telemática. Docente de la Universidad Surcolombiana. Correo electrónico: arceliagm@gmail.com
 
Recibido: 30 julio 2015.
Aceptado: 30 abril 2016.

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 taijeta de desarrollo Arduino UNO. Esta taijeta 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; protocol; 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 andHC05 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 platfonn. 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 platfonn.


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 fij a 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 Master 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 los chip bluetooth se pueden utilizar de manera simple, segura a baj o 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 Phoney 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 tarj eta de desarrollo Arduino.

2. Etapas de Diseño e Implementation

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, Tarj eta Arduino UNO, ChipBTHC05y 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 Tarj eta 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 tarj eta. 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 alos pines Tx-Rx de la tarjeta Arduino.

En la figura 2, se observa el sensor de temperatura LM3 5 que se conecta a la tarj eta 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 mteractú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.

2.2 Arquitectura MVCy Caso de Uso

La Arquitectura Modelo Vista Controlador es un patrón que define la organización independiente del modelo (Obj etos y secuencia Lógica), La vista (Interfaz de usuario) intuitiva y agradable y el Controlador donde participan las Clases, métodos y funciones propias del lenguaje orientado a objetos (Java).

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 solicita el ingreso de la contraseña y el botón que valida esa información ingresada, en caso de que la contraseña ingresada sea incorrecta, se prohibirá el acceso para el control domótico; pero sí el ingreso de la contraseña es correcta, se establecerá la conexión Bluetooth punto apunto, 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 lectura y escritura de datos, es decir, que para la escritura, cada obj eto botón actúa en modo Toggle, enviando un caracter 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 aplicación compile y genere el archivo ejecutable con extensión “apk”, el cual se instalará en el Smartphone Samsung.

En el caso de uso de la fig.5 se explica cómo el usuario desde la aplicación móvil Android podrá sensar temperatura y controlar el encendido y apagado de luces

si hay un acceso permitido por contraseña y la conexió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.

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 obj etos 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, asi como aparece en el diagrama de la figura 7.

En la otra clase conec.java básicamente se crean y escuchan seis (6) objetos ToggleButton los cuales enví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.

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 Text View. El pseudo código se visualiza en la figura 9.

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(Rdayout. conec) respectivamente como se muestra en el diagrama de la figura 10, donde las actividades de java controlan las vistas en xml.

Cada archivo con extensión xml se guarda en recursos “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:

  1. Diagramas de flujo de escritura al lado de la aplicación móvil y al lado de lataijeta de control, como se muestra en la figura 10.
  2. En los diagramas de flujo de la figura 10 se observa que debe existir sincronismo entre ambos lados de la taijeta 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.

  3. 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 taijeta de control, está los interpreta, linealizay 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 permitió 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 microcon-troladorAtmega328.

3. Resultados

Realizando las pruebas de validación entre la aplicación móvil y la tap eta 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 DomApp. 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. Unicamente se podría acceder a la segunda interfaz, si la contraseña es correcta, así como se observa en la figura 14.

Establecido el socket de conexión y sincronismo entre dispositivos, se procede al control domótico. En la figura 15 se destacan los interruptores digitales que sirven para encender o apagar las luces leds ahorradores de energía de los distintos espacios en el hogar e igualmente 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 mej or 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_S5sghlvc&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ísicas a través de un dispositivo móvil.

Desde el emulador de Eclipse ADT no se podía ej ecu-tar 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 apunto, 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 desventaj a del Bluetooth es el corto alcance que tiene por la baj a potencia de transmisión que maneja.


5. 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.AEspañ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, E, Granados., L. E, 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, P, 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, E, 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