sistema de control mediante mensajes sms y microcontroladores
sistema de control mediante mensajes sms y microcontroladores
sistema de control mediante mensajes sms y microcontroladores
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
Facultad <strong>de</strong> Ingeniería - UNMDP Sistema <strong>de</strong> Control <strong>mediante</strong> <strong>mensajes</strong> SMS y micro<strong>control</strong>adores<br />
SISTEMA DE CONTROL MEDIANTE MENSAJES SMS<br />
Y MICROCONTROLADORES<br />
Resumen—Este trabajo tiene por objeto comentar<br />
el <strong>de</strong>sarrollo <strong>de</strong> un Sistema <strong>de</strong> Control por<br />
<strong>mensajes</strong> SMS que permite <strong>control</strong>ar dos salidas y<br />
adquirir dos entradas analógicas <strong>de</strong> un<br />
micro<strong>control</strong>ador. Esto permite realizar actuaciones<br />
sobre equipos o <strong>sistema</strong>s comandados a distancia y<br />
lograr tener conocimiento <strong>de</strong>l estado <strong>de</strong> dos <strong>de</strong> sus<br />
variables. El <strong>sistema</strong> establece una transferencia <strong>de</strong><br />
datos entre un micro<strong>control</strong>ador PIC 16F873 y un<br />
Teléfono Celular Receptor que actúa como<br />
interlocutor entre el Usuario y el Dispositivo <strong>de</strong><br />
Control. Dicha transferencia utiliza como base a los<br />
Comandos AT, que permiten enviar <strong>mensajes</strong>, leer<br />
la agenda, programar <strong>de</strong>terminadas funciones y<br />
<strong>de</strong>más operaciones comunes a todos los teléfonos<br />
celulares que soporten este protocolo. Se obtuvo<br />
un equipo sofisticado, económicamente accesible,<br />
utilizando exclusivamente componentes <strong>de</strong> bajo<br />
costo disponibles en plaza, aplicable a cubrir<br />
necesida<strong>de</strong>s, <strong>de</strong>s<strong>de</strong> básicas hasta más sofisticadas.<br />
I-INTRODUCCIÓN<br />
Los teléfonos celulares representan uno <strong>de</strong> los<br />
medios <strong>de</strong> comunicación que más crecimiento han<br />
tenido en los últimos años. Según datos <strong>de</strong>l INDEC<br />
<strong>de</strong>l mes <strong>de</strong> Abril <strong>de</strong> 2008, existen en Argentina 42<br />
millones <strong>de</strong> celulares activos y se envían más <strong>de</strong> 50<br />
millones <strong>de</strong> <strong>mensajes</strong> <strong>de</strong> texto por día. La ten<strong>de</strong>ncia<br />
actual es incorporarle servicios adicionales como el<br />
MP3, MP4, cámaras digitales, internet, etc.<br />
Así, la disponibilidad <strong>de</strong> estas nuevas tecnologías es<br />
potencialmente útil para crear aplicaciones que<br />
resuelvan problemas, <strong>de</strong>s<strong>de</strong> los más simples hasta<br />
los más complejos.<br />
En este trabajo se creó un <strong>sistema</strong> que permite<br />
<strong>control</strong>ar, a partir <strong>de</strong> <strong>mensajes</strong> <strong>de</strong> texto SMS,<br />
procesos relacionados a un micro<strong>control</strong>ador tipo<br />
PIC. Para esto se implementó una comunicación por<br />
datos entre un Teléfono Celular Receptor y el<br />
micro<strong>control</strong>ador, utilizando para ello los<br />
<strong>de</strong>nominados Comandos AT.<br />
Autor: GONZALO SANSONE<br />
Director: ING. WALTER GEMÍN<br />
Carrera: INGENIERÍA ELECTRÓNICA<br />
-Mar <strong>de</strong>l Plata, Agosto 2008-<br />
II-MENSAJES SMS Y COMANDOS AT<br />
El servicio <strong>de</strong> <strong>mensajes</strong> cortos o SMS es una función<br />
disponible en los teléfonos móviles que permite el<br />
envío <strong>de</strong> <strong>mensajes</strong> <strong>de</strong> texto entre una estación móvil<br />
(MS) y otra entidad (SME) a través <strong>de</strong> un centro <strong>de</strong><br />
servicios (SC) (Figura 1).<br />
Figura 1. Servicio SMS<br />
Des<strong>de</strong> hace algún tiempo, las compañías que<br />
fabrican teléfonos celulares están ofreciendo la<br />
posibilidad <strong>de</strong> que sus equipos dispongan <strong>de</strong> puertos<br />
para la transferencia <strong>de</strong> datos con otros dispositivos.<br />
Para esto, la tecnología móvil GSM ha adoptado<br />
como estándar el lenguaje <strong>de</strong> comunicación utilizado<br />
para la configuración <strong>de</strong> los terminales mó<strong>de</strong>m: los<br />
Comandos AT. Este juego <strong>de</strong> instrucciones<br />
codificadas permite configurar y <strong>control</strong>ar a los<br />
teléfonos móviles <strong>de</strong>s<strong>de</strong> un equipo conectado por<br />
datos, realizando acciones tales como: generar<br />
llamadas, leer y escribir la agenda, enviar <strong>mensajes</strong><br />
SMS, entre otras.<br />
Las empresas fabricantes <strong>de</strong> teléfonos móviles<br />
<strong>de</strong>tallan en documentos escritos los Comandos AT<br />
soportados por sus equipos. En este proyecto se<br />
utilizó como medio para la Tx y Rx <strong>de</strong> Comandos AT<br />
un celular marca Nokia, por lo que se hará referencia<br />
a los comandos utilizados por esta firma en<br />
particular.<br />
Existen dos formas <strong>de</strong> visualizar el mensaje recibido<br />
cuando éste sea trasmitido hacia el dispositivo que<br />
lo esté monitoreando: modo texto y modo PDU. En<br />
el modo texto, el mensaje se encuentra<br />
Gonzalo Sansone P á g i n a | 1
Facultad <strong>de</strong> Ingeniería - UNMDP Sistema <strong>de</strong> Control <strong>mediante</strong> <strong>mensajes</strong> SMS y micro<strong>control</strong>adores<br />
<strong>de</strong>codificado, mientras que en el modo PDU el<br />
mensaje está compuesto por una ca<strong>de</strong>na <strong>de</strong><br />
caracteres codificada al formato Semi-Octetos<br />
Decimales. En el proyecto se trabajó con el modo<br />
texto, don<strong>de</strong> un mensaje recibido es visualizado <strong>de</strong><br />
la siguiente manera:<br />
<br />
+CMT: "02266671234",,"08/05/05,18:50:05-<br />
12"<br />
hola<br />
Se pue<strong>de</strong>n distinguir el número <strong>de</strong>l teléfono <strong>de</strong>l<br />
celular que envió el mensaje y el contenido<br />
<strong>de</strong>codificado. Estos datos son los utilizados en el<br />
proyecto <strong>de</strong> referencia.<br />
Para transmitir un mensaje SMS por Comandos AT<br />
se utiliza una codificación <strong>de</strong>l siguiente tipo:<br />
[TX1] - at+cmgs="2266671234",129<br />
[RX1] - at+cmgs="2266671234",129<br />
<br />
><br />
[TX2] - hola_<br />
[RX2] - hola_<br />
+CMGS: 178<br />
<br />
OK<br />
Primero, se envían los datos <strong>de</strong>l <strong>de</strong>stinatario <strong>de</strong>l<br />
mensaje [TX1]. Luego, una vez que el celular<br />
respon<strong>de</strong> y marca el prompt [RX1], se envía el<br />
contenido <strong>de</strong>l mensaje seguido <strong>de</strong> la sigla <br />
[TX2]. La respuesta obtenida indica la correcta o<br />
incorrecta recepción <strong>de</strong>l SMS en <strong>de</strong>stino [RX2].<br />
III-DESCRICPCIÓN DE LA APLICACIÓN<br />
La Figura 2 muestra el esquema <strong>de</strong>l <strong>sistema</strong><br />
implementado. Se distinguen dos partes principales:<br />
un Usuario, poseedor <strong>de</strong> un Teléfono Celular que<br />
utilizará para generar las or<strong>de</strong>nes y recibir las<br />
respuestas, y un Sistema compuesto por un Teléfono<br />
Celular Receptor y un Dispositivo <strong>de</strong> Control. La<br />
comunicación entre estos dos últimos se <strong>de</strong>sarrolló a<br />
partir <strong>de</strong> un cable <strong>de</strong> datos, en forma serie<br />
asincrónica.<br />
La aplicación tiene como objetivo principal habilitar<br />
o <strong>de</strong>shabilitar dos Puertos (salidas) por medio <strong>de</strong><br />
<strong>mensajes</strong> SMS, disponibles en el micro<strong>control</strong>ador<br />
PIC16F873, componente principal <strong>de</strong>l Dispositivo <strong>de</strong><br />
Control. Permite a<strong>de</strong>más sensar simultáneamente<br />
dos <strong>de</strong> sus entradas, <strong>de</strong>tectando si éstas fueron<br />
activadas o no en algún momento. En caso <strong>de</strong><br />
producirse un cambio en el estado <strong>de</strong> alguna <strong>de</strong><br />
ellas, el <strong>sistema</strong> enviará un SMS al Usuario<br />
notificando lo ocurrido.<br />
Figura 2. Esquema <strong>de</strong>l <strong>sistema</strong><br />
A<strong>de</strong>más <strong>de</strong>l <strong>control</strong> sobre las entradas y salidas, se<br />
implementaron otras funciones que permiten una<br />
mayor interacción entre el Usuario y el Sistema.<br />
Estas son:<br />
1. Interrogación sobre el estado <strong>de</strong> los<br />
Puertos. Permite conocer en cualquier<br />
momento si los Puertos se encuentran<br />
activados o no a partir <strong>de</strong>l envío <strong>de</strong> un SMS.<br />
2. Dos Usuarios habilitados. Sólo dos Usuarios<br />
pue<strong>de</strong>n <strong>control</strong>ar el Dispositivo. Estos serán<br />
aquellos cuyos números <strong>de</strong> teléfono móvil<br />
se encuentren almacenados en las dos<br />
primeras posiciones <strong>de</strong> la agenda <strong>de</strong>l<br />
Teléfono Celular Receptor.<br />
3. Verificación <strong>de</strong> números <strong>de</strong> teléfono. El<br />
<strong>sistema</strong> verifica, por comparación con las<br />
posiciones 1 y 2 <strong>de</strong> la agenda, si el número<br />
<strong>de</strong> teléfono <strong>de</strong>l cual proviene el mensaje<br />
está habilitado o no. De no estarlo enviará<br />
un SMS al remitente informando que no<br />
tiene acceso.<br />
4. Verificación <strong>de</strong>l mensaje SMS. El <strong>sistema</strong><br />
verificará el mensaje alfanumérico recibido<br />
y establecerá si el comando escrito es o no<br />
correcto. Esto se hace a partir <strong>de</strong> la<br />
comparación digito a digito con los códigos<br />
preestablecidos almacenados en el<br />
micro<strong>control</strong>ador.<br />
5. Respuesta a los <strong>mensajes</strong> recibidos. A fin<br />
<strong>de</strong> informar al Usuario si el Sistema se<br />
encuentra operativo, siempre se genera una<br />
respuesta ante cada mensaje SMS recibido<br />
en el Teléfono Receptor.<br />
Se <strong>de</strong>scribe a continuación los comandos habilitados<br />
para el <strong>control</strong> <strong>de</strong>l Sistema:<br />
A. PUERTOS<br />
P1E: Puerto 1 Encendido<br />
P1A: Puerto 1 Apagado<br />
P2E: Puerto 2 Encendido<br />
P2A: Puerto 2 Apagado<br />
B. ESTADO DE PUERTOS<br />
EP1: Estado <strong>de</strong> Puerto 1<br />
EP2: Estado <strong>de</strong> Puerto 2<br />
C. SEGUNDO NÚMERO<br />
HN2: Habilitar Número 2<br />
DN2: Deshabilitar Número 2<br />
Gonzalo Sansone P á g i n a | 2
Facultad <strong>de</strong> Ingeniería - UNMDP Sistema <strong>de</strong> Control <strong>mediante</strong> <strong>mensajes</strong> SMS y micro<strong>control</strong>adores<br />
Cada vez que uno <strong>de</strong> estos comandos ingrese en el<br />
Sistema se generará una respuesta que será enviada<br />
al teléfono celular remitente. Entre estos envíos se<br />
incluyen también las notificaciones sobre las<br />
modificaciones en las Inputs sensadas. Se <strong>de</strong>tallan a<br />
continuación estas transmisiones:<br />
PUERTO 1/2 ENCENDIDO. Respuesta al encendido<br />
<strong>de</strong> un Puerto.<br />
PUERTO 1/2 APAGADO. Respuesta al apagado <strong>de</strong><br />
alguno <strong>de</strong> los Puertos.<br />
INPUT 1/2 ACTIVADA. Notificación informando que<br />
la Input fue activada.<br />
INPUT 1/2 DESACTIVADA. Notificación informando<br />
que la Input fue <strong>de</strong>sactivada.<br />
NUMERO 2 HABILITADO. El segundo Usuario fue<br />
habilitado.<br />
NUMERO 2 DESHABILITADO. El segundo Usuario fue<br />
<strong>de</strong>shabilitado.<br />
COMANDO NO DISPONIBLE. El Usuario no pue<strong>de</strong><br />
<strong>control</strong>ar esa función.<br />
ERROR MENSAJE. El código <strong>de</strong>l mensaje enviado es<br />
incorrecto.<br />
NUMERO NO HABILITADO. El Usuario no está<br />
habilitado para operar.<br />
IV-CIRCUITO IMPLEMENTADO<br />
El Dispositivo <strong>de</strong> Control fue <strong>de</strong>sarrollado en base al<br />
micro<strong>control</strong>ador PIC 16F873. La elección <strong>de</strong>l mismo<br />
radica en el hecho <strong>de</strong> que cumple con las<br />
condiciones necesarias para el <strong>de</strong>sarrollo <strong>de</strong> este<br />
proyecto, permitiendo a<strong>de</strong>más po<strong>de</strong>r enviar y recibir<br />
datos en forma serial. Este recurso es indispensable<br />
para lograr la comunicación por Comandos AT entre<br />
el Teléfono Celular Receptor y el Dispositivo <strong>de</strong><br />
Control. La Figura 3 presenta el circuito<br />
implementado, don<strong>de</strong> la alimentación Vdd proviene<br />
<strong>de</strong> una fuente <strong>de</strong> continua <strong>de</strong> 5 volts <strong>de</strong> salida.<br />
Vdd<br />
R1<br />
10K<br />
D1<br />
D1N4148<br />
Pulsador<br />
XTAL<br />
20 MHz<br />
0<br />
C2<br />
22pF<br />
R2<br />
100<br />
C1<br />
0.1uF<br />
0<br />
0<br />
C3<br />
22pF<br />
0<br />
0<br />
1 MLCR<br />
2<br />
3<br />
4<br />
5<br />
6<br />
7<br />
8 Vss<br />
9 OSC1<br />
10 OSC2<br />
11<br />
12<br />
13<br />
14<br />
PIC 16F873<br />
28<br />
27<br />
26<br />
RB4 25<br />
RB3 24<br />
RB2 23<br />
RB1 22<br />
RB0 21<br />
Vdd 20<br />
Vdd<br />
Vss 19<br />
Rx 18<br />
Tx 17<br />
16<br />
15<br />
0<br />
INPUT 1<br />
1 2<br />
Figura 3. Circuito implementado<br />
Rx Nokia 3220<br />
Entre las partes constituyentes <strong>de</strong> este esquema se<br />
distinguen: el circuito <strong>de</strong> Reset, el reloj principal<br />
comandado por un cristal <strong>de</strong> 20MHz y las<br />
entradas/salidas.<br />
Vdd<br />
R3<br />
10K<br />
2<br />
R5<br />
1k<br />
Vdd<br />
R6<br />
1k<br />
R7<br />
1k<br />
R4<br />
10K<br />
INPUT 2<br />
1 2<br />
74LS04<br />
1<br />
PUERTO 2<br />
PUERTO 1<br />
CONF INICIAL<br />
2<br />
74LS04<br />
1<br />
0<br />
0<br />
DZ1<br />
0<br />
2.7 V<br />
DZ2<br />
2.7 V<br />
Tx Nokia 3220<br />
Fue necesario adaptar los niveles <strong>de</strong> tensión <strong>de</strong> las<br />
señales <strong>de</strong> Tx y Rx <strong>de</strong>l Teléfono Receptor, a fin <strong>de</strong><br />
compatibilizarlas con las correspondientes en el<br />
micro<strong>control</strong>ador. Esto llevó a la utilización <strong>de</strong> un<br />
doble negador para elevar el “1” lógico transmitido<br />
por el móvil y un zener <strong>de</strong> 2.7 volts para limitar los 5<br />
volts entregados como “nivel alto” por el<br />
micro<strong>control</strong>ador.<br />
La comunicación entre el Teléfono Receptor y el<br />
Dispositivo <strong>de</strong> Control se realizó a partir <strong>de</strong>l cable <strong>de</strong><br />
datos CA-42. Debido a que el mismo posee una<br />
interfaz <strong>de</strong> comunicación USB, se <strong>de</strong>bió efectuar una<br />
modificación para po<strong>de</strong>r habilitar la transferencia<br />
serial asincrónica. Esto llevo a que se <strong>de</strong>sconecte un<br />
circuito interno que posee el cable y se lo utilice para<br />
generar la apertura <strong>de</strong> los puertos <strong>de</strong> Tx y Rx <strong>de</strong>l<br />
teléfono. La Figura 4 ilustra la modificación realizada.<br />
Gonzalo Sansone P á g i n a | 3<br />
Tx Rx<br />
LLAVE DIGITAL<br />
PINES DEL MÓVIL<br />
(CABLE CORRESPONDIENTE)<br />
8 GND (Negro)<br />
7 Tx (Blanco)<br />
6 Rx (Azul)<br />
4 Vout (Ver<strong>de</strong>)<br />
3 ACI (Rojo)<br />
Figura 4. Diagrama <strong>de</strong>l medio <strong>de</strong> datos<br />
V-PROGRAMA<br />
El programa principal que se almacena en la<br />
Memoria <strong>de</strong> Programa <strong>de</strong>l micro<strong>control</strong>ador, que es<br />
el que <strong>de</strong>sarrolla las operaciones <strong>de</strong>scriptas, fue<br />
escrito en lenguaje Assembler, por consi<strong>de</strong>rar que<br />
este brinda una mayor eficiencia <strong>de</strong>l código a la hora<br />
<strong>de</strong> su compilación y durante la ejecución, comparado<br />
con los lenguajes <strong>de</strong> alto nivel como el C o el Basic.<br />
El software utilizado para el <strong>de</strong>sarrollo y compilación<br />
<strong>de</strong>l programa fue el MPLAB, <strong>de</strong> Microchip. Para<br />
grabar los programas al micro<strong>control</strong>ador se utilizó<br />
como plataforma el ICPROG y como medio físico<br />
para la grabación el módulo TE-20SE. En la<br />
bibliografía se citan vínculos don<strong>de</strong> el lector pue<strong>de</strong><br />
obtener más información sobre estas herramientas.
Facultad <strong>de</strong> Ingeniería - UNMDP Sistema <strong>de</strong> Control <strong>mediante</strong> <strong>mensajes</strong> SMS y micro<strong>control</strong>adores<br />
Con referencia al programa en sí, el mismo fue<br />
diagramado en una estructura don<strong>de</strong> se distinguen<br />
cuatro partes básicas:<br />
1. Configuración inicial.<br />
2. Bucle cerrado observando el estado <strong>de</strong> las<br />
entradas (INPUTS).<br />
3. Interrupción en la recepción <strong>de</strong> datos<br />
habilitada.<br />
4. Procesamiento <strong>de</strong>l SMS recibido.<br />
La Configuración Inicial tiene en cuenta el proceso<br />
<strong>de</strong> seteo <strong>de</strong> los parámetros <strong>de</strong>l micro<strong>control</strong>ador y<br />
<strong>de</strong>l Teléfono Celular Receptor, para permitir la<br />
trasferencia por Comandos AT <strong>de</strong> los datos entre<br />
ambas terminales. Durante este tiempo un LED<br />
intermitente incluido en el Dispositivo <strong>de</strong> Control<br />
permanecerá encendido.<br />
A partir <strong>de</strong> un ciclo cerrado <strong>de</strong> programa se estará<br />
observando el estado que van tomando las entradas<br />
(inputs) y verificando si se producen cambios con<br />
respecto al valor que tenían en el ciclo anterior. De<br />
generarse alguna variación enviará un mensaje al<br />
Usuario informando este acontecimiento.<br />
Durante el proceso <strong>de</strong> Configuración Inicial se<br />
habilita la interrupción por recepción <strong>de</strong> datos en el<br />
puerto serie. De generase esto, el <strong>sistema</strong> atien<strong>de</strong> la<br />
petición, hace las verificaciones <strong>de</strong> Usuario y<br />
contenido <strong>de</strong>l mensaje, y realiza las acciones<br />
solicitadas. Un mensaje SMS <strong>de</strong> respuesta es<br />
generado por el Sistema confirmando lo ejecutado.<br />
VI-CONCLUSIONES<br />
La utilización <strong>de</strong>l monitoreo inalámbrico es una<br />
ten<strong>de</strong>ncia que está revolucionando las arquitecturas<br />
<strong>de</strong> re<strong>de</strong>s industriales, dado que brindan una mayor<br />
versatilidad <strong>de</strong> diseño y montaje frente a las re<strong>de</strong>s<br />
<strong>de</strong> tipo cableadas actuales.<br />
El Sistema <strong>de</strong> Control por SMS implementado<br />
preten<strong>de</strong> facilitar el <strong>control</strong> y la supervisión <strong>de</strong><br />
equipos siguiendo esta ten<strong>de</strong>ncia, quedando abierta<br />
la aplicación específica a criterio <strong>de</strong>l usuario final.<br />
Las posibilida<strong>de</strong>s <strong>de</strong> mejora <strong>de</strong> este <strong>sistema</strong> son muy<br />
amplias y abarcan <strong>de</strong>s<strong>de</strong> innovaciones en el<br />
dispositivo creado hasta la inclusión <strong>de</strong> nuevas<br />
funciones para <strong>control</strong>ar. Estas actualizaciones<br />
brindarán mayor flexibilidad, permitiendo po<strong>de</strong>r<br />
manejar procesos y equipos cada vez más complejos<br />
y conduciendo así a mejores <strong>de</strong>sarrollos tecnológicos<br />
futuros.<br />
VII-BIBLIOGRAFÍA<br />
[1]. “La vertiginosa historia <strong>de</strong>l celular cumple 25<br />
años”. 13/06/2008. Diario Clarín Digital.<br />
www.clarin.com<br />
[2]. “Aplicaciones <strong>de</strong> los micro<strong>control</strong>adores PIC <strong>de</strong><br />
Microchip”. Martín Cuenca E., Angulo Usategui, JMª.,<br />
Angulo Martínez J. Editorial McGraw Hill, 1998.<br />
[3]. “Micro<strong>control</strong>adores PIC”.<br />
http://perso.wanadoo.es/pictob/micropic.htm<br />
[4]. PIC Diseño Práctico y Aplicaciones. José María<br />
Angulo Usartegui, Ignacio Angulo Martinez. Editorial<br />
McGraw Hill<br />
[5]. “Comunicación Serial Asincrónica”.<br />
http://www.roso<strong>control</strong>.com/_Download/Cursos/MDK-<br />
B28/Cap_No_08.pdf<br />
[6] Standard GSM 03.40 y 03.41<br />
[7]. SMS and the PDU Format.<br />
http://dreamfabric.com/<strong>sms</strong>/<br />
[8]. Microchip Enterprise. www.microchip.com<br />
[9]. Software IC-Prog. www.ic-prog.com<br />
[10]. Comandos AT.<br />
http://bluehack.elhacker.net/in<strong>de</strong>x.html<br />
[11]. “El servicio SMS: Un enfoque práctico”. Juan<br />
González Gómez. 27 <strong>de</strong> Junio <strong>de</strong> 2002<br />
[12]. SMS and the PDU format.<br />
http://www.dreamfabric.com/<strong>sms</strong><br />
[13]. Nokia Mobile. www.nokia.com<br />
Gonzalo Sansone P á g i n a | 4