Professional Documents
Culture Documents
2015;13(1):179-190
Revista Ingeniera y Regin. 2015;13(1):179-190
Resumen
El presente proyecto se realiz con el fin de lograr el control y monitoreo remoto del sistema de luces de una
vivienda, construida a escala (1:10), que funciona con la red elctrica (110V), a travs de un telfono mvil
que cuente con sistema operativo Android. Se adecu una etapa de potencia para cada bombillo, la cual
ajusta la seal digital a la red elctrica. Se cre una aplicacin web mvil utilizando lenguaje de programacin
HTML5, dando la posibilidad de que dicha aplicacin sea vista desde diferentes dispositivos mviles a
travs de un navegador web o desde una aplicacin en un telfono mvil con sistema operativo Android.
Dicha aplicacin posee una interfaz grfica sencilla, en la que se muestra el nombre del lugar donde se
encuentra cada bombillo, adems, cuenta con una base de datos hecha en SQLite3, la cual, ensea el tiempo
que ste lleva encendido y da la opcin de introducir la potencia de cada bombillo, dando la posibilidad de
conocer el valor, en pesos, que el usuario debe pagar por la energa consumida de cada bombillo; esto se
hizo ya que las especificaciones de cada bombillo son diferentes.
Palabras clave: ARM mini2440; control de luces; monitoreo remoto; Android; SQLite3; HTML5; aplicacin web.
Abstract
The purpose of this project was to design and implement a lighting control and monitoring system for
housing, the system was built to a scale of (1:10), and works with an (110V) electrical network. It is operated
through a cellular phone with Android operating system. A power amplifier was adapted for each light buld,
which adjusts the digital signal to the electrical network. We created a mobile Web application using
HTML5 programming language making it possible for the application to be accessed from different mobile
[1] Magister docente. Universidad Surcolombiana, Neiva. Avenida Pastrana Carrera 1. jdavid@usco.edu.co
[2] Ingeniero Electrnico. Universidad Surcolombiana, Neiva. Avenida Pastrana Carrera 1. fernandat2130@gmail.com
[3] Ingeniero Electrnico. Universidad Surcolombiana, Neiva. Avenida Pastrana Carrera 1. faespa.88 @gmail.com
179
Revista Ingeniera y Regin. 2015;13(1):179-190 Diseo e Implementacin de un Sistema de Control y Monitoreo... / Quintero P. & Cols.
devices through either a navigator or a mobile application for Android. This application has a simple graphic
interface, which shows where the light bulb is located, as well as an SQLite3 database, which shows how
long the light bulb has been on for. This also provides an option introduce an the power output of each light
bulb, making it possible for the user to know the value, in pesos, to be paid for the electricity used. This was
undertaken because the specifications of each light bulb are different.
Key words: ARM mini2440, lighting control, remote control, Android; SQLite3; HTML5; Web application.
__________________________________________________________________________________
180
Diseo e Implementacin de un Sistema de Control y Monitoreo... / Quintero P. & Cols. Revista Ingeniera y Regin. 2015;13(1):179-190
cada una, logrando as un ahorro econmico (Mateu, nara la tabla, ya que los registros siguen almacena-
2004). dos, si no, las consultas no se podran realizar, y otro,
para ver los registros que estn siendo almacenados
en la base de datos. Al haber varios dispositivos co-
2. Metodologa nectados al servidor, se puede ver el cambio casi que
instantneo (ya que tiene un pequeo retardo) del es-
El sistema de control y monitoreo remoto de los tado de los bombillos, adems, el tiempo que stos lle-
bombillos se realiz mediante el uso del puerto GPIO van encendidos slo ser sincronizado cuando el
(ARMWorks, 2009) de la board ARM mini2440, la bombillo respectivo se apague. El esquema general del
cual, utiliza un circuito de potencia para acoplar los sistema se puede observar en la Figura 1.
elementos a la red elctrica. Esta tarjeta har las ve-
ces de servidor, y ser a travs de ella que se logre 2.1. Hardware
enviar y recibir las peticiones del cliente. En el puerto
GPIO se seleccionaron 5 pines como entrada y 5 pines El centro de control del sistema es la board ARM
como salida. En los pines de entrada se conectaron los mini2440. En este sistema embebido estar alojado todo
pulsadores y en los de salida los bombillos, los cuales el cdigo para el control y monitoreo del sistema de
van antecedidos por el circuito de potencia. Se hace luces de la vivienda construida a escala (1:10). Este
uso de un nano Router de marca TP-Link referencia sistema embebido contar en su periferia con compo-
TL-WR702N para que todo el circuito est en la mis- nentes electrnicos los cuales son requeridos para la
ma red, permitiendo la interaccin del sistema con el conexin y el correcto funcionamiento del sistema.
usuario.
2.1.1. Board ARM mini2440
Dado que es un sistema pensado para controlar las
luces de una casa remotamente (hogar domtico), se Es un dispositivo de origen Chino, el cual es distribui-
cambian los tradicionales interruptores por pulsadores, do, a nivel internacional, por compaas como
simulando interruptores digitales, los cuales al pulsarse, FriendlyARM e Industrial ARMWorks. Se podra de-
permitan al usuario encender o apagar el bombillo cir que se trata de un sistema de computacin verstil
manualmente. Todos los datos sern registrados en una y de propsito mltiple, pero con notables limitaciones
base de datos hecha en SQLite3 (Aguiar, 2006), en de recursos con respecto a un PC.
dnde se podr observar la hora y la fecha de encen-
dido y apagado de los bombillos, mostrar el bombillo Sorprende la arquitectura con la que viene la tarjeta,
que se encendi y el tiempo que ste lleva encendido. pues para ser un componente de baja potencia, trabaja
Esta base de datos estar alojada en el servidor. con tecnologa RISC (ARM920T de 32 bits), siendo
los ciclos de reloj mucho ms rpidos que su oponente
Para el diseo de control se trabaj desde un compu- CISC. Utiliza un micro-controlador fabricado por la
tador de escritorio que contara con sistema operativo empresa surcoreana Samsung (S3C2440A), CMOS
Linux (en este caso se utiliz la distribucin OpenSuse de 32 bits. Tiene dos memorias SDRAM de 32 Mb
en su versin 12.3), ya que la compilacin del cdigo (64 Mb total), una memoria NAND Flash (o almace-
slo se puede hacer a travs de la consola de este namiento) de 1024 Mb, una memoria NOR Flash de 2
sistema. Mb y un chip de red Ethernet. Cuenta con una serie
de interfaces (ver Figura 2) las cuales permiten reali-
La aplicacin web se encargar de la interfaz grfica zar diferentes tareas. Dentro de las ms destacadas
para que el usuario pueda interactuar cmodamente tenemos: puerto GPIO de 34 pines, conector RJ-45,
con el control de los bombillos, ya sea accediendo a la conector USB esclavo tipo B hembra y una interfaz
aplicacin desde un telfono mvil con tecnologa de alimentacin de 5V (ARMWorks, 2009).
Android o desde cualquier dispositivo mvil con
navegador web ingresando la direccin IP del servidor Al ser una tarjeta de desarrollo, son mltiples las
(192.168.1.230). Desde ah se podr observar el tiem- tareas que programadores o desarrolladores pue-
po real que lleva encendido cada bombillo, y, al intro- den hacer, teniendo la posibilidad de probar ah mis-
ducir la potencia, en wattios, el usuario podr saber mo sus aplicaciones, adems, su robustez y su precio
cunto dinero debe pagar hasta ese momento por el reducido hacen que esta tarjeta sea de gran utilidad
consumo de los bombillos. Se crearon dos botones: uno en el campo de la docencia y la investigacin
para eliminar la tabla de registros, pero esto slo elimi- (Zablaza, 2011).
181
Revista Ingeniera y Regin. 2015;13(1):179-190 Diseo e Implementacin de un Sistema de Control y Monitoreo... / Quintero P. & Cols.
La tarjeta est construida sobre una tarjeta de 10 x 10 unos pines de salida (para encender y apagar los
cm, y cuenta con una gran variedad de interfaces y bombillos a travs del dispositivo mvil) y otros de en-
sistemas de almacenamiento, los cuales, estn monta- trada (para encender y apagar los bombillos a travs
dos sobre la placa. Incluye una pantalla LCD de 3.5, del pulsador).
la cual est sobre la tarjeta y es sujetada a travs de
tornillos, en caso de que el usuario quiera quitarla para, Para ser usado como salida se defini los siguientes
ya sea ver sus referencias o trabajar, no tenga ningn pines: CON4_PIN9, CON4_PIN13, CON4_PIN17,
inconveniente y su interaccin sea mucho ms senci- CON4_PIN21, CON4_PIN25.
lla. El PCB (tarjeta de circuito impreso) de la tarjeta
est diseado para ser de 4 capas, adoptando tecnolo- Para ser usado como entrada se defini los siguientes
ga ENIG y cableado profesional de igual longitud para pines: CON4_PIN12, CON4_PIN16, CON4_PIN20,
asegurar la integridad de las seales del cable de seal CON4_PIN24, CON4_PIN28.
clave.
Se dispuso as, de forma intercalada, dado que no se
Los pines del puerto GPIO pueden ser usados tanto consigui un bus para acoplar los pines del puerto
de entrada como de salida. Para este caso se defini GPIO. En vez de eso, a cada pin se le adecu un pin
182
Diseo e Implementacin de un Sistema de Control y Monitoreo... / Quintero P. & Cols. Revista Ingeniera y Regin. 2015;13(1):179-190
de una regleta para lograr tener un poco ms largo los que los circuitos que se vayan a integrar con dicha tar-
pines del puerto GPIO. El pin 3 ser la tierra comn jeta no sufran dao alguno, y menos la propia tarjeta de
para los pulsadores. desarrollo. El circuito de acople que se construy fue
una etapa de potencia para acoplar la seal digital a la
2.1.2. Circuito de acople red elctrica, debido a que con la tarjeta solo se consi-
guen sacar 5V, los cuales no son suficientes para en-
Dado que el sistema embebido es un elemento de baja cender un bombillo que trabaja con 110V. Se realiz una
potencia, se dise un circuito de acople, de tal forma (1) etapa de potencia para cada bombillo (ver Figura 3).
183
Revista Ingeniera y Regin. 2015;13(1):179-190 Diseo e Implementacin de un Sistema de Control y Monitoreo... / Quintero P. & Cols.
Figura 4. Nano router TP-Link TL-ER702N. Figura 5. Entorno grfico Qtopia 2.2.0
184
Diseo e Implementacin de un Sistema de Control y Monitoreo... / Quintero P. & Cols. Revista Ingeniera y Regin. 2015;13(1):179-190
Dado que el protocolo de red multiplataforma TELNET Debido a que en los sistemas embebidos es imposible
no cumpli con las expectativas esperadas, se decidi compilar archivos (dada la limitacin de recursos), se
utilizar otro protocolo de red el cual fuera compatible utiliz un compilador cruzado.
con la tarjeta y permitiera la transmisin y recepcin
de datos completa y segura. Para esto, se utiliz el Para este caso se utiliz el compilador cruzado ARM
protocolo de red OpenSSH (Open Secure Shell, Abrir LINUX GCC 4.3.2, debido a que es el nico que so-
intrprete de rdenes segura), el cual es soportado por porta la tarjeta embebida. Existen varias versiones de
la tarjeta. este compilador cruzado, pero la versin 4.3.2 fue la
nica soportada por la board ARM mini2440, las otras
La board ARM mini2440 cuenta con una direccin IP versiones presentaron fallos a la hora de la compila-
la cual se utiliza para acceder a sta y funciona como cin. Este compilador recibe un programa fuente de
servidor. La direccin para tener acceso es cualquier de los lenguajes de programacin anterior-
192.168.1.230. Se debe aclarar que para lograr tener mente mencionados y genera un programa ejecutable
acceso se debe estar en red con el servidor de la tar- binario en el lenguaje de mquina donde ha de correr,
jeta. A travs de esta direccin IP se puede acceder para este caso genera un archivo ejecutable con ex-
de forma remota a la tarjeta desde un terminal. tensin CGI, permitiendo la comunicacin entre el sis-
tema embebido y la aplicacin externa.
Para llevar a cabo la transferencia de archivos se uti-
liz un programa llamado FileZilla. Por medio de ste 2.4.3. Base de datos SQLite3
es posible llevar a cabo una conexin con la mquina a
travs de diferentes protocolos (FTP, SFTP, FTPS, La base de datos SQL soportada por la tarjeta es la
FTPES). Este cliente multiplataforma sirve para ser SQLite3. Este es un sistema de gestin de bases de
usado tanto en versiones de Windows como en versio- datos relacionales. Es de dominio pblico, escrito en len-
nes de Linux. guaje C y muy ligero. Soporta diferentes plataformas
como Windows, Linux y Mac OS. Este tipo de base de
2.4. Herramientas de desarrollo empleadas datos se le puede llamar empotrada, ya que no inician
un servicio en una mquina independientemente de la
Lograda la comunicacin remota, se utiliz algunas aplicacin, pudindose enlazar directamente al cdigo
herramientas las cuales eran primordiales para el de- fuente o bien utilizarse en forma de librera (#include),
sarrollo y culminacin del proyecto. que es la manera como se utiliz en este caso.
2.4.1. Sistema operativo PC: OpenSUSE Si se quiere usar la base de datos SQLite para la board
ARM en aplicaciones con lenguaje C/C++ se debe
Dado que la tarjeta solo se puede compilar desde un incluir la librera en la cabecera del proyecto (#include
sistema operativo con Linux, en este caso se utiliz la sqlite3.h) y en la lnea de comandos, cuando se haga la
distribucin OpenSUSE en su versin 12.3. Se eligi compilacin del archivo, se debe agregar la opcin l
este SO ya que su interfaz grfica tiene bastante simi- sqlite3. Esta instalacin se debe realizar desde un sis-
litud con Windows, haciendo su manejo mucho ms tema operativo Linux.
sencillo, adems de que tiene la opcin de que el usua-
rio pueda elegir entre dos (2) entornos de escritorio: 2.5. Diseo del programa
Gnome o KDE. Es gratuito, pues se puede descargar
desde su pgina oficial en internet, totalmente estable Debido a que se desea controlar los bombillos de una
y de fcil instalacin (se graba la imagen obtenida en casa y al mismo tiempo llevar los registros de encendi-
un CD dejndolo auto-arrancable y siguiendo los pa- do y apagado de stos en una base de datos, se realiz
sos de instalacin), adems, cuenta con una ampla cdigo por separado, generando archivos para cada
comunidad de usuarios los cuales brindan soporte. una de las funciones.
2.4.2. Compilador cruzado ARM LINUX GCC 4.3.2 La funcin gpiosfinal.cgi consulta el estado de cada
bombillo y recibe las ordenes que el usuario desea rea-
Normalmente la board no tiene la misma arquitectura lizar desde el celular, si desea prender o apagar un
que una computadora de propsito general. El cdigo bombillo este verifica el estado y realiza la accin co-
fuente debe ser compilado para ser ejecutado en una rrespondiente guardando el estado de cada bombillo,
plataforma distinta a aquella en la que ste se ejecuta. esta funcin tambin se encarga de mostrar la tabla
185
Revista Ingeniera y Regin. 2015;13(1):179-190 Diseo e Implementacin de un Sistema de Control y Monitoreo... / Quintero P. & Cols.
que contiene la base de datos de la aplicacin y de Para que el usuario visualice los bombillos que se en-
eliminar la misma. El programa gpiosfinal.cgi es el cienden y apagan remotamente, adems de la base de
encargado de manejar las acciones que realiza el usua- datos, se cre una aplicacin web con lenguaje HTML5,
rio con la aplicacin desde el celular. la cual cuenta con una interfaz grfica sencilla y de
fcil uso. Dicha aplicacin web se cre a partir del
La funcin start.cgi se encarga de iniciar la aplica- framework de LungoJS. Este framework proporciona
cin. Esta funcin siempre est en ejecucin, adems, las herramientas necesarias para la creacin de pgi-
recibe las pulsaciones que realiza el usuario. Verifica nas web para que sean visibles desde los diferentes
en qu estado se encuentran los bombillos y realiza la dispositivos mviles (telfonos, tabletas y PC).
accin correspondiente, seguidamente, guarda el es-
tado de los bombillos y los registra en una tabla. Dicha Dado que se debe visualizar en un telfono mvil con
tabla ser la base de datos almacenada en el servidor. sistema operativo Android, fue necesario utilizar el
Este programa, start.cgi, se ejecuta desde el momento entorno de desarrollo Eclipse para acoplar la aplica-
en que se inicia la tarjeta y es el encargado de iniciar cin y generar una aplicacin ejecutable para Android.
la aplicacin. Si este archivo no es ejecutado, el siste- Para Lograr esto, el SDK de Android proporciona una
ma no funcionar. clase denominada WebView para acoplar pginas web
(ver Figura 7), ya sea obtenindolas a travs de una
Para entender mejor el funcionamiento de los pro- URL o bien recibiendo el html directamente desde una
gramas se cre un diagrama de arquitectura (ver Activity.
Figura 6).
Las aplicaciones web son aplicaciones que corren so- Recopilando todo lo anteriormente mencionado, se
bre un navegador web, en este caso, sobre el navegador consigui construir un sistema capaz de controlar y
web del dispositivo mvil. monitorear remotamente el sistema de luces de una
186
Diseo e Implementacin de un Sistema de Control y Monitoreo... / Quintero P. & Cols. Revista Ingeniera y Regin. 2015;13(1):179-190
vivienda, a travs de la board ARM mini2440, y cuya quiera hacerlo. Adems, la aplicacin web cuenta con
interfaz grfica puede ser vista desde cualquier dispo- un botn de reset, el cual permite al usuario eliminar la
sitivo mvil que cuente con un navegador web (ver tabla de la base de datos y empezar nuevamente a
Figura 8). tomar el control del consumo de energa.
El usuario puede tener un control absoluto sobre los La aplicacin web consta de tres (3) opciones de
bombillos, pudiendo encenderlos o apagarlos ya sea men: Control Bombillos, el cual muestra el lugar
de forma manual o remotamente, de todos modos, de dnde se llevar a cabo el control de encendido/apa-
cualquiera de las dos formas el cambio ser registrado gado de los bombillos, haciendo dicho control a tra-
en la base de datos y podr consultarla cada vez que vs de un botn deslizable de derecha a izquierda y
187
Revista Ingeniera y Regin. 2015;13(1):179-190 Diseo e Implementacin de un Sistema de Control y Monitoreo... / Quintero P. & Cols.
viceversa; Historial (ver Figura 9), el cual es dnde se y Autores, que es donde se muestra la informacin de
muestra el tiempo real que lleva encendido cada bom- los desarrolladores del proyecto, incluyendo su pgina
billo, da la opcin de introducir la potencia del bombillo oficial a las redes sociales como Facebook y Twitter.
para arrojar el precio que se debe pagar hasta el mo-
mento por el consumo de ese bombillo y aloja dos (2) Se construy una caja metlica (ver Figura 10) en don-
botones para ver o eliminar la tabla de la base de datos; de se introdujo la board ARM mini2440 y la etapa de
Figura 10. Caja metlica para la board ARM mini2440 y la etapa de potencia.
188
Diseo e Implementacin de un Sistema de Control y Monitoreo... / Quintero P. & Cols. Revista Ingeniera y Regin. 2015;13(1):179-190
potencia. Esto con el fin de facilitar las conexiones, La clase proporcionada por el SDK de Android de-
tanto de los bombillos como entre la etapa de potencia nominada WebView facilita la creacin de aplicacio-
y la tarjeta. Esta caja metlica tiene unas medidas de nes web a partir de una pgina web, dndole al usuario
15x15x10 cm. Se adecu un ventilador de 12V el cual la posibilidad de programar en un lenguaje diferente
va conectado directamente a la board a travs de un al nativo (Java), brindando la gran ventaja de que
cable USB. En la parte de arriba se encuentra la pan- pueda ser vista en diferentes telfonos mviles con
talla tctil de la board, la cual es protegida por un acrlico sistema operativo Android sin la necesidad de crear
transparente, esto con el fin de que el usuario o cual- un cdigo para cada dispositivo y habilitar, con variar
quier otra persona no pueda manipularla directamen- algunos parmetros, el uso de JavaScript dentro de
te. En el frente de la caja se encuentran los conectores, la pgina web.
tanto de los bombillos como el de la corriente para
110V. Dado el costo elevado para el acople de la tarje- La base de datos admitida por la tarjeta embebida es
ta con una casa de verdad, se decidi construir una SQLite3. A pesar de que se supone que es de bajo
casa a escala (1:10) la cual trabajara con la red elc- rendimiento, sirve perfectamente para aplicaciones que
no tengan mucho manejo de datos.
trica de 110V (ver Figura 11).
5. Referencias bibliogrficas
4. Conclusiones
1. Aguiar, E., 2006. Pruebas de SQLite en un Sistema
Se implement satisfactoriamente el sistema de control Linux - Gua para iniciarse, 1-9 pp.
y monitoreo remoto de los bombillos de una casa, gra-
cias al uso de un sistema embebido como unidad central 2. Betancourt, L., Gmez, N., 2009. Implementacin
de procesamiento. La importancia de ste radica en la de un Sistema Teleoperado con Reaimentacin Vi-
gran variedad de posibilidades que se pueden realizar sual para Evasin de Obstculos de un Robot Mvil.
utilizando una tarjeta de desarrollo como esta.
3. Mateu, C., 2004. Desarrollo de Aplicaciones Web.
La creacin de aplicaciones web con lenguaje de pro- Barcelona, 212-316 pp.
gramacin HTML5 facilita el acoplamiento con cual-
quier dispositivo mvil, dando la posibilidad de que la 4. Zablaza, F., 2011. Representacin de Variables Elc-
aplicacin pueda ser vista desde diferentes dispositi- tricas en el Sistema Embebido mini2440. Pamplona,
vos a travs de su navegador web. Adems, con va- 9-10 pp.
riar algunos parmetros en el archivo hecho en HTML5
se puede construir una aplicacin capaz de soportar 5. Donelson, J., 2008. Building and Installing Software
diferentes sistemas operativos. for the mini 2440, 20 pp.
189
Revista Ingeniera y Regin. 2015;13(1):179-190 Diseo e Implementacin de un Sistema de Control y Monitoreo... / Quintero P. & Cols.
6. Herrera, L., Snchez, S., 2012. Anlisis, Diseo e 10.ISO. ISO/IEC 18000-6: Information technology
Implementacin de una Tarjeta de Desarrollo Utili- automatic identification and Data capture techniques
zando el Mdulo Mini2440 Basado en un Micro-Con- Identificacin por radiofrecuencia (RFID) a nivel
trolador ARM9 para el Laboratorio en la Carrera de de artculo Parte 6: Parmetros de comunicacin
Inegniera Electrnica de la Universidad Politcnica del interfaz aire a 860960 MHz.
Salesiana.
11. Casadomo, 2003. El Portal de la Domtica y el Ho-
7. Industrial ARMWorks, 2009. Mini2440 Hardware gar Digital. Consultado el 11 de Septiembre de 2013.
Essentials. Estados Unidos, 1-20 pp. http://www.casadomo.com.
8. Finkenzeller, K. RFID Handbook: Fundamentals and 12.Llinares, A., 2013. Sistemas Embebidos. Consulta-
Applications in Contactless Smart Cards and Identifi- do el 12 de Febrero de 2014. http://server-die.alc.upv.
cation. John Wiley & Sons (May, 2012). es/asignaturas/PAEEES/2005-06/A07%20-%20
Sistemas%20Embebidos.pdf, 5pp.
9. Hozak, K, Collier, David A, RFID as an Enabler of
Improve Manufacturing Performance, Decision
Sciences, Volume 39 Number 4 November 2008.
190