08.05.2013 Views

sistema de control mediante mensajes sms y microcontroladores

sistema de control mediante mensajes sms y microcontroladores

sistema de control mediante mensajes sms y microcontroladores

SHOW MORE
SHOW LESS

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

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!