Sunteți pe pagina 1din 74

SISTEMA DE CONTROL PARA UNA CERRADURA ELECTRNICA MEDIANTE MDULO GSM COMBINADO CON MICROCONTROLADOR PIC18F2520 Y TARJETAS SMARTCARD

Titulacin: Intensificacin: Alumno/a: Director/a/s:

Ingeniera Tcnica Industrial Electrnica Industrial Jos Asensio Duarte Manuel Snchez Alonso de !ctu"re de #$1%

Cartagena, 1 1

ndic
M nci!n " # $%&$d ci'i n(!" I* M '!&i$ 1* In(&!d,cci-n 1*1 En,nci$d! # !./ (i0! d 1 2&!# c(! 1*2 R ",' n d 1$ ' '!&i$ 2* B$" ( -&ic$ 2*1 T cn!1!%4$ GSM 2.1.1 Comunicacin mvil 2.1.2 Topologa de un sistema clular 2.1.3 GSM, historia e inicios 2.1. Componentes del GSM 2.1.! "uncionamiento de las llamadas 2.1.# $nter%a& GSM 2*2 SMS 2.2.1 $ntroduccin 2.2.2 Caractersticas 2.2.3. 'r(utectura 2.2. . )nvo de SMS 2.2.! 'plicaciones 2*5 S'$&(c$&d" 2.3.1 $ntroduccin 2.3.2 Tecnologa 5* M (!d!1!%4$ # '$( &i$1 " 1 %id!" 5*1 M (!d!1!%4$ 5*2 S!6(7$& d d "$&&!11! 5*5 9$&d7$& d d "$&&!11! 8* An:1i"i" d $1( &n$(i0$" 8*1 R ;,i"i(!" 8*2 E0$1,$ci-n # " 1 cci-n d $1( &n$(i0$" .2.1 Comunicacin por SMS .2.2 Microcontrolador 5* Di" <! 5*1 In(&!d,cci-n 5*2 Di" <! d 1 =$&d7$& 5*5 Di" <! d 1 6i&'7$& )* I'21 ' n($ci-n )*1 I'21 ' n($ci-n d 1 =$&d7$& )*2 I'21 ' n($ci-n d 1 6i&'7$& 3 ) + + + 3 10 10 10 10 12 12 15 15 1) 1) 1) 1+ 1+ 18 20 20 20 25 25 28 28 23 23 50 50 52 58 58 58 80 82 82 85

+* E>2 &i' n($ci-n 8* C!nc1,"i!n " # (&$.$/! 6,(,&! 8*1 C!nc1,"i!n " 8*2 L4n $" d (&$.$/! 6,(,&$" II* P1$n!" # "2 ci6ic$ci!n " 3*1 E";, ':(ic! d 1 ci&c,i(! 3*2 Li"($d! d c!'2!n n( " 3*5 Pin!,( III* C-di%! d 1 2&!%&$'$ I*? Bi.1i!%&$64$

8) 88 88 83 50 50 51 52 58 +8

ndic d Fi%,&$" # T$.1$"


Fi%,&$ 2*1 A&;,i( c(,&$ d 1 GSM Fi%,&$ 2*2 C!',nic$ci-n GSM 2$"! $ 2$"! Fi%,&$ 2*5 F,nci!n$'i n(! n 1$ & ,.ic$ci-n Fi%,&$ 2*8 En04! d SMS Fi%,&$ 2*5 A&;,i( c(,&$ d ,n$ S'$&(c$&d Fi%,&$ 2*) A&;,i( c(,&$ d ,n$ S'$&(c$&d @2A Fi%,&$ 2*+ C!n >i!n " d ,n$ S'$&(c$&d Fi%,&$ 5*1 ? n($n$ d O&c$d Fi%,&$ 5*2 ? n($n$ d ";, ':(ic! n O&c$d Fi%,&$ 5*5 ? n($n$ d CCS C!'2i1 & Fi%,&$ 5*8 ? n($n$ d I"i" @P&!( ,"A Fi%,&$ 5*5 Si',1$ci-n n I"i" Fi%,&$ 5*) ? n($n$ Fi%,&$ 5*+* ICD 5 Fi%,&$ 8*1 C!'$nd!" 9$# " Fi%,&$ 8*2 M-0i1 GSM Fi%,&$ 8*5 GC8)8BPY T$.1$ 8*1 M!d!" d (&$n"'i"i-n GC8)8BPY Fi%,&$ 8*8 c!n >i!n " d 1 18F2520 Fi%,&$ 5*1 PIC18F2520 Fi%,&$ 5*2 T c1$d! $16$n,'C&ic! Fi%,&$ 5*5 ( c1$d! $16$n,'C&ic! @2A T$.1$ 5*1 C$&$c( & " ASCII Fi%,&$ 5*8 R %,1$d!& 1in $1 2$&$ 1 '-d,1! GSM T$.1$ 5*2 M!d!" d !"ci1$ci-n PIC18F2520 Fi%,&$ 5*5 E";, ':(ic! d 1 !"ci1$d!& Fi%,&$ )*1 PIC Sc=!!1 (!!1Di( Fi%,&$ )*2 S 1 cci-n d 'ic&!c!n(&!1$d!& 4 11 18 18 18 20 21 22 28 25 25 2) 2+ 2+ 28 50 51 52 52 55 58 55 5) 5+ 53 80 80 82 85

Fi%,&$ 3*1 E";, ':(ic! d 1 PCB T$.1$ 3*1 Li"($d! d c!'2!n n( " T$.1$ 3*2 Li"($d! d c!n >i!n " d 1 PIC 18F T$.1$ 3*5 Li"($d! d c!n >i!n " d 1$ S'$&(C$&d

50 51 52 55

M nci!n " # $%&$d ci'i n(!"


Quisiera agradecer en primer lugar el apoyo recibido por mi director de proyecto D. Manuel Snchez lonso! "ue me ha aconse#ado y o$recido su ayuda durante el desarrollo del proyecto. %ambi&n al t&cnico de laboratorio Da'id (enare#os! "ue meh a o$recido el material necesario para la realizaci)n del proyecto. Quisiera mencionar tambi&n el apoyo de mis padres *os& y +uadalupe! "ue han estado empu#ndome constantemente a terminar mis estudios en todo momento de mi carrera. %ambi&n "uiero agradecer a mi hermano ,ablo su asistencia en la realizaci)n de la presentaci)n de este proyecto. ,or -ltimo! y ms importante! "uisiera agradecer sobre todo a Marina (ernndez +rau sus ideas! sugerencias y constante ayuda en el proyecto. Sin sus aportaciones y su apoyo durante la realizaci)n del proyecto! este no habr.a sido posible. Muchas gracias.

I* M '!&i$
1* In(&!d,cci-n
1*1* En,nci$d! # !./ (i0! d 1 2&!# c(! 0n los -ltimos tiempos! la tecnolog.a ha a'anzado a pasos agigantados permitiendo un mayor y ms $cil acceso a una gran 'ariedad de ser'icios y aplicaciones. Muchas herramientas! como tel&$onos m)'iles o ordenadores han e'olucionado de tal modo "ue han pasado de ser un producto e1tra'agante y "ue re"uer.a un conocimiento alto de su $uncionamiento para apro'echar sus capacidades! a ser elementos cotidianos del d.a a d.a de los "ue ahora nos es imposible separarnos. 2o obstante! son muchos esos productos "ue se han "uedado estancados en su manera de $uncionar y en las posibilidades "ue o$recen para el usuario! hasta "ue alguien decide lle'arlos un paso ms all. ,odemos nombrar! por e#emplo! la reciente aparici)n y popularidad de los libros electr)nicos! inimaginables hace poco tiempo ya "ue 3"ue ms se pod.a conseguir en un libro4. 5no de estos a'ances es el acceso remoto a dispositi'os cotidianos gracias a elementos como 6nternet y los mensa#es cortos. ,or poner un caso! actualmente se esta implementando de manera com-n el acceso remoto a e1plotaciones ganaderas! con el cual un gran#ero puede conocer con pulsar un par de teclas de su m)'il el estado de su gran#a desde la cama. 7as alarmas y monitorizaci)n de hogares tambi&n a'anzan en este sentido! o$reciendo a los due8os in$ormaci)n constante sobre "ue est sucediendo en su hogar. 9on esto en mente! este proyecto pretende demostrar lo simple "ue puede resultar o$recer nue'as $uncionalidades a elementos tan sencillos de la 'ida cotidiana. 2uestro ob#eti'o es el de implementar un sistema de comunicaci)n remota entre el usuario y un elemento de seguridad de su hogar! como bien puede ser una ca#a $uerte o la entrada de nuestra casa. ,ara ello! haremos uso de la tecnolog.a +SM de los dispositi'os m)'iles! as. como de un sistema de comunicaci)n por SMS "ue nos permitir mantenernos in$ormados en todo momento. 0ste proyecto posee adems la capacidad de presentar un producto -til! sencillo y ase"uible al usuario. 2uestro dispositi'o nos a'isar automticamente de cual"uier acti'idad en nuestra ausencia! y simplemente deberemos poner nuestro n-mero de tel&$ono en el m)'il para conectar con nuestro dispositi'o. ,or -ltimo! el uso de un microcontrolador y un m)dulo +SM como elemento central para la comunicaci)n entre el usuario y su elemento de seguridad hacen de este un producto de $cil acceso econ)mico a cual"uiera. 0ste dispositi'o! apodado SMSWatch! tambi&n se 'e re$orzado con una interacci)n $.sica directa con el dispositi'o! mediante pulsadores :teclado al$anum&rico;! inter$az :,antalla 79D;! identi$icadores :Smartcards;! y los distintos sensores y actuadores "ue controlarn nuestro elemento de seguridad. <

0l dispositi'o a mostrar estar constituidos por los siguientes componentes= 5n microcontrolador 1>?= el cual controla el estado del elemento de seguridad :en este caso! una ca#a $uerte;! e#erce el control sobre &l! almacena los datos del usuario :o usuarios;! y mane#a tanto el m)dulo +SM como las tar#etas Smartcard. 5n m)dulo +SM con tar#eta= es el encargado de la comunicaci)n con el usuario por tele$on.a m)'il! ya sea transmitiendo mensa#es cortos :SMS; con in$ormaci)n y de a'iso! o recibiendo )rdenes del propio usuario mediante los mismos. 0ste elemento es controlado bilateralmente tanto por el microcontrolador como por el dispositi'o m)'il del usuario! haciendo de puente entre los dos. 5n lector de tar#etas Smartcard= se trata del encargado de identi$icar a los usuarios! y permitir su acceso al elemento de seguridad. (ace de intermediario $.sico entre el microcontrolador 1>?! "ue act-a y otorga los permisos al dispositi'o! y el usuario! "ue se identi$ica mediante una tar#eta Smartcard con una memoria 00,@AM "ue contiene la in$ormaci)n del usuario. 6ndicadores e interruptores= $ormados por una pantalla 79D y un teclado al$anum&rico! son los encargados de permitir la interacci)n $.sica entre el usuario y el dispositi'o. ,ermiten al usuario acceder al elemento de seguridad! as. c)mo permiten con$igurar di'ersos aspectos del SMSBatch como el tel&$ono al "ue llama el m)dulo +SM! la gesti)n de los usuarios y contrase8as! etc.

continuaci)n se enumeran los principales ob#eti'os del proyecto= Dise8o e implementaci)n de un circuito impreso :,9C;! para la creaci)n de un prototipo "ue contenga las cone1iones entre los distintos elementos anteriormente descritos. 0ste ,9C se dise8ar adems! de tal modo "ue muestre al usuario las $unciones del prototipo de manera sencilla y directa. Desarrollo de cone1iones entre los distintos elementos! "ue permitan al usuario la con$iguraci)n y mane#o tanto del elemento de seguridad como del $uncionamiento del dispositi'o. Desarrollo del programa encargado del mane#o del microcontrolador! y "ue implementar la gesti)n de los sensores y actuadores! la con$iguraci)n del $uncionamiento del SMSBatch! la comunicaci)n entre los distintos elementos y el almacenamiento de in$ormaci)n sobre los distintos usuarios y parmetros de con$iguraci)n.

>

1*2* R ",' n d 1$ ' '!&i$ ,ara o$recer una lectura mas clara y accesible al lector! se ha di'idido esta memoria en distintos cap.tulos= Menciones y agradecimientos. 9ap.tulo 1= 6ntroducci)n 9ap.tulo 2= Case te)rica. 9ap.tulo 3= Metodolog.a de desarrollo. 9ap.tulo 4= 0'aluaci)n de alternati'as. 9ap.tulo 5= Desarrollo. 9ap.tulo /= 6mplementaci)n. 9ap.tulo <= 01perimentaci)n. 9ap.tulo >= 9onclusiones y traba#os $uturos.

2* B$" ( -&ic$
2*1* T cn!1!%4$ GSM 2.1.1. Comunicacin mvil 7a comunicaci)n m)'il se produce cuando los dos o ms terminales en los "ue se produce la comunicaci)n estn en mo'imiento y no estn $.sicamente conectados a la red. 7a comunicaci)n m)'il se produce de dos $ormas bsicas= EL$ c!',nic$ci-n in$1:'.&ic$= se produce entre dos e"uipos situados en un radio de acci)n el uno con el otro. 0#emplos "ue podemos encontrar el la comunicaci)n por Clue%ooth y por in$rarro#os. 0l principal problema de este sistema es tener un radio de acci)n limitado! por lo "ue ambos e"uipos donde se produzca la comunicaci)n deben estar cercanos le uno con el otro. EL$ c!',nic$ci-n c 1,1$&= se produce entre dos e"uipos situados dentro de una misma c&lula! de 'arios Fil)metros de amplitud. ,osee protocolos de comunicaci)n para administrar 'arias peticiones al mismo tiempo. 5na comunicaci)n ms le#ana se produce gracias a la comunicaci)n entre distintas c&lulas! lo "ue es una 'enta#a respecto a la comunicaci)n inalmbrica. 7a comunicaci)n +SM se produce mediante la comunicaci)n celular. 2.1.2. Topologa de un sistema clular. 5n sistema celular esta $ormado por 4 componentes bsicos! "ue son los "ue se detallan a continuaci)n. EL$ ,nid$d '-0i1= "ue ser el transmisor o receptor desde el "ue se recibe o se en'.a la in$ormaci)n deseada. 0l canal o $recuencia por el "ue se comunican es designado por el MS9. ECC1,1$"E son las zonas cubiertas por el sistema de comunicaci)n. EL$ "($ci-n d (&$n"'i"i-nB& c 2ci-n .$" @BTSF ! B$" T&$n"c i0 & S($(i!nA = se sit-a en la c&lula! y e#erce de intermediario entre la unidad m)'il y el centro de comunicaci)n. EE1 c n(&! d c!',nic$ci-n '-0i1 @MSCF ! M!.i1 S7i(c=in% C n(& &A = el es el encargado de administrar las llamadas entre distintos dispositi'os! conectar las l.neas tele$)nicas! conmutar las llamadas entre las distintas c&lulas! controlar el tr$ico para las tari$as! y administrar la red inalmbrica.

1G

Figura 2.1. Arquitectura de GSM 2o obstante! los sistemas celulares deben hacer $rente a tres problemas= la cantidad de tr$ico! las inter$erencias y la 'ariedad de sistemas e1istentes. 0n reas muy pobladas! la cantidad de tr$ico al mismo tiempo agota y satura los canales disponibles. 0#emplos de esto suceden en grandes urbes y en $esti'idades como 8o 2ue'o. ,ara sol'entar este problema! en un inicio se utilizan c&lulas ms pe"ue8as y con menor potencia. 0sto permite reutilizar las bandas disponibles en c&lulas no contiguas. dems! permite al pro'eedor cambiar o reducir el tama8o de estas c&lulas seg-n 'ar.e la densidad de poblaci)n de la zona geogr$ica! lo "ue supone un ahorro a largo plazo. 0n reas urbanas muy pobladas! el 'olumen tan alto de tr$ico local puede agotar los canales de radio disponibles. 2o obstante! es posible aumentar hasta cierto punto la capacidad del sistema reduciendo continuamente el tama8o de las c&lulas y la potencia transmitida de las estaciones base. 7a reducci)n en el radio de las c&lulas permite reutilizar las bandas disponibles en c&lulas no contiguas. 7a estrategia permite al pro'eedor de portadora celular reducir y aumentar el tama8o de las c&lulas para dar cabida al crecimiento o a la reducci)n de las poblaciones de esta base de suscriptores m)'iles. Sin embargo! el principal problema al "ue se en$rentan las redes celulares es la aparici)n de inter$erencias. 7as inter$erencias se producen cuando se produce una intrusi)n en una banda de $recuencia no deseada! lo "ue puede producir 'arios e$ectos negati'os= blo"ueo de llamadas! errores! o las $amosas cross-talks :en las "ue escuchamos inad'ertidamente una con'ersaci)n de otro canal;. 0sto es un problema principal en reas urbanas! ya "ue la cantidad de ruido de otros dispositi'os pueden $ormar cuellos de botella en las comunicaciones. 7as inter$erencias producidas en los sistemas celulares son de dos tipos= 11

la coEcanal y la de canales adyacentes. 7a inter$erencia coEcanal se produce cuando el transmisor o receptor est ubicado en dos c&lulas "ue utilizan el mismo rango de $recuencias al mismo tiempo. 0sto produce una se8al de ruido! ya "ue el sistema intenta propagar el mensa#e por dos direcciones distintas. 7a soluci)n ms sencilla es separar estos sistemas coEcanales! para reducir la inter$erencia entre ellos. 7a inter$erencia de canales adyacente se produce cuando los $iltros no blo"uean el paso de una comunicaci)n a otra de $recuencia cercana. 0sto origina las HcrossEtalFsI! "ue son ms $recuentes si los transmisores o receptores se encuentran cercanos $.sicamente. ,ara sol'entar esto! las estaciones base gestionan la potencia de las unidades m)'iles. ,or -ltimo! se tiene el problema de los distintos sistemas de comunicaci)n seg-n el rea geogr$ica! lo "ue imped.a la comunicaci)n entre dispositi'os "ue utilizasen sistemas distintos. 9on todo esto! se dio origen al sistema +SM como estndar mundial de comunicaci)n. 2.1.3. GSM, historia e inicios. 0l +SM se origino debido a los problemas de los tel&$onos m)'iles de primera generaci)n! los cuales hac.an uso de redes anal)gicas. 0n 1D>2! se creo este estndar de comunicaci)n gracias al Groupe Spcial Mobile :+SM;! $ormado por 2/ compa8.as europeas de telecomunicaciones! y "ue dio lugar a la digitalizaci)n de las comunicaciones. Su implementaci)n da lugar a la desaparici)n de la primera generaci)n! y a las apariciones posteriores del 3+ y el 4+ :con acceso a internet y transmisi)n de datos! siendo el 4+ la implementaci)n ms actual con ancho de banda;. %ambi&n pone $in a la incompatibilidad de sistemas de comunicaci)n! y al en'.o y recepci)n de mensa#es entre unidades porttiles. 2.1. . Componentes del GSM 7os componentes principales del +SM son parecidos a los de las redes celulares! aun"ue incluyen otros componentes. Son los siguientes= EE1 c n(&! d c!',nic$ci-n '-0i1 @MSCAE es el encargado de establecer! gestionar y eliminar cone1iones! as. como de redireccionar las llamadas a la c&lula de destino correcta. dems! proporciona la inter$az con el sistema tele$)nico y determina la contabilidad del tr$ico generado. EL$ cC1,1$= el rea geogr$ica! de unos 3G o 4G Jm de alcance. EL$ ,nid$d '-0i1 @MSA. EE1 c!n(&!1$d!& d "($ci!n " .$" @BSCA = incluido por primera 'ez en el sistema 12

+SM! se encarga del control de las llamadas realizadas! as. del control de la se8al de potencia en la transmisi)n entre la estaci)n de transmisi)n y la unidad m)'il. EL$ "($ci-n d (&$n"'i"i-nB& c 2ci-n .$" @BTSA= e#erce de inter$az con la unidad m)'il. EE1 9LR @9!' L!c$(i!n & %i"( &A= es un registro "ue se encarga de recabar datos del usuario! y de los ser'icios "ue tiene contratados. EE1 ?LR @?i"i(!& L!c$(i!n R %i"( &A= es un registro "ue recaba in$ormaci)n sobre el estado de las estaciones y unidades m)'iles! as. como la disponibilidad de los ser'icios complementarios. EE1 c n(&! d 0$1id$ci-n @A,(= n(ic$(i!n C n( &AE se encarga de proteger al usuario de accesos no autorizados o de in'asiones al ser'icio contratado. (ace uso del (7@. EE1 & %i"(&! d id n(id$d d 1 ;,i2! @E;,i2' n( Id n(i(# R %i"( &A = es un registro "ue recaba in$ormaci)n del tipo de unidad m)'il utilizado! y se usa para $unciones como el blo"ueo de e"uipos robados o no permitidos. 2.1.!. "uncionamiento de las llamadas. 0n la siguiente $igura! se puede obser'ar c)mo se produce una llamada +SM. 0n los pasos 1 y 2! el usuario llama a la unidad m)'il a tra'&s de la red tele$)nica! "ue llega al centro de comunicaci)n :MS9;. 7uego! el MS9 comprueba los registros del usuario en el (7@ y K7@ :pasos 3 y 4;. %anto el K7@ como el (7@ le de'uel'en la in$ormaci)n al MS9 y! si este comprueba "ue los registros son 'lidos! redirecciona la llamada al MS9 receptor en el paso /. 0l MS9 receptor 'uel'e a comprobar la 'alidez de los datos del usuario en el K7@ :pasos < y >;. 5na 'ez comprobados! en'.a en el paso D la noti$icaci)n a la estaci)n base pertinente! "ue a su 'ez se lo comunica a la estaci)n m)'il de destino. ,or -ltimo! se en'.a una se8al de con$irmaci)n a tra'&s del MS9 hasta la red "ue en'.a la llamada para completarla :paso 1G;.

13

Figura 2.2. o!u"icaci#" GSM paso a paso

0l sistema +SM tambi&n esta preparado en el caso de "ue se produzca una reubicaci)n en una c&lula distinta a la anterior. 0n este caso! la estaci)n m)'il en'.a su solicitud #unto con su identi$icaci)n a la estaci)n base! "ue la redirige al MS9. 0l MS9 comprueba en el registro K7@ si esta el usuario :paso 1;. 0n e caso de "ue el K7@ no tenga in$ormaci)n del usuario al ser nue'o! en'.a la in$ormaci)n al (7@ del usuario :paso 4;! "ue elimina el K7@ anterior y ubica el actual como &l actualmente en uso. 5na 'ez realizado esto! el K7@ redirecciona la con$irmaci)n al usuario a tra'&s del MS9 y de la estaci)n base :paso 4;.

Figura 2.$. Fu"cio"a!ie"to e" la reubicaci#"

14

2.1.#. $nter%a& GSM +SM se dise8) de modo "ue permitiera la di'isi)n en particiones $uncionales. Dichas particiones tienen sus $ronteras en las di$erentes inter$aces "ue la componen. 0stas son las siguientes= E 7a inter$az . Se encarga del MS9! (7@ y K7@ por un lado! y por el otro de CS9 y de radio. E 7a inter$az bis. De$ina la opercai)n entre el CS9 y la C%S. E 7a inter$az de aplicaci)n m)'il! M , :Mobile pplication ,art;= se encarga de las opercaiones entre MS9 y la red tele$)nica! as. como el MS9! el (7@! el K7@ y el 06@. M , se implementa encima de SS<. 7a inter$az de radio 5m.

15

2*2* SMS* 2.2.1. $ntroduccin SMS es el t&rmino utilizado para el ser'icio de mensa#es cortos :Short Message Ser'ice;. ,uede $ormarse a partir de palabras! n-meros o combinaciones al$anum&ricas! y su tama8o es de 1/G caracteres para el al$abeto latino! y <G caracteres para caracteres como el rabe o el chino. 7os SMS $orman parte del estndar +SM y $ueron introducidos en el a8o 1DD2. (oy en d.a! su uso es inmenso en todos los usuarios. 2.2.2. Caractersticas. Seg-n el estndar +SM! un mensa#e corto tiene una capacidad de 1/G caracteres. 2o obstante! tambi&n se pueden utilizar para en'iar mensa#es en otros $ormatos! como el binario y el he1adecimal. 5n mensa#e SMS se en'.a a tra'&s de un centro de SMS! en 'ez de directamente entre el transmisor y el receptor. 0l ser'icio de mensa#es cortos posee adems una con$irmaci)n de mensa#e de salida. 0n cuanto el usuario en'.a el mensa#e! recibe otro mensa#e! "ue le indica si lo ha recibido el destinatario o no. Atra caracter.stica de los mensa#es cortos es "ue se pueden utilizar al mismo tiempo "ue la 'oz! el en'.o de datos y las llamadas de $a1. Mientras "ue las llamadas! y la in$ormaci)n de $a1Ldatos 'ia#an a tra'&s de un canal de radio dedicado durante la llamada! los SMS 'ia#an a tra'&s de un canal dedicado independiente del normal. 0n el caso de "ue se "uieran en'iar mas de 1/G caracteres! e1isten dos m&todos de en'.o distintos= EL$ c!nc$( n$ci-n= "ue consiste en en'iar 'arios mensa#es cortos consecuti'os. EL$ c!'2& "i-n= "ue permite en'iar un s)lo mensa#e de ms de 1/G caracteres. ,ara utilizar los mensa#es cortos se re"uiere de= E5na suscripci)n a una red de tele$on.a m)'il. E5n tel&$ono m)'il con capacidad de en'iar SMS. E5n destino 'lido para en'iar el mensa#e :$a1! ,9! eEmail u otro terminal m)'il;.

1/

2.2.3. 'r(uitectura. l igual "ue los m)dulos +SM! los SMS estn dotados de una red e in$raestructura parecidas al estndar antes mencionado. lgunos de sus componentes son= ESME @S=!&( M ""$%in% En(i(#A= se trata del dispositi'o capaz de en'iar y recibir mensa#es cortos :tel&$ono m)'il! ,9! etc.; ESMSC @S=!&( M ""$% " &0ic C n( &A= es el centro encargado del almacenamiento y transmisi)n de un mensa#e corto entre dos dispositi'os. ESMSBG$( 7$#GIn( &7!&Din% MSC @SMSBGMSCA = normalmente integrado en el SMS9! es un centro capaz de redirigir un mensa#e corto! identi$icando al susuario mediante (7@ y en'iando el mismo al SMS9 apropiado. E9LR @=!' L!c$(i!n R %i"( &AE es una base de datos "ue alamcena in$ormaci)n sobre los usuarios y los ser'icios disponibles. 7e indica al SMS9 la ubicaci)n del usuario destinatario del mensa#e! o! si el receptor no esta disponible! a'isa al centro cuando si lo est. EMSC @M!.i1 S7i(c=in% C n( &A= lle'a a cabos $unciones de conmutaci)n y gesti)n del sistema. E?LR @?i"i(!& L!c$(i!n R %i"( &AE da in$ormaci)n al SMS9 de los usuarios de paso! proporcionndoles permisos para el ser'icio de mensa#es. EBSS @B$" S($(i!n S#"( 'A= su principal uso es en'iar y recibir tr$ico entre terminales. EMS @M!.i1 S($(i!nA= terminal m)'il capaz de generar y recibir llamadas. 0l MS hace uso del M ,! "ue de$ine los m&todos de comunicaci)n inalmbricos de la estaci)n. 2.2. . )nvo de SMS 0l M , es la aplicaci)n encargada de dar el soporte necesario al SMS. 0n el estndar internacional se le conoce por el nombre de +SM M ,. 0ntre algunas de las operaciones del M 9 se pueden hablar de= ESolicitud de 6n$ormaci)n de 0ncaminamiento= en la "ue el SMS9 e1trae in$ormaci)n del (7@ para comprobar la ubicaci)n del terminal antes del en'.o del SMS. E0n'.o del Mensa#e ,unto a ,unto= mecanismo "ue permite al SMS9 en'iar un mensa#e corto al MS9 destinatario. Se encarga tambi&n de transmitir la con$irmaci)n del en'.o al remitente. E6ndicaci)n de 0spera del Mensa#e 9orto= se acti'a cuando el en'.o $alla por alg-n incidente. 0sto hace "ue el SMS9 solicite al (7@ cuando el destinatario esta disponible. 1<

E lerta del 9entro de ser'icio= hace "ue el (7@ in$orme al SMS9 "ue un destinatario pre'iamente no disponible lo est ahora. (ay "ue tener en cuenta tambi&n 'arios per.odos= el de 'alidaci)n indica cuanto tiempo puede el SMS9 almacenar el mensa#e antes del en'.o! mientras la prioridad indica la posici)n del en'.o respecto a otros. 0l procedimiento de en'.o de un SMS es como el de una llamada +SM. 0l mensa#e se en'.a del SM0 al SMS9. 7uego! el SMS9 'alida y localiza el destinatario con el (7@! y lo en'.a al MS9 pertinente. continuaci)n! el MS9 autenti$ica el destinatario con el K7@ y en'.a el mensa#e corto al MS. ,or -ltimo! se en'.a el mensa#e de con$irmaci)n de 'uelta al SM0.

Figura 2.%. &"'(o de SMS 2.2.!. 'plicaciones 0ntre las aplicaciones de los SMS se encuentran= E7os mensa#es simples entre personas! siendo de uso rutinario. E2oti$icaciones de buz)n de 'oz y $a1. E lertas de correo electr)nico. ESer'icios e in$ormaci)n y descargas. E9hat! emergiendo actualmente y sustituyendo al SMS con'encional hoy en d.a. EAtros usos= como la super'isi)n remota! almacenamiento de in$ormaci)n! localizaci)n por +,S! etc.

1>

01isten tambi&n distintas clases de SMSs! seg-n su almacenamiento. 7a 9lase G :no se almacena en memoriaM ?lash;! la 9lase 1 :se almacena en la memoria del tel&$ono;! la 9lase 2 :se almacena en la tar#eta S6M del tel&$ono;! y la 9lase 3 :se almacena en una aplicaci)n e1terna del tel&$ono;.

1D

2*5* S'$&(c$&d" 2.3.1. $ntroduccin 5na smart card es un dispositi'o con un chip de circuito integrado incorporado "ue puede ser tanto un microcontrolador! con o sin memoria! o un chip de memoria -nicamente. 7a tar#eta se conecta con un lector ya sea mediante contacto $.sico o con una inter$az de radio$recuencia a distancia. 9on un microcontrolador integrado! una smartcard puede= almacenar datos! e#ecutar sus propias $unciones :encriptaci)n! autenti$icaci)n mutua; e interactuar con el lector de tar#etas.

Figura 2.). Arquitectura de u"a S!artcard 7a tecnolog.a smart card esta realizada con$orme a los siguientes estndares internacionales! 6SA <>1/ y 14443! y esta disponible en una amplia 'ariedad de $ormas= tar#etas de plstico! S6Ms de m)'iles! y piezas basadas en comunicaci)n 5SC. 2.3.2. Tecnologa (ay dos categor.as generales de smart cards= c!n ! "in contacto. 5na smart card de contacto debe estar insertada en un lector de tar#etas con una cone1i)n directa mediante placas conducti'as en la super$icie de la tar#eta :generalmente placas doradas;. 7a transmisi)n de comandos! datos y estado de la tar#eta tienen lugar a tra'&s de estos puntos $.sicos de contacto. 5na tar#eta sin contacto re"uiere -nicamente una pro1imidad cercana al lector. %anto el lector como la tar#eta poseen una antena! y los dos se comunican usando radio$recuencias :@?;. Muchas tar#etas sin contacto suelen proporcionar energ.a al chip 2G

interno gracias a esta se8al electromagn&tica.

Figura 2.*. Arquitectura de S!artcard +2, 7a distancia 'ar.a entre 1 y < cm para las tar#etas sin bater.a! y su uso es ideal para accesos a edi$icios y pagos "ue re"uieren una interacci)n rpida con la tar#eta. Atras dos categor.as adicionales de tar#etas son las tar#etas de inter$az dual y las tar#etas h.bridas. 5na tar#eta h.brida posee dos chips! uno con inter$az de contacto y el otro con inter$az sin contacto. 7os dos chips no estn interconectados. 5na tar#eta de inter$az dual tiene un -nico chip "ue posee tanto inter$az por contacto como sin contacto. 9on las tar#etas de inter$az dual! es posible acceder al mismo chip tanto con o sin contacto con un ni'el muy alto de seguridad. 7os chips usados en todas estas tar#etas caen en dos categor.as tambi&n= chips microcontroladores y chips de memoria. 5n chip de memoria es como un pe"ue8o disco $loppy con seguridad opcional. 7os chips de memoria son mas baratos "ue los microcontroladores pero con un decremento a8adido de seguridad en el mane#o de datos. 7as tar#etas "ue utilizan chips de memoria dependen de la seguridad del lector de tar#etas para procesar y son ideales para situaciones con seguridad media o ba#a. 5n chip microcontrolador puede a8adir! borrar y manipular in$ormaci)n de su memoria. 5n microcontrolador es como un ordenador en miniatura! con un puerto de entradaLsalida! un sistema operati'o! y un disco duro. 7as smart cards con un microcontrolador integrado tienen la habilidad -nica de guardar grandes cantidades de datos! lle'ar a cabo sus propias $unciones :encriptaci)n y $irmas digitales; e interactuar de manera inteligente con el lector de tar#etas.

21

Figura 2.-. o"e.io"es de u"a S!artcard

22

5* M (!d!1!%4$ # '$( &i$1 " 1 %id!"*


5*1* M (!d!1!%4$ 0n el dise8o de sistemas se suelen seguir una serie de pasos "ue 'an desde la especi$icaci)n de re"uisitos hasta la comercializaci)n del producto $inal. 0l presente proyecto tiene como ob#eti'o $inal la comercializaci)n de un prototipo! por lo "ue el ciclo de dise8o no abarcar hasta la $ase $inal de $abricaci)n en serie del producto y posterior comercializaci)n. 0ste ciclo de dise8o se ha adaptado a las caracter.sticas del proyecto y constar de las $ases de especi$icaci)n de re"uisitos! establecimiento de ar"uitectura del sistema! desarrollo del hardNare y so$tNare! test y debug! y ! por -ltimo! dise8o y $abricaci)n. continuaci)n se detallan estas $ases= E"2 ci6ic$ci-n d & ;,i"i(!"E 0n esta $ase se establecen los re"uisitos "ue se "uiere "ue cumpla el producto a desarrollar. s. pues! se tendrn "ue especi$icar parmetros tales como coste m1imo! el rendimiento m.nimo! las ampliaciones $uturas! el consumo de energ.a! tama8o o peso. E"($.1 ci'i n(! d 1$ $&;,i( c(,&$ d 1 "i"( '$E se tomar en cuenta el microcontrolador como elemento primordial del sistema. %ambi&n habr "ue tener en cuentas los puertos para las cone1iones con el resto de elementos del sistema :pantalla! teclado! m)dulo +SM! etc.;. D "$&&!11! d 1 =$&d7$& # "!6(7$& E 5na 'ez se tiene claro lo "ue se "uiere hacer! es el momento de empezar a desarrollarlo y para ello! en primer lugar! se hace una selecci)n de componentes a utilizar en la placa! realizando tambi&n el e"uema de la circuiter.a. (ay "ue tener en cuenta "ue en el ciclo de dise8o hardNare se pueden dar situaciones de dise8oEprototipoEtesteoE'uelta atrs! con el consiguiente encarecimiento del producto $inal. ,or esta raz)n! se de#a la $ase de dise8o y $abricaci)n del ,9C para el $inal! desarrollando antes una primera placa de prueba "ue ser'ir para 'eri$icar en la siguiente $ase de testeo tanto el correcto dise8o de la circuiter.a como el $irmNare del microcontrolador. T "( # d .,%E 5na 'ez comprobado el desarrollo del hardNare y $irmNare se procede a comprobar su correcto $uncionamiento. ,ara ello! se somete al sistema di'ersas pruebas para comprobar su respuesta ante ciertas acciones "ue pro'ocaremos en &l. %odo con tal de garantizar su $uncionamiento. Di" <! # 6$.&ic$ci-nE ,or -ltimo! una 'ez "ue se han comprobado y aprobado los pasos anteriores! se proceder a dise8ar la placa del circuito para su uso. T "( ! # >2 &i' n($ci-nE 5na 'ez montado el circuito! se testear otra 'ez para comprobar "ue todo $unciona en orden.

23

5*2* S!6(7$& d d "$&&!11! ,ara la realizaci)n del proyecto se han utilizado 'arios programas de so$tNare! cada cual cumple un $unci)n determinada! desde el desarrollo del ,9C hasta la programaci)n del microcontrolador. 7os programas a utilizar son los siguientes= Arcad D.2! 99S 9ompiler :'er. 4.1;! ,roteus < ,ro$essional! M,7 C 6D0 >.5. Su $uncionamiento y participaci)n en el proyecto se detalla a continuaci)n. O&c$d 3*2 0l programa Arcad es un programa de desarrollo de circuitos electr)nicos. 9onsta de dos programas principales. Arcad 9apture es un programa "ue permite dise8ar el es"uemtico del circuito! adems de simularlo 'irtualmente. Arcad 7ayout permite el desarrollo de ,9Cs para la posterior $abricaci)n de las mismas.

Figura $.1. /e"ta"a de 0rcad 0ste programa se usar principalmente para desarrollar el ,9C del proyecto! ya "ue es un programa de gran di$usi)n y cuyos dise8os son compatibles en otros programas 'arios. ,ara ello! realizaremos el es"uemtico en Arcad 9apture! y posteriormente lo pasaremos a 7ayout! donde seleccionaremos la ubicaci)n $.sica de los componentes y sus cone1iones en la placa.

24

Figura $.2. /e"ta"a de esque!1tico e" 0rcad CCS C!'2i1 & @0 &* 8*1A 2uestro principal programa para desarrollar el so$tNare del microcontrolador es el compilador de 99S. 0ste so$tNare nos permite hacer la programaci)n del 1>?252G tanto en lengua#e ensamblador c)mo en 9. dems! tiene 'arias caracter.sticas "ue $acilitan su mane#o! c)mo el uso de librer.as tanto para microcontroladores as. como los peri$&ricos "ue 'ayamos a a8adir a los mismos! as. como noti$icaci)n de errores y de uso de memoria en el programa del ,69.

Figura $.$. /e"ta"a de

S o!piler

25

,ara este proyecto! realizaremos la programaci)n en 9 al ser ms sencilla. %ambi&n haremos uso de librer.as para el 1>?252G :"ue se ocupan de con$igurar el programa para el microcontrolador;! as. como para los peri$&ricos del proyecto ms comple#os! como la pantalla 79D! la 00,@AM de las tar#etas y el m)dulo +,S. P&!( ," + P&!6 ""i!n$1 l igual "ue Arcad D.2! ,roteus < ,ro$essional es un programa de desarrollo y simulaci)n de placas electr)nicas. ,osee dos programas principales! 6sis y res. 6sis es un programa de dise8o de es"uemas electr)nicos y capaz de simular los mismos 'irtualmente. ,or otro lado res es el encargado de desarrollar ,9Cs de los es"uemticos realizados en 6sis! as. como poder 'isualizarlos en 3D para comprobar la apariencia $inal "ue tendr.a la placa electr)nica. 2uestro uso de ,roteus < de manera con#unta con Arcad se debe a "ue el primero es mucho ms intuiti'o! completo y sencillo en cuanto a la simulaci)n de componentes electr)nicos. 9on 6sis! podemos comprobar personalmente el $uncionamiento del programa del microcontrolador antes de trasladarlo al entrenador o a la misma placa! lo "ue permite modi$icarlo inmediatamente si obser'amos un comportamiento no deseado en el transcurso de la simulaci)n.

Figura $.%. /e"ta"a de 2sis +3roteus, 2o obstante! haremos uso de Arcad para el desarrollo del ,9C! ya "ue res no es tan $iable en cuanto a compatibilidad y estndares.

2/

Figura $.). Si!ulaci#" e" 2sis MPLAB IDE 8*5 M,7 C 6D0 >.5 es un programa destinado a la programaci)n de dispositi'os de Microchip! como microcontroladores :,69 y ds,69;. Su uso principal en el proyecto es a la programaci)n y depuraci)n del c)digo del microcontrolador 1>?252G. +racias a un addEon de 99S 9ompiler! podemos trasladar rpidamente el c)digo de un programa a otro sin complicaciones. M,7 C 6D0 >.5 esta dise8ado para usar 'arios Fits de depuraci)n como el ,icJit.

Figura $.*. /e"ta"a de M34A5 0sto lo conseguimos con un debugger de hardNare llamado 69D3! "ue permite programar nuestro microcontrolador da manera sencilla. 0l 69D3 posee la licencia de M,7 C para la programaci)n del microcontrolador! y es totalmente compatible con el 2<

programa. dems! incorpora puerto 5SC! lo "ue permite utilizarlo en cual"uier ordenador de sobremesa o p)rtatil sin recurrir a 'ie#os puertos.

Figura $.-. 2 6$

5*5* 9$&d7$& d d "$&&!11! ,ara desarrollar el proyecto e1puesto! se necesitar.an de 'arios elementos. ,or un lado! se re"uer.a de un ordenador con el so$tNare antes descrito para la programaci)n y el debug del prototipo. ,or otro! necesitbamos una placa de desarrollo en donde poder realizar las pruebas y el testeo del programa! as. como para aplicar $cilmente los cambios re"ueridos. ,or -ltimo! re"uer.amos de los componentes "ue pasar.an a $ormar parte del proyecto en s. :microcontroladores! per.$ericos! etc;. %odo el $irmNare del proyecto se realiz) en un porttil 6ntel 9ore 2 duo 2+hz y 4+C de memoria @ M! con un sistema operati'o BindoNs Kista. 7as pruebas de compatibilidad se e$ectuaron satis$actoriamente en un ,entium 4 de sobremesa con BindoNs O, :el cual se utiliz) en las primeras $ases del proyecto antes de tener acceso al 69D3! ya "ue el porttil carec.a de los puertos necesarios para conectarlo a la protoboard;. 0l monta#e! programaci)n y testeo del prototipo se realiz) en una placa de desarrollo llamada ,69School! preparada con elementos como pantalla 79D! teclado al$anum&rico! cone1i)n para 'arios tipos de microcontrolador y una protoboard para cone1iones de cableado. 7a programaci)n del prototipo se realiza con un debugger de Microchip :el 69D3;! "ue se conecta al ordenador mediante puerto 5SC! y al ,icSchool mediante un cable conectado al puerto 69S, de la placa de prueba

2>

8* An:1i"i" d $1( &n$(i0$"*


0n este cap.tulo se muestran los re"uisitos necesarios para una realizaci)n adecuada del proyecto y su $uncionamiento. s.mismo! se determinarn las alternati'as disponibles tanto a la hora de determinar el tipo de hardNare usado! como de la programaci)n del dispositi'o. ,or -ltimo! se elegirn las opciones mas adecuadas para usarlas en el dispositi'o y alcanzar los ob#eti'os propuestos. 8*1* R ;,i"i(!"* 7os re"uisitos ha cumplir en el proyecto para los ob#eti'os propuestos se di'idrin en dos grupos= re"uisitos de per.$ericos y re"uisitos generales del sistema. Se re"uiere "ue el dispositi'o sea del menor tama8o posible y de $cil mane#o. Se necesita adems "ue cumpla ciertos re"uisitos en las cone1iones disponibles para &l a la hora de interactuar con los per.$ericos. ,or otro lado! el dispositi'o debe de ser capaz de tener una alimentaci)n independiente! ya "ue $acilita a posteriori la instalaci)n y adaptaci)n del mismo. ,ara lograrlo! el dispositi'o debe de tener compatibilidad con los siguientes elementos= 5na $uente de alimentaci)n de 5 K! con un adaptador de tensi)n adecuado seg-n la alimentaci)n seleccionada. 5na bater.a remo'ible! preparada para proporcionar los 5 K re"ueridos en el dispositi'o. 7a necesidad de esta bater.a nace de las posibles descone1iones del dispositi'o de la red el&ctrica.

0l dispositi'o tambi&n tiene "ue tener la capacidad de comunicarse mediante tecnolog.a +SM. 0sto es necesario para poder en'iar los SMS "ue comunicarn el dispositi'o con el usuario a distancia. %ambi&n se re"uiere de un m&todo adecuado para la identi$icaci)n del usuario con el dispositi'o. 0l dispositi'o debe de tener el n-mero adecuado de sensoresLactuadores! "ue nos permitan 'isualizar y manipular el $uncionamiento del dispositi'o. Debe tener tambi&n un uso intuiti'o del mismo! ya "ue su p-blico ob#eti'o es cual"uier usuario sin conocimientos pre'ios de la electr)nica. ,or otro lado! es necesario "ue el dispositi'o este preparado para actualizaciones $uturas de contenido! por lo "ue sus cone1iones deben de ser lo ms 'erstiles posibles. %ambi&n debe de e1istir la posibilidad de "ue el dispositi'o se pueda reprogramar de manera sencilla.

2D

8*2* E0$1,$ci-n # " 1 cci-n d $1( &n$(i0$"* 5na 'ez determinadas las necesidades "ue re"uiere nuestro proyecto! se pasan a analizar las di$erentes alternati'as disponibles as. c)mo el por"u& de nuestra decisi)n $inal. .2.1. Comunicacin por SMS. Siendo la comunicaci)n a distancia con el usuario uno de los moti'os ms importantes para el desarrollo del proyecto! era necesario adoptar esta elecci)n en primer lugar. De una elecci)n u otra depender el dise8o de todo el proyecto. 0n el caso de un dispositi'o capaz de comunicarse con SMS! hay una gran 'ariedad de modelos de m)'iles disponibles en el mercado :0ricsson! 2oFia! Motorola! etc.;. 2o obstante! casi todos los modelos actuales presentan el problema de "ue re"uieren de aplicaciones m)'iles y ar"uitecturas comple#as para poder en'iar )rdenes a los mismos. ,or esa misma raz)n! la totalidad de los dispositi'os m)'iles actuales $ueron descartados! ya "ue! a-n pasando por encima de la barrera tecnol)gica! "uedaba la barrera $inanciera! ya "ue un terminal m)'il actual tiene demasiado precio en este proyecto para la cantidad de $unciones "ue e#ercer.a. 0staba claro "ue para poder elegir el dispositi'o de comunicaci)n! hab.a "ue elegir primero un estndar de comandos para poder en'iar al mismo. 0sto nos permitir.a por un lado tener un $cil uso del dispositi'o a tra'&s del microcontrolador! y por el otro! tener la $acilidad de intercambiar el dispositi'o por otro compatible con el estndar de manera directa. De entre 'arios tipos de instrucciones! se decidi) usar los comandos (ayes! ms com-nmente conocidos como comandos %. 0l con#unto de comandos (ayes $ue desarrollado por 7a8es o!!u"icatio"s para la transmisi)n de comandos a m)dems. 0sto se consigue mediante la transmisi)n de cada comando por @S232! precedidos por el pre$i#o H %I.

Figura %.1. o!a"dos 7a8es 3G

5na 'ez determinado el lengua#e utilizado para la transmisi)n! hab.a "ue localizar un terminal compatible con ese lengua#e. Desgraciadamente! muchos m)dems y m)'iles de hoy en d.a no son compatibles con los comandos % :o al menos! no de $orma directa;! por lo "ue las opciones se limitaban a terminales m)'iles antiguos o a m)dulos +SM. 7a opci)n del terminal m)'il era sencilla! conectando a tra'&s de un cable 2ull Modem :cable cruzado; el m)'il al dispositi'o. 0l problema radicaba en "ue los terminales eran muy antiguos! y por lo tanto! estaban $uera de la lista posible. 0n el caso de un proyecto personal eran una opci)n adecuada! pero en este caso! y sabiendo "ue esta dirigido a un uso general no era adecuado hacerlo.

Figura %.2. M#'il GSM 0sto nos de#aba una -ltima opci)n= el uso de m)dulos +SM para la transmisi)n de mensa#es SMS. 5n m)dulo +SM es un terminal pe"ue8o para una tar#eta S6M :necesaria y "ue re"uiere de ser'icio de tele$on.a;! "ue puede en'iar y recibir tanto mensa#es como llamadas. 7os m)dulos +SM se rigen por el estndar +SM. Dado la inmensa cantidad de m)dulos disponibles en el mercado! y la 'ariedad de precios entre ellos! casi cual"uier m)dulo compatible con los comandos (ayes era adecuado para utilizarlo en el proyecto. 7as compa8.as "ue producen estos m)dulos son 'arias= 9iterion! Matri1! %elit! etc. ,ara el desarrollo de este prototipo en espec.$ico! se decidi) recurrir a la marca %elit! espec.$icamente el modelo +9>/4E ,P.

31

Figura %.$. G 9*%-3: 0n la siguiente tabla las caracter.sticas de banda del mismo.

;abla %.1. Modos de tra"s!isi#" G 9*%-3: .2.2. Microcontrolador. ,ara elegir el microcontrlador adecuado! es con'eniente conocer los re"uisitos pre'ios para el mismo. 0ntre esos re"uisitos con'iene destacar los siguientes. ,rocesador= ,or cuestiones de econom.a! se re"uiere "ue el dispositi'o sea lo ms sencillo posible en cuestiones de procesamiento de datos. 0s importante por ello elegir un dispositi'o lo bastante rpido para las $unciones "ue e#ercer! pero con el menor n-mero posible de bits. 0n este caso! nos $i#amos un microcontrolador de > bits! o 1/ si es absolutamente necesario. 0ntradaLSalida= Debido a la cantidad de per.$ericos "ue comunicarn con el microcontrolador! es necesario "ue &ste tenga la cantidad de puertos necesaria para conectarse a todos los dispositi'os sin necesidad de acudir a elementos tales como multiple1ores y entradas anal)gicas. %ambi&n debe de tener la capacidad obligatoria de permitir la transmisi)n 629 :para las tar#etas Smartcard; y la @S232 :para el m)dulo +SM;. 9onsumo= 0stando el dispositi'o continuamente encendido a la espera de comunicarnos con &l! es permisible "ue $uncione a 3.3K o a 5K >siendo este -ltimo 32

'alor pre$erido debido a la alimentaci)n del resto de peri$&ricos;. Memoria= Se recomienda "ue la memoria sea duradera y permita una gran cantidad de borrados y rescrituras. 0n este caso! se pre$iere una memoria tipo ?lash! a una memoria @AM >menos recomendable cuando se necesita memoria no ')latil;. ncho de palabra= lo ms recomendable en este caso es un ancho de palabra de > bits! por encima del 'alor de 4 y por deba#o de los innecesarios 1/ bits de ancho. %ambi&n es el 'alor ms utilizado en los microcontroladores.

7os $abricantes de microcontroladores son 'ariados! siendo los dos ms comunes tmel y Microchip. Se optar $inalmente por Microchip sobre tmel por 'arios moti'os= Son $ciles de programar y usar. 7o "ue elimina carga al desarrollo del proyecto y a la programaci)n de los di'ersos elementos interaccionando con el peri$&rico. ,osee una mayor 'ariedad de dispositi'os disponibles en el mercado :ms de 15G distintos! ms sus 'ariantes seg-n el encapsulado;. 7a programaci)n en ellos es $amiliar! dando 'enta#a sobre un microcontrolador del cual nunca se ha programado antes.

De entre 'arios modelos "ue enca#aban con los re"uisitos antes descritos! se eligi) al $inal el microcontrolador ?lash ,691>?252G! con su$iciente memoria para el tama8o del programa! y con la su$iciente cantidad de puertos disponibles :ms de 24; para conectar todos los peri$&ricos necesarios al mismo. 0n la imagen se ad#unta un detalle de las cone1iones del mismo.

Figura %.%. o"e.io"es del 19F2)2< 5na 'ez determinados los dos elementos principales! se procede al dise8o e implantaci)n del proyecto.

33

5* Di" <!*
5*1* In(&!d,cci-n* 0n las siguientes pginas se mostrar los pasos seguidos para el desarrollo del prototipo del SMSBatch. Desde su concepto inicial! pasando por los distintos a8adidos y problemas presentados durante el desarrollo. 5*2* Di" <! d 1 =$&d7$& * 7a primera decisi)n $ue comenzar con el desarrollo del elemento con el "ue interactuar el m)dulo +SM. De entre 'arias opciones disponibles! se decidi) por crear un elemento de seguridad con cla'e de acceso e identi$icaci)n personal. ,ara ello! hicimos uso del un microcontrolador como elemento central de control. 0n la actualidad e1isten muchos modelos disponibles tanto por Microchip como otras empresas como tmel. Debido a la $amiliaridad de uso! se decidi) por usar un modelo de microchip 1>?! en concreto el ,691>?252G. 7a elecci)n del 1>?252G sobre otros modelos respond.a a 'arias necesidades. 0n primer lugar! se necesitaba un microcontrolador con una 'ariedad de puertos y opciones. 0n segundo lugar! hab.a "ue elegir un modelo con su$iciente memoria para el $irmNare a instalar. 0n tercer y -ltimo lugar! el modelo deb.a ser relati'amente barato. 7a soluci)n me la present) el tutor del proyecto desde un principio! ya "ue ten.a 'arias unidades de un modelo "ue se adecuaba a los re"uisitos anteriores.

Figura ).1. 32 19F2)2< 0ntre otras cosas! el microcontrolador pose.a= E5na $recuencia de traba#o de hasta 4GM(z! ideal para una relati'a rapidez del $irmNare. E3 puertos completos de > pines de cone1i)n cada uno! la cantidad necesaria para el n-mero de cone1iones a realizar. E9apacidad para comunicarse por 6Q9! ideal para en'iar y recibir datos a y desde las 34

tar#etas Smart9ard. E9omunicaci)n para @S232! independiente del 6Q9 y "ue se usar.a para comunicarse con el m)dulo +SM mediante los puertos %1 y @1. 5na 'ez seleccionado el microcontrolador necesario! se proced.a a la asignaci)n de puertos a cada uno de los elementos con los "ue se comunica. 7a totalidad de los puertos CG a C< $ueron asignados al teclado al$anum&rico! ya "ue se re"uer.an de cone1iones para las 4 $ilas y las cuatro columnas. 0n un principio se prob) a utilizar una sola entrada anal)gica! combinando resistencias en los puertos del teclado! pero se descart) la idea al ser la se8al susceptible de ruido.

Figura ).2. ;eclado al=a"u!rico Atro m&todo "ue se prob) $ue el de usar un multiple1or para reducir el n-mero de puertos de > a / :ya "ue a-n habiendo 4 $ilas y 4 columnas! se re"uer.a tambi&n el estado de apagado! lo "ue lle'aba a tres puertos para las $ilas y 3 para las columnas;. 7a idea se descart) al poco al no ser necesaria una redistribuci)n de los puertos y al no ser 'iable econ)micamente. ?inalmente! se opt) por la idea inicial de usar los ocho conectores del puerto C.

35

Figura ).$. ;eclado al=a"u!rico +2, Atro problema "ue surgi) con el teclado era "ue no $uncionaba con una cone1i)n directa de los puertos. 0n un primer intento! se intent) usar los pullEups internos del microcontrolador pero no daban resultado ninguno. 7a soluci)n tu'o "ue 'enir con a8adir 4 resistencias como pullEdoNns para "ue el mismo puerto pudiese tanto en'iar como recibir se8ales. Atro elemento utilizado era una pantalla 79D de 1/12 caracteres. 0ste elemento har.a las 'eces de inter$az $.sica con el usuario! ser'ir.a de noti$icaci)n 'isual y $acilitar.a la con$iguraci)n tanto del elemento de seguridad como la comunicaci)n con el m)dulo +SM. 7a pantalla 79D :cristal l."uido; o$rece una matriz de caracteres "ue podemos transmitir! as. como un microcontrolador interno encargado de la 'isualizaci)n en la pantalla. 7as pantallas 79D o$recen un consumo reducido! y pueden ser progamadas con > o 4 puertos de bits de datos! aparte de 3 bits de control. 7os bits de control son el @S! el 0nable y el @eadLBrite. Mediante el puerto @LB elegimos si "ueremos transmitir in$ormaci)n a la pantalla o leerla. 0l 0nable permite la transmisi)n de datos! y el @S act-a para seleccionar si estamos en'iando un dato o un comando. 0l m)dulo 79D posee una zona de memoria @ M llamada DD@ M :Data Display @ M; donde se almacenan los caracteres "ue se 'an a mostrar en la pantalla. %iene una capacidad de >G bytes! 4G por cada l.nea! de los cuales s)lo 32 se pueden 'isualizar a la 'ez :1/ bytes por l.nea;. dems! posee una zona de memoria interna no 'oltil llamada 9+@AM. 0n esta zona de memoria! estn almacenados los 1D2 caracteres "ue puede representar la pantalla! cada uno determinado por un n-mero binario de > bits. ,or otro lado! si lo deseamos podemos introducir > caracteres personalizados en la zona 9+@ M.

3/

;abla ).1. caracteres AS 22 ,ara la comunicaci)n con el lector de tar#etas Smart9ard! necesitbamos una cone1i)n 629 maestroEescla'o. 0n este caso! utilizar.amos al microcontrolador como maestro y a las tar#etas 00,@AM conectadas como escla'as. 0n un principio se tem.a "ue al conectar las tar#etas estas usasen los mismos puertos necesarios para la comunicaci)n entre el m)dulo +SM y el microcontrolador :los puertos de transmisi)n serie @S232! %1 y @1;. 2o obstante! no $ue el caso! ya "ue! aparte de la cone1i)n a masa y a la alimentaci)n! las tar#etas s)lo necesitaban un puerto para la transmisi)n de datos! y otra de relo#! ambas controladas por el maestro. pro'echando las cone1iones disponibles en el puerto ! se utiliz) una para conectar a un rel& electromagn&tico. 5n rel& electromagn&tico consiste en un inducido "ue puede conectarse a otros dos contactos magn&ticos :uno a cada lado;. ,or de$ecto! se encuentra conectado en uno de los contactos :el "ue utilizaremos para indicar el cierre;. 9uando entre los dos terminales de magnetizaci)n administramos una corriente! el contacto "ue se encuentra desconectado se magnetiza! atrayendo al inducido! "ue se desconecta del otro contacto y se #unta con &ste :el cual utilizaremos para indicar el estado de abierto;. 5na 'ez de#emos de aplicar corriente! el rel& electromagn&tico 'uel'e a su estado por de$ecto :cierre;. 5n rel& electromagn&tico es el adecuado en estos casos! ya "ue gracias a su 3<

aislamiento podemos traba#ar con elementos de otros 'olta#es sin peligro para la integridad del dispositi'o :12K por e#emplo;. Debido a "ue los -nicos modelos disponibles a mano eran un rel& de /K :no pod.amos generar tensi)n su$iciente; y uno de 3K! se opt) por usar este -ltimo con ayuda de un di'isor de tensi)n. ,ara indicar los estados de cierre y apertura utilizaremos un led ro#o y 'erde respecti'amente. ,or -ltimo! hab.a "ue conectar el m)dulo +SM al microcontrolador. De entre todos los dispositi'os! el m)dulo +SM era el "ue ms problemas ocasionaba. ,or un lado! ten.amos una alimentaci)n distinta! de 3.<K! "ue re"uer.a de un adaptador a partir de 5K. 7as opciones eran 'ar.as= un di'isor de tensi)n! una $uente de alimentaci)n regulada lineal! etc. ,ara e'itar problemas posteriores con el m)dulo :ya "ue era el elemento ms caro del prototipo;! se decidi) ol'idar cual"uier adaptador "ue no tu'iese las protecciones necesarias ante incidencias puntuales. ,osibilidades tales como el di'isor de tensi)n $ueron inmediatamente descartadas. ?inalmente! para resol'erlo se decidi) por utilizar dos m&todos= uno temporal y otro de$initi'o para el prototipo $inal. 0l m&todo temporal se usar.a durante el testeo del prototipo! y estar.a $ormado por una bater.a de 3.<K de 6onE7itio. 0l m&todo de$initi'o se har.a con un regulador de tensi)n. ,ara elegir el ms adecuado! hicimos uso de una aplicaci)n de 7inear %echnology llamada 7tspice 6K. 0sta aplicaci)n era adecuada para comprobar el $uncionamiento de los distintos reguladores de tensi)n! y para monitorizar la salida del regulador antes de su implantaci)n en el e"uipo. %ras probar 'arios reguladores lineales! se eligi) $inalmente el 7%152> :ya recomendado en el datasheet del $abricante del m)dulo +SM;. 9on una entrada de 5K! nos o$rec.a una salida a#ustable de 3 a 4K con una resistencia :se decidi) usar la e"ui'alente para los 3.<K de salida;! y una corriente de salida de pico menor a 2 :t.picamente <5G m ;.

3>

Figura ).%. >egulador li"eal para el GSM 5na 'ez resuelto el problema de la alimentaci)n! estaba el problema de los puertos de comunicaci)n. Mientras "ue el m)dulo se alimentaba a 3.< K! los puertos de transmisi)n y recepci)n utilizaban 9MAS de 2.> K. 0sto supon.a un "uebradero de cabeza! ya "ue al utilizar tensiones distintas a la alimentaci)n del m)dulo! hab.a "ue implantar otro m&todo de pasar de esas se8ales a los 5K del microcontrolador. 0n primer lugar! para transmitir del puerto %1 del ,691>?252G al m)dulo +SM! se opt) por utilizar un di'isor de tensi)n. ,ara sacar la tensi)n necesaria! se eligi) un di'isor de tensi)n de 4<G ohm con 22G ohm! lo "ue originaba una tensi)n a la salida de 3.4K :un 'alor dentro de los tolerable;. Sin embargo! el 'erdadero problema surg.a al pasar de los 2.>K a los 5K del microcontrolador. @ealizando dos in'ersores en serie! y utilizando una alimentaci)n de 5K en el colector de esos emisores :c)mo se muestra en el dibu#o;! se consigui) arreglar el problema. ,or -ltimo! a8adir.amos sNitches y leds indicadores seg-n el espacio disponible en el prototipo. ,ara elegir la alimentaci)n del dispositi'o! optamos por una bater.a recargable de 5K de salida para el mismo! ya "ue el elemento de seguridad deb.a estar preparado para descone1iones momentneas de la red el&ctrica. 0l oscilador! o relo#! re"uer.a "ue el microcontrolador $uese a una 'elocidad determinada :del entorno de los 4 Mhz;.

3D

5n 1>?252G tiene 1G modos de $uncionamiento del relo#.

;abla ).2. Modos de oscilaci#" 19F2)2< De entre todos los disponibles! se eligi) el cristal :O%; ya "ue era el ms adecuado para las caracter.sticas de $recuencia del relo# "ue "uer.amos.

Figura ).). &sque!1tico del oscilador Abser'ando el datasheet y su tabla de 'alores! un oscilador de 4M(z y dos condensadores de 3Gp? eran el elemento necesario para su $uncionamiento. 5*5* Di" <! d 6i&'7$& * 0n primer lugar hab.a "ue con$igurar el $uncionamiento principal del micrcontrolador. 0ra necesario programar elementos como el Batchdog o los 4G

temporizadores. 0ntre los parmetros a con$igurar se eligi)= 5na $recuencia de relo# de 4M(z! generada a tra'&s de un cristal e1terno. 0liminar protecciones tales c)mo el Batchdog! la protecci)n de ni'eles!etc. 2o acti'ar los pullEups internos del puerto C! ya "ue se encontraban $uera conectados al teclado al$anum&rico. 9on$igurar la cone1i)n de la Smartcard como una cone1i)n maestroEescla'o :siendo el microcontrolador el maestro;. 9on$igurar la comunicaci)n por @S232 entre el microcontrolador y el m)dulo +SM. 0sto se hizo con los parmetros recomendados en el datasheet del m)dulo :D/GG Caudios! > bits! sin paridad;. 9on$igurar los puertos de entrada y salida para los distintos elementos del proyecto.

0nte otras cosas! adems el $irmNare deb.a controlar los distintos elementos del proyecto. ,or un lado deb.a transmitir in$ormaci)n al m)dulo 79D seg-n las acciones e#ecutadas en el dispositi'o de seguridad. %ambi&n deb.a incorporar un modo de detectar cual tecla se hab.a pulsado en el teclado al$anum&rico. Deb.a ser capaz de escribir y leer en la memoria de las Smart9ards mediante 629. %en.a "ue poseer un men- de con$iguraci)n! al "ue s)lo el administrador del dispositi'o tendr.a acceso! con 'arias opciones de con$iguraci)n. Deb.a ser capaz de administrar 'arios usuarios. %en.a "ue tener la capacidad de mandar )rdenes al m)dulo +SM! para poder en'iar distintos mensa#es de a'iso al destinatario. ,or -ltimo y no menos importante! ten.a la obligaci)n de blo"uear o permitir el acceso a la cerradura electr)nica seg-n el caso e1puesto.

41

)* I'21 ' n($ci-n


)*1* I'21 ' n($ci-n d 1 =$&d7$& ntes de montar el ,9C hab.a "ue realizar las pruebas y modi$icaciones pertinentes en una placa de pruebas para comprobar "ue el $uncionamiento de todo era correcto. 0n nuestro caso! utilizamos la placa de pruebas ,icSchool de Microsystems 0ngineering. 0sta placa posee ya implantados 'arios de los elementos "ue usaremos en el prototipo. +racias a ella! no re"ueriremos de monta#e del oscilador! de la pantalla 79D ni del teclado matricial en las pruebas. %ambi&n tiene en su disposici)n interruptores y leds para monitorizar el estado del dispositi'o de seguridad! una protoboard para conectar los elementos restantes y acceso directo tanto a los puertos del microcontrolador como a las tomas de tierra y alimentaci)n.

Figura *.1. 3icSchool toolkit ,ara conectarlo al ordenador! se utiliza el debugger 69D3 conectado al puerto 69S, de la protoboard! ya mencionado anteriormente. 5na 'ez se compruebe con las pruebas realizadas en el ,icSchool son correctas y $uncionan! se podr empezar a dise8ar y montar la placa de circuito impreso del prototipo.

42

)*2* I'21 ' n($ci-n d 1 6i&'7$& * ,ara escribir el programa "ue controlar.a el $irmNare del microcontrolador! se utiliz) el 9ode 9omposer Studio '.4.1G4. parte del Hmain.cI! hicimos uso de las siguientes librer.as y archi'os= 18F2520*== librer.a con las $unciones e instrucciones necesarias para mane#ar y con$igurar el ,691>?252G. Lcd*c= librer.a dedicada a $acilitar el mane#o de la pantalla 79D 1/12! con los protocolos de comunicaci)n con la misma. ,ara programar el $irmNare del microcontrolador! este posee dos $ases principales. 0n la $ase inicial! el microcontrolador con$igura los puertos de comunicaci)n! en'.a el saludo y comprueba en la 00,@AM si hemos con$igurado ya las contrase8as m.nimas necsarias :contrase8a del administrador! contrase8a del primer usuario y contrase8a de pnico;. 0n el caso de "ue no lo hallamos con$igurado pre'iamente! deberemos introducir esas contrase8as para e#ecutar el programa principal. %ambi&n deberemos introducir un n-mero de intentos los cuales harn "ue se blo"uee la ca#a si $allamos en esa cantidad de intentos. 5na 'ez transcurrida la $ase inicial! llegamos a la $ase principal. 2os pedir "ue introduzcamos una contrase8a de / d.gitos! "ue pulsaremos con el teclado y nos los mostrar en pantalla con un s.mbolo HRI. 5na 'ez escrito el c)digo! comprobar primero si se ha e#ecutado la contrase8a de pnico. Si la contrase8a es la de pnico! abrir la ca#a pero en'iar un a'iso por el m)dulo +SM si el a'iso por m)'il est acti'ado. 0n el caso de "ue no sea as.! comprobar si se ha e#ecutado el c)digo de administrador! en ese caso se abrir el men- de con$iguraci)n y se "uitar el blo"ueo de la ca#a. 0n el men- de con$iguraci)n podemos cambiar las contrase8as! el n-mero de intentos! el n-mero de tel&$ono! e! incluso! reiniciar toda la ca#a. 5na 'ez hecho esto! el programa 'ol'er a la comprobaci)n de contrase8a. 0n el caso de "ue la contrase8a tampoco sea la del administrador! leer en la tar#eta Smart9ard la identi$icaci)n del usuario y comprobar la contrase8a escrita con la guardada en la memoria del microcontrolador para ese usuario. Si acierta! se abrir la ca#a. Si no se puede hacer esa comprobaci)n o la contrase8a es incorrecta! se gastar un intento y hay "ue 'ol'er a intentar poner la contrase8a. ,or -ltimo! si se ha llegado al n-mero de intentos m1imo! la ca#a se blo"uear! impidiendo su apertura. 7a -nica manera de desblo"uearla entonces es introduciendo la contrase8a del administrador. Si por alg-n moti'o adems tenemos acti'ado el a'iso por SMS! recibiremos un 43

mensa#e cuando se abra la ca#a $uerte! se $alle un intento! se blo"uee la ca#a o salte la alarma de pnico. 9on'iene mencionar 'arias caracter.sticas incorporadas al $irmNare. ,or un lado! FbdSgetc:; nos hace obtener un total de 1< 'alores posibles :del G al 1/; y un total de 1< caracteres posibles asociados a ese numero :del HGI al HDI! el HRI!ITI! y las letras de la H I a la H+I;. %anto el 'alor H1/I como la letra H+I es en'.an para indicar al microcontrolador "ue no se ha pulsado ninguna tecla. 7os dems 'alores se utilizan para representarlos en la pantalla 79D :en el caso de los caracteres;! como para guardarlos en memoria :en el caso de los n-meros;. i= +i"put?state+32@?5%,AA1 BB tecladoAA1,C kbdcAD-DE tecladoA<E F else i= +i"put?state+32@?5),AA1 BB tecladoAA1,C kbdcAD9DE tecladoA<E F else i= +i"put?state+32@?5*,AA1 BB tecladoAA1,C kbdcADGDE tecladoA<E F else i= +i"put?state+32@?5-,AA1 BB tecladoAA1,C kbdcAD DE tecladoA<E F ,or otro lado! en'iamos los comandos al m)dulo +SM mediante los comandos %. 7os comandos % : %%02%6A2 commands;! $orman parte del estndar +SM y se utilizan para la compatibilidad con di'ersos programas de so$tNare del mercado. 0n este caso! hacemos uso de los siguientes comandos %= AT= sir'e para comprobar si el m)dulo +SM es compatible con los comandos %. ATHCMGFI1= sir'e para a'isar al m)dulo +SM "ue deseamos en'iar un SMS. ATHCMGSIH58***E sir'e para en'iar el cuerpo del mensa#e al m)'il. 9onsta de dos instrucciones. 0n la primera elegimos el n-mero a en'iar el mensa#e! y en la segunda instrucci)n en'iamos el cuerpo del mensa#e en s.. i= +gs!statusAA$,C 44

pri"t=+HA;I MGSAI$%JcJcJcJcJcJcJcJc JcKrHLteleM<NLteleM1NLteleM2NLteleM$NLteleM%NLteleM)NLteleM*NLteleM-NLteleM9N,E dela8?!s+)<<,E pri"t=+H2"te"to gastadoH,E dela8?!s+)<<,E pri"t=+HJcHLctrlO,E dela8?!s+)<<,E gs!statusA<E ,or -ltimo! el men- se ha con$igurado para los 1/ botones del teclado! usando el bot)n D para con$irmar! el 9 para cancelar! y el C y el para elegir opci)n adelante o atrs. 7a carcasa de estos botones se debe dise8ar posteriormente para $acilitar su uso ms intuiti'o. 5na 'ez realizado el programa! debemos programarlo al microcontrolador. ,ara ello conectamos el debugger entre el ,9 y el ,icSchool y e#ecutamos M,7 C 6D0. 2os metemos en la pesta8a de ,ro#ect U Set 7anguage %ool localitations. 5na 'ez se nos muestre la pantalla! comprobamos si tenemos 99S 9 9ompiler $or ,6912L14L1/L1>. brimos el proyecto ya compilado en 99S y dentro de ,ro#ect seleccionamos 99S 9 9ompiler como %oolsuite. 7uego! seleccionamos el dispositi'o en 9on$igure U Select De'ice! el cual nos motrar la siguiente pantalla en la "ue seleccionamos el microcontrolador.

Figura *.2. Selecci#" de !icroco"trolador 0legimos 69D 3 como programador en ,rogrammer U Select ,rogrammer U M,7 C 69D 3. 5na 'ez hecho esto! le damos a ,rogram! y luego a Keri$y :para comprobar "ue se ha programado correctamente;. 2uestro programa ya esta programado en el microcontrolador.

45

+* E>2 &i' n($ci-n


,ara comprobar "ue todo iba en orden! necesitbamos hacer algunas pruebas de campo y obser'ar el $uncionamiento del prototipo en la placa de pruebas. ,ara ello! pon.amos el programa en $uncionamiento y a'erigubamos si su $uncionamiento era el adecuado en distintas situaciones. Si algo no $uncionaba bien durante la e1perimentaci)n! hab.a "ue comprobar otra 'ez tanto la implementaci)n del hardNare como del so$tNare. 0ntre 'arios $allos "ue se tu'ieron "ue a#ustar estaban el no $uncionamiento del teclado al$anum&rico :el cual se arreglo conectando los pullEdoNns;! in$ormaci)n de contrase8as "ue no se guardaban! un men- "ue hab.a "ue recon$igurar! y di'ersos $allos menores en la transmisi)n de datos :como! por e#emplo! transmitir un dato dos 'eces seguidas;. %ambi&n se prob) empezando a mane#ar cada componente por separado! para luego terminar #untandolos. 0sta parte no ten.a muchos problemas! aparte de cambiar el orden de interacci)n con los peri$&ricos y el microcontrolador. 5na 'ez hechos lo cambios pertinentes! se comprob) el $uncionamiento $inal del prototipo realizando las siguientes pruebas= Se comprob) "ue la in$ormaci)n de las contrase8as "uedaba guardada tras el reset del dispositi'o y "ue hac.a bien las comprobaciones de contrase8a. Se comprob) el correcto $uncionamiento del men- de con$iguraci)n para el administrador! as. c)mo "ue se guardasen las 'ariables modi$icadas correctamente. Se monitoriz) el estado de encendido y apagado del rel& en todo momento! as. como el blo"ueo o desblo"ueo de la ca#a. Se comprob) el intercambio de in$ormaci)n con las tar#etas Smartcard! y "ue el usuario coincidiese con la contrase8a introducida. Se comprob) "ue la comunicaci)n +SM era correcta! y "ue los SMS se en'iaban correctamente al destinatario. Se comprob) "ue la alarma $uncionase correctamente con el c)digo pnico.

7as contrase8as consegu.an guardarse correctamente en la memoria! y se consegu.a identi$icar al usuario. %ambi&n la modi$icaci)n de las mismas $ue correcto. 7as luces de encendido y apagado! as. como el estado de alarma y blo"ueo $uncionaron de manera correcta. 0l $uncionamiento del men- era correcto! y lo bastante intuiti'o de usar para el usuario. 7as tar#etas Smartcard se le.an y se programaban correctamente! permitiendo su 4/

uso en el proyecto. dems! se comprob) "ue se pudiesen a8adir o "uitar usuarios. ,ara $inalizar! se demostr) el $uncionamiento del m)dulo +SM y el en'.o de SMSs al usuario destinatario.

4<

8* C!nc1,"i!n " # (&$.$/! 6,(,&!*


8*1* C!nc1,"i!n "* 5na 'ez $inalizadas con &1ito las pruebas $inales! podemos hablar de las conclusiones tras haber realizado el proyecto. %anto el microcontrolador como los di'ersos elementos conectados a &l han terminado $uncionando de manera satis$actoria y correcta. 9omo producto $inal! hemos realizado una placa ,9C "ue contiene un dispositi'o de seguridad controlado por teclado al$anum&rico! tar#etas Smartcard de identi$icaci)n! y mensa#es SMS. %anto el control de la ca#a como el en'.o de mensa#es SMS estn en $uncionamiento correctamente. 2uestro dispositi'o ha conseguido los siguientes ob#eti'os= A$recer un dispositi'o de comunicaci)n remota entre un dispositi'o y el usuario! en este caso mediante el en'.o de mensa#es SMS! de muy ba#o cose actualmente. @ealizar un dispositi'o $cil de utilizar y con$igurar. +racias a un intuiti'o menpara el administrador del dispositi'o! este permite $cilmente cambiar los parmetros de $uncionamiento con un simple teclado al$anum&rico. 9rear un dispositi'o con 'arios elementos interacti'os. Desde el en'.o de in$ormaci)n a la pantalla! pasando por el intercambio con las tar#etas de memoria! hasta llegar al m)dulo +SM! hemos podido realizar un dispositi'o completo con un -nico microcontrolador! apro'echando los recursos "ue o$rec.a. 9rear un dispositi'o -til para 'arios usos. ,uede controlar el acceso a nuestra ca#a $uerte! a una puerta de seguridad! conectar la alarma de casa... y todo ello con la posibilidad de hacer uso del n-mero de usuarios "ue se re"uiera en cada situaci)n.

7a elecci)n de un microcontrolador ha sido muy e$ecti'a! ya "ue la relaci)n costeLuso "ue le damos es alta. 0l simple hecho de "ue un microcontrolador llegue a mane#ar todos los elementos al mismo tiempo disminuye el coste del producto. 2o obstante! este prototipo posee unas caracter.sticas de tama8o considerables! ya "ue hace uso de 'arios elementos de di'ersos tama8os y espec.$icaciones. 5sar encapsulado en SMD :montados en super$icie; en un $uturo puede ser una alternati'a 'iable para sol'entar parcialmente esta cuesti)n. De entre todos los elementos del prototipo! el ms comple#o y caro de implementar ha sido el m)dulo +SM! ya "ue re"uer.a distintos tipos de adaptaci)n :lo "ue re"uer.a a su 'ez ms espacio;. Sin embargo! su 'ersatilidad permite ampliar su uso de manera sencilla para otras $unciones! lo "ue compensa el coste inicial. 2o obstante! no hay "ue ol'idar "ue se re"uiere una S6Mcard con ser'icio de tele$on.a para hacer uso del mismo :lo "ue lle'a a costes adicionales si se paga de ms por el ser'icio;.

4>

8*2* L4n $" d (&$.$/! 6,(,&$"* De entre las posibles ampliaciones del proyecto! caben destacar unas cuantas= 6mplementar el dispositi'o en una cerradura real! teniendo en cuenta las limitaciones de 'olta#e e intensidad del rel& electromagn&tico utilizado. 6mplementar una aplicaci)n m)'il :app;! "ue permita una mayor interacci)n y monitorizaci)n del dispositi'o! as. c)mo una inter$az ms sencilla y menos tediosa "ue el uso de mensa#es SMS. 6mplementar este dispositi'o en un proyecto de dom)tica general! permitiendo no s)lo el acceso y control de un -nico dispositi'o sino de todo el hogar. 6mplementar un sistema alternati'o para la identi$icaci)n del usuario aparte del uso de Smartcards. ,or e#emplo! con tar#etas de pro1imidad.

P muchas opciones disponibles ms.

4D

II* P1$n!" # "2 ci6ic$ci!n "*


3*1* E";, '$ 1Cc(&ic!*

LCD1
LM016L

%1
CONN!H4

VSS VDD V

RS R#

D1
L D!GR N

1 2 3

4 5 6

RL1
RL$!SPCO

R1
330

D2
DIOD

7 8 9 10 11 12 13 14

D0 D1 D2 D3 D4 D5 D6 D7

U1

7 4 1
ON C
1

8 5 2 0
2

9 6 3 =
3

2 3 4 5 6 7 10 9 21 22 23 24 25 26 27 28

RA0/AN0/C1IN! RC0/T1OSO/T13CKI RA1/AN1/C2IN! RC1/T1OSI/CCP2 RA2/AN2/C2IN"/VR F!/CVR F RC2/CCP1 RA3/AN3/C1IN"/VR F" RC3/SCK/SCL RA4/T0CLKI/C1OUT RC4/SDI/SDA RA5/AN4/SS/HLVDIN/C2OUT RC5/SDO RA6/OSC2/CLKO RC6/TX/CK RA7/OSC1/CLKI RC7/RX/DT RB0/AN12/INT0/FLT0 RB1/AN10/INT1 RB2/AN8/INT2 RB3/AN9/CCP2 RB4/AN11/KBI0 RB5/KBI1/PGM RB6//KBI2/PGC RB7/KBI3/PGD PIC18F2520

11 12 13 14 15 16 17 18

"
4

R 3/MCLR/VPP

R5
10&

R4
10&

R3
10&

R2
10& 4 3 2 1

1 2 3 4 3'7V

%2
CONN!H4

Figura G.1. &sque!1tico del 3 5

5G

3*2* Li"($d! d c!'2!n n( "* 0n la tabla se muestra un listado de componentes utilizados en el circuito impreso.

NJMERO DESCRIPCIN / 2 1 2 1 2 4 2 1 1 1 1 1 1 1 1 1 1 ;abla G.1. 4istado de co!po"e"tes @esistencias de 1JV @esistencias de 4<GV @esistencia de 4<V @esistencias de 33GV @esistencias de 22GV %ransistor C954< 9ondensador electrol.tico 4<u? 9ondensador cermico 15p? 9ristal 4M(z 7ed ro#o 7ed 'erde Diodo 124GG< @el& electromagn&tico 3K Microcontrolador ,69 1>?252G %eclado matricial 414 ,antalla 79D 1/12 9onector Smartcard M)dulo +SM %elit +9>/4E,P

51

3*5* Pin!,(

SEKAL MCLRLKppL@03 RA0L 2GL9162E RA1L 21L9262E RA5L 23L9162WLK@0?W @ 4L%G97J6L91A5, @ 5L 24LSSL(7KD62L92A5% Kss @ <LOSC1L97J6 @ /LOSC2L97JA RC0L%1ASAL%139J6 RC1L%1AS6L99,2 RC2L99,1 @93LS9JLSCL @94LSD6LSDA RC5LSDA @9/LTLL9J @9<LRLLD% ?"" ?dd RB0L 212L62%GL?7%G RB1L 21GL62%1 RB2L 2><62%2 RB5L 2DL99,2 RB8G 211LJC6G RB5LJC61L,+9 RB)LJC62L,+9 RB+LJC63L,+D ;abla G.2. 4istado de co"e.io"es del 32 19F

PIN 1 2 5 5 ) + 8 3 10 11 12 15 18 15 1) 1+ 18 13 20 21 22 25 28 25 2) 2+ 28

RA2L 22L9262WLK@0?WL9K@0? 8

52

SEKAL ?cc SCL GND SDA

PIN 1 5 5 +

M$"( & c1 $& 2 2ot connected 4 2ot connected / 2ot connected > ;abla G.$. 4istado de co"e.io"es de la tarPeta S!artcard

53

III* C-di%! d 1 2&!%&$'$*


,@A+@ M ,@6296, 7 Tinclude X1>?252G.hY T$uses O%!2A,5%!2A,@A%09%!2AC@AB2A5%!2A7K,!2ABD%!2A,C D02 Tuse delay:clocFZ4GGGGGG; Tuse i2c:M S%0@! SD Z,62S94! S97Z,62S93; Tuse @S232:C 5DZD/GG!C6%SZ>!, @6%PZ2!OM6%Z,62S9/!@9KZ,62S9<; Tuse standardSio:b; Tuse standardSio:c; int num[/\M int menuZGM char tele[D\M int tecladoZ1M char ctrlzZ2/M int blo"ZGM int gsmstatusZGM int FeycountZGM int inicioM int menuinde1M int intentoZGM int numintentoM int permisoZ1M char FeyM Tde$ine 79DS02 C70S,62 ,62S 2 Tde$ine 79DS@SS,62 ,62S G Tde$ine 79DS@BS,62 ,62S 1 Tde$ine 79DSD % 4 ,62S9G Tde$ine 79DSD % 5 ,62S91 Tde$ine 79DSD % / ,62S92 Tde$ine 79DSD % < ,62S95 Tinclude Xlcd.cY 'oid FbdSinit:;] setStrisSb:G1?G;M portSbSpullups:? 7S0;M^ int cambioint:;] int numerM i$ :FeyZZ_G_;] numerZGM^

54

i$ :FeyZZ_1_;] numerZ1M^ i$ :FeyZZ_2_;] numerZ2M^ i$ :FeyZZ_3_;] numerZ3M^ i$ :FeyZZ_4_;] numerZ4M^ i$ :FeyZZ_5_;] numerZ5M^ i$ :FeyZZ_/_;] numerZ/M^ i$ :FeyZZ_<_;] numerZ<M^ i$ :FeyZZ_>_;] numerZ>M^ i$ :FeyZZ_D_;] numerZDM^ i$ :FeyZZ_ _;] numerZ1GM^ i$ :FeyZZ_C_;] numerZ11M^ i$ :FeyZZ_9_;] numerZ12M^ i$ :FeyZZ_D_;] numerZ13M^ i$ :FeyZZ_R_;] numerZ14M^ i$ :FeyZZ_T_;] numerZ15M^ return numerM ^

55

char FbdSgetc:; ] char FbdcM FbdcZ_+_M outputShigh:,62SCG;M outputSloN:,62SC1;M outputSloN:,62SC2;M outputSloN:,62SC3;M i$ :inputSstate:,62SC4;ZZ1 `` tecladoZZ1;] FbdcZ_1_M tecladoZGM ^ else i$ :inputSstate:,62SC5;ZZ1 `` tecladoZZ1;] FbdcZ_2_M tecladoZGM ^ else i$ :inputSstate:,62SC/;ZZ1 `` tecladoZZ1;] FbdcZ_3_M tecladoZGM ^ else i$ :inputSstate:,62SC<;ZZ1 `` tecladoZZ1;] FbdcZ_ _M tecladoZGM ^ outputSloN:,62SCG;M outputShigh:,62SC1;M outputSloN:,62SC2;M outputSloN:,62SC3;M i$ :inputSstate:,62SC4;ZZ1 `` tecladoZZ1;] FbdcZ_4_M tecladoZGM ^ else i$ :inputSstate:,62SC5;ZZ1 `` tecladoZZ1;] FbdcZ_5_M tecladoZGM ^ else i$ :inputSstate:,62SC/;ZZ1 `` tecladoZZ1;] FbdcZ_/_M tecladoZGM ^ 5/

else i$ :inputSstate:,62SC<;ZZ1 `` tecladoZZ1;] FbdcZ_C_M tecladoZGM ^ outputSloN:,62SCG;M outputSloN:,62SC1;M outputShigh:,62SC2;M outputSloN:,62SC3;M i$ :inputSstate:,62SC4;ZZ1 `` tecladoZZ1;] FbdcZ_<_M tecladoZGM ^ else i$ :inputSstate:,62SC5;ZZ1 `` tecladoZZ1;] FbdcZ_>_M tecladoZGM ^ else i$ :inputSstate:,62SC/;ZZ1 `` tecladoZZ1;] FbdcZ_D_M tecladoZGM ^ else i$ :inputSstate:,62SC<;ZZ1 `` tecladoZZ1;] FbdcZ_9_M tecladoZGM ^ outputSloN:,62SCG;M outputSloN:,62SC1;M outputSloN:,62SC2;M outputShigh:,62SC3;M i$ :inputSstate:,62SC4;ZZ1 `` tecladoZZ1;] FbdcZ_R_M tecladoZGM ^ else i$ :inputSstate:,62SC5;ZZ1 `` tecladoZZ1;] FbdcZ_G_M tecladoZGM ^ else i$ :inputSstate:,62SC/;ZZ1 `` tecladoZZ1;] FbdcZ_T_M 5<

tecladoZGM ^ else i$ :inputSstate:,62SC<;ZZ1 `` tecladoZZ1;] FbdcZ_D_M tecladoZGM ^ outputSloN:,62SC3;M outputShigh:,62SCG;M outputShigh:,62SC1;M outputShigh:,62SC2;M outputShigh:,62SC3;M i$ :inputSstate:,62SC4;ZZG `` inputSstate:,62SC5;ZZG `` inputSstate:,62SC/;ZZG `` inputSstate:,62SC<;ZZG;] tecladoZ1M ^ outputSloN:,62SCG;M outputSloN:,62SC1;M outputSloN:,62SC2;M outputSloN:,62SC3;M return FbdcM ^ 'oid smstomobile:;] print$:a %W9M+?Z1bra;M delaySms:5GG;M i$ :gsmstatusZZ1;] print$:a %W9M+SZW34cccccccccccccccc cca!tele[G\!tele[1\!tele[2\!tele[3\!tele[4\!tele[5\!tele[/\!tele[<\!tele[>\;M delaySms:5GG;M print$:a9a#a abierta por ususarioa;M delaySms:5GG;M print$:acca!ctrlz;M delaySms:5GG;M gsmstatusZGM ^ i$ :gsmstatusZZ2;] print$:a %W9M+SZW34cccccccccccccccc cca!tele[G\!tele[1\!tele[2\!tele[3\!tele[4\!tele[5\!tele[/\!tele[<\!tele[>\;M delaySms:5GG;M print$:a9a#a blo"ueadaa;M delaySms:5GG;M 5>

print$:acca!ctrlz;M delaySms:5GG;M gsmstatusZGM ^ i$ :gsmstatusZZ3;] print$:a %W9M+SZW34cccccccccccccccc cca!tele[G\!tele[1\!tele[2\!tele[3\!tele[4\!tele[5\!tele[/\!tele[<\!tele[>\;M delaySms:5GG;M print$:a6ntento gastadoa;M delaySms:5GG;M print$:acca!ctrlz;M delaySms:5GG;M gsmstatusZGM ^ i$ :gsmstatusZZ4;] print$:a %W9M+SZW34cccccccccccccccc cca!tele[G\!tele[1\!tele[2\!tele[3\!tele[4\!tele[5\!tele[/\!tele[<\!tele[>\;M delaySms:5GG;M print$:a larma de panicoa;M delaySms:5GG;M print$:acca!ctrlz;M delaySms:5GG;M gsmstatusZGM ^ ^ LLZZZZZZZZZZZZZZZZZZZZZZZZZZZ629 para n-mero 'oid tele$ono:;] FeycountZ1M lcdSputc:ab$a;M lcdSputc:a%eclea numeroa;M lcdSgoto1y:1!2;M Nhile:FeycountX1G; ] Fey Z FbdSgetc:;M i$:FeydZ_+_ `` FeyXZ_D_ `` FeycountZZ1;] tele[G\Zcambioint:;M print$:lcdSputc!acca!Fey;M FeyZ_+_M FeycountWWM^ i$:FeydZ_+_ `` FeyX_ _ `` FeycountZZ2;] tele[1\Zcambioint:;M print$:lcdSputc!acca!Fey;M FeyZ_+_M FeycountWWM^ 5D

i$:FeydZ_+_ `` FeyX_ _ `` FeycountZZ3;] tele[2\Zcambioint:;M print$:lcdSputc!acca!Fey;M FeyZ_+_M FeycountWWM^ i$:FeydZ_+_ `` FeyX_ _ `` FeycountZZ4;] tele[3\Zcambioint:;M print$:lcdSputc!acca!Fey;M FeyZ_+_M FeycountWWM^ i$:FeydZ_+_ `` FeyX_ _ `` FeycountZZ5;] tele[4\Zcambioint:;M print$:lcdSputc!acca!Fey;M FeyZ_+_M FeycountWWM^ i$:FeydZ_+_ `` FeyX_ _ `` FeycountZZ/;] tele[5\Zcambioint:;M print$:lcdSputc!acca!Fey;M FeyZ_+_M FeycountWWM^ i$:FeydZ_+_ `` FeyX_ _ `` FeycountZZ<;] tele[/\Zcambioint:;M print$:lcdSputc!acca!Fey;M FeyZ_+_M FeycountWWM^ i$:FeydZ_+_ `` FeyX_ _ `` FeycountZZ>;] tele[<\Zcambioint:;M print$:lcdSputc!acca!Fey;M FeyZ_+_M FeycountWWM^ i$:FeydZ_+_ `` FeyX_ _ `` FeycountZZD;] tele[>\Zcambioint:;M print$:lcdSputc!acca!Fey;M FeyZ_bG_M FeycountWWM lcdSputc:ab$a;M lcdSputc:a2umber sa'eda;M^ ^ lcdSputc:ab$ 0n'iando datosa;M delaySms:2GGG;M FeycountZ11M i$ :FeycountZZ11;] i2cSstart :;M i2cSNrite :G1 G;M i2cSNrite :/G;M i2cSNrite:tele[G\;M i2cSstop:;M /G

delaySms:5G;M FeycountZ12M ^ lcdSputc:ab$ 1 de Da;M delaySms:2GGG;M i$ :FeycountZZ12;] i2cSstart :;M i2cSNrite :G1 G;M i2cSNrite :/1;M i2cSNrite:tele[1\;M i2cSstop:;M delaySms:5G;M FeycountZ13M ^ lcdSputc:ab$ 2 de Da;M delaySms:2GGG;M i$ :FeycountZZ13;] i2cSstart :;M i2cSNrite :G1 G;M i2cSNrite :/2;M i2cSNrite:tele[2\;M i2cSstop:;M delaySms:5G;M FeycountZ14M ^ lcdSputc:ab$ 3 de Da;M delaySms:2GGG;M i$ :FeycountZZ14;] i2cSstart :;M i2cSNrite :G1 G;M i2cSNrite :/3;M i2cSNrite:tele[3\;M i2cSstop:;M delaySms:5G;M FeycountZ15M ^ lcdSputc:ab$ 4 de Da;M delaySms:2GGG;M i$ :FeycountZZ15;] i2cSstart :;M i2cSNrite :G1 G;M i2cSNrite :/4;M i2cSNrite:tele[4\;M i2cSstop:;M /1

delaySms:5G;M FeycountZ1/M ^ lcdSputc:ab$ 5 de Da;M delaySms:2GGG;M i$ :FeycountZZ1/;] i2cSstart :;M i2cSNrite :G1 G;M i2cSNrite :/5;M i2cSNrite:tele[5\;M i2cSstop:;M delaySms:5G;M FeycountZ1<M ^ lcdSputc:ab$ / de Da;M delaySms:2GGG;M i$ :FeycountZZ1<;] i2cSstart :;M i2cSNrite :G1 G;M i2cSNrite ://;M i2cSNrite:tele[/\;M i2cSstop:;M delaySms:5G;M FeycountZ1>M ^ lcdSputc:ab$ < de Da;M delaySms:2GGG;M i$ :FeycountZZ1>;] i2cSstart :;M i2cSNrite :G1 G;M i2cSNrite :/<;M i2cSNrite:tele[<\;M i2cSstop:;M delaySms:5G;M FeycountZ1DM ^ lcdSputc:ab$ > de Da;M delaySms:2GGG;M i$ :FeycountZZ1D;] i2cSstart :;M i2cSNrite :G1 G;M i2cSNrite :/>;M i2cSNrite:tele[>\;M i2cSstop:;M /2

delaySms:5G;M FeycountZ11M ^ lcdSputc:ab$ 2umber senta;M delaySms:2GGG;M permisoZ2M ^ LLZZZZZZZZZZZZZZZZZZZZZZZZZZZM 0S%@A 'oid cla'emaestra:; ] lcdSputc:ab$a;M lcdSputc:a9odigo maestroa;M FeycountZ1M Nhile:FeycountX<; ] Fey Z FbdSgetc:;M i$:FeydZ_+_ `` FeydZ_1_ `` FeydZ_2_ `` FeydZ_3_ `` FeydZ_4_ `` FeydZ_5_ `` Feyd Z_/_ `` FeydZ_<_ `` FeydZ_>_ `` FeydZ_D_ `` FeydZ_G_ `` FeycountZZ1;] num[G\Zcambioint:;M NriteSeeprom:1!num[G\;M lcdSgoto1y:Feycount!2;M print$:lcdSputc!acca!_R_;M FeyZ_+_M FeycountWWM^ i$:FeydZ_+_ `` FeycountZZ2;] num[1\Zcambioint:;M NriteSeeprom:2!num[1\;M lcdSgoto1y:Feycount!2;M print$:lcdSputc!acca! _R_;M FeyZ_+_M FeycountWWM^ i$:FeydZ_+_ `` FeycountZZ3;] num[2\Zcambioint:;M NriteSeeprom:3!num[2\;M lcdSgoto1y:Feycount!2;M print$:lcdSputc!acca! _R_;M FeyZ_+_M FeycountWWM^ i$:FeydZ_+_ `` FeycountZZ4;] num[3\Zcambioint:;M NriteSeeprom:4!num[3\;M lcdSgoto1y:Feycount!2;M print$:lcdSputc!acca! _R_;M /3

FeyZ_+_M FeycountWWM ^ i$:FeydZ_+_ `` FeycountZZ5;] num[4\Zcambioint:;M NriteSeeprom:5!num[4\;M lcdSgoto1y:Feycount!2;M print$:lcdSputc!acca! _R_;M FeyZ_+_M FeycountWWM ^ i$:FeydZ_+_ `` FeycountZZ/;] num[5\Zcambioint:;M NriteSeeprom:/!num[5\;M lcdSgoto1y:Feycount!2;M print$:lcdSputc!acca! _R_;M delaySms:5GG;M FeyZ_+_M FeycountWWM ^ ^ FeycountZGM permisoZ2M ^ LLZZZZZZZZZZZZZZZZZZZZZZZZZZZ, 269A 'oid cla'epanico:;] lcdSputc:ab$a;M lcdSputc:a9odigo panicoa;M FeycountZ1M Nhile:FeycountX<; ] Fey Z FbdSgetc:;M i$:FeydZ_+_ `` FeydZ_1_ `` FeydZ_2_ `` FeydZ_3_ `` FeydZ_4_ `` FeydZ_5_ `` Feyd Z_/_ `` FeydZ_<_ `` FeydZ_>_ `` FeydZ_D_ `` FeydZ_G_ `` FeycountZZ1;] num[G\Zcambioint:;M NriteSeeprom:51!num[G\;M lcdSgoto1y:Feycount!2;M print$:lcdSputc!acca! _R_;M FeyZ_+_M FeycountWWM^ i$:FeydZ_+_ `` FeycountZZ2;] num[1\Zcambioint:;M /4

NriteSeeprom:52!num[1\;M lcdSgoto1y:Feycount!2;M print$:lcdSputc!acca! _R_;M FeyZ_+_M FeycountWWM^ i$:FeydZ_+_ `` FeycountZZ3;] num[2\Zcambioint:;M NriteSeeprom:53!num[2\;M lcdSgoto1y:Feycount!2;M print$:lcdSputc!acca! _R_;M FeyZ_+_M FeycountWWM^ i$:FeydZ_+_ `` FeycountZZ4;] num[3\Zcambioint:;M NriteSeeprom:54!num[3\;M lcdSgoto1y:Feycount!2;M print$:lcdSputc!acca! _R_;M FeyZ_+_M FeycountWWM ^ i$:FeydZ_+_ `` FeycountZZ5;] num[4\Zcambioint:;M NriteSeeprom:55!num[4\;M lcdSgoto1y:Feycount!2;M print$:lcdSputc!acca! _R_;M FeyZ_+_M FeycountWWM ^ i$:FeydZ_+_ `` FeycountZZ/;] num[5\Zcambioint:;M NriteSeeprom:5/!num[5\;M lcdSgoto1y:Feycount!2;M print$:lcdSputc!acca! _R_;M delaySms:5GG;M FeyZ_+_M FeycountWWM ^ ^ FeycountZGM permisoZ2M ^

/5

LLZZZZZZZZZZZZZZZZZZZZZZZZZZZ5S5 @6A 'oid cla'eusuario:;] lcdSputc:ab$a;M lcdSputc:a9odigo usuarioa;M FeycountZ1M Nhile:FeycountX<; ] Fey Z FbdSgetc:;M i$:FeydZ_+_ `` FeydZ_1_ `` FeydZ_2_ `` FeydZ_3_ `` FeydZ_4_ `` FeydZ_5_ `` Feyd Z_/_ `` FeydZ_<_ `` FeydZ_>_ `` FeydZ_D_ `` FeydZ_G_ `` FeycountZZ1;] num[G\Zcambioint:;M NriteSeeprom:11!num[G\;M lcdSgoto1y:Feycount!2;M print$:lcdSputc!acca! _R_;M FeyZ_+_M FeycountWWM^ i$:FeydZ_+_ `` FeycountZZ2;] num[1\Zcambioint:;M NriteSeeprom:12!num[1\;M lcdSgoto1y:Feycount!2;M print$:lcdSputc!acca! _R_;M FeyZ_+_M FeycountWWM^ i$:FeydZ_+_ `` FeycountZZ3;] num[2\Zcambioint:;M NriteSeeprom:13!num[2\;M lcdSgoto1y:Feycount!2;M print$:lcdSputc!acca! _R_;M FeyZ_+_M FeycountWWM^ i$:FeydZ_+_ `` FeycountZZ4;] num[3\Zcambioint:;M NriteSeeprom:14!num[3\;M lcdSgoto1y:Feycount!2;M print$:lcdSputc!acca! _R_;M FeyZ_+_M FeycountWWM ^ i$:FeydZ_+_ `` FeycountZZ5;] num[4\Zcambioint:;M NriteSeeprom:15!num[4\;M lcdSgoto1y:Feycount!2;M print$:lcdSputc!acca! _R_;M FeyZ_+_M //

FeycountWWM ^ i$:FeydZ_+_ `` FeycountZZ/;] num[5\Zcambioint:;M NriteSeeprom:1/!num[5\;M lcdSgoto1y:Feycount!2;M print$:lcdSputc!acca! _R_;M FeyZ_+_M FeycountWWM ^ ^ FeycountZGM permisoZ2M ^ LLZZZZZZZZZZZZZZZZZZZZZZZZZZZ62%02%AS D0 M0%0@ 9AD6+A 'oid cambiaintentos:;] lcdSputc:ab$a;M lcdSputc:a2umero intentosa;M numintentoZGM Nhile:numintentoZZG;] Fey Z FbdSgetc:;M i$:FeyZZ_1_;] lcdSgoto1y:1!2;M lcdSputc:ab$ 1 intentoa;M numintentoZ1M intentoZGM delaySms:1GGG;M^ i$:FeyZZ_2_;] lcdSgoto1y:1!2;M lcdSputc:ab$ 2 intentosa;M numintentoZ2M intentoZGM delaySms:1GGG;M^ i$:FeyZZ_3_;] lcdSgoto1y:1!2;M lcdSputc:ab$ 3 intentosa;M numintentoZ3M intentoZGM delaySms:1GGG;M^ i$ :FeydZ_+_ `` FeyY_3_;] lcdSgoto1y:1!2;M lcdSputc:a6ntentos de masa;M ^

/<

^ permisoZ2M ^ 'oid muestratele$ono:;] lcdSputc:ab$a;M lcdSputc:a2e %ele$onoa;M lcdSgoto1y:1!2;M print$:lcdSputc!acucucucucucucucu cua!tele[G\!tele[1\!tele[2\!tele[3\!tele[4\!tele[5\!tele[/\!tele[<\!tele[>\;M Nhile :FeydZ_D_;] FeyZFbdSgetc:;M ^ ^ LLZZZZZZZZZZZZZZZZZZZZZZZZZZZM025 D0 9A2?6+5@ 96A2 'oid menumaestro:;] lcdSputc:ab$a;M lcdSgoto1y:1!1;M lcdSputc:a briendo menu...a;M delaySms:5GGG;M menuinde1ZGM permisoZ2M Nhile:menuinde1X1G;] FeyZFbdSgetc:;M i$:FeyZZ_1_ ff :menuinde1ZZ> `` menuZZ1; ff :menuinde1ZZ1 `` menuZZ1; ff menuinde1ZZG;] lcdSputc:ab$a;M lcdSputc:a1.9odigo maestroa;M menuinde1Z1M menuZGM^ i$:FeyZZ_2_ ff :menuinde1ZZ2 `` menuZZ1;;] lcdSputc:ab$a;M lcdSputc:a2.9odigo panicoa;M menuinde1Z2M menuZGM^ i$:FeyZZ_3_ ff :menuinde1ZZ3 `` menuZZ1;;] lcdSputc:ab$a;M lcdSputc:a3.9odigo usuarioa;M menuinde1Z3M menuZGM^ i$:FeyZZ_4_ ff :menuinde1ZZ4 `` menuZZ1;;] lcdSputc:ab$a;M />

lcdSputc:a4.2umerointentosa;M menuinde1Z4M menuZGM^ i$:FeyZZ_5_ ff :menuinde1ZZ5 `` menuZZ1;;] lcdSputc:ab$a;M lcdSputc:a5.@einicia todoa;M menuinde1Z5M menuZGM^ i$:FeyZZ_/_ ff :menuinde1ZZ/ `` menuZZ1;;] lcdSputc:ab$a;M lcdSputc:a/.Marca tele$onoa;M menuinde1Z/M menuZGM^ i$:FeyZZ_<_ ff :menuinde1ZZ< `` menuZZ1; ff :menuinde1ZZD `` menuZZ1;;] lcdSputc:ab$a;M lcdSputc:a<.Muestra numeroa;M menuinde1Z<M menuZGM^ i$:FeyZZ_ _;] menuinde1WWM menuZ1M ^ i$:FeyZZ_C_;] i$:menuinde1ZZ1;]menuinde1ZDM^ else ]menuinde1EEM^ menuZ1M ^ i$:FeyZZ_D_;] i$ :menuinde1ZZ1;]FeyZ_+_MdelaySms:2GG;Mcla'emaestra:;Mmenuinde1Z1GM^ else i$ :menuinde1ZZ2;]FeyZ_+_MdelaySms:2GG;Mcla'epanico:;Mmenuinde1Z1GM^ else i$ :menuinde1ZZ3;]FeyZ_+_MdelaySms:2GG;Mcla'eusuario:;Mmenuinde1Z1GM^ else i$ :menuinde1ZZ4;]FeyZ_+_MdelaySms:2GG;Mcambiaintentos:;Mmenuinde1Z1GM^ else i$ :menuinde1ZZ5;]FeyZ_+_MdelaySms:2GG;MNriteSeeprom:G!13;Mmenuinde1Z1GM^ else i$ :menuinde1ZZ/;]FeyZ_+_MdelaySms:2GG;Mtele$ono:;Mmenuinde1Z1GM^ else i$ :menuinde1ZZ<;]FeyZ_+_MdelaySms:2GG;Mmuestratele$ono:;Mmenuinde1Z1GM^ ^ /D

i$ :FeyZZ_9_;]FeyZ_+_M delaySms:2GG;Mmenuinde1Z1GM^ ^ ^ LLZZZZZZZZZZZZZZZZZZZZZZZZZZZ9AM,@AC @ 9A2%@ S0g 'oid comprobar:; ] i$ :intentodZnumintento;] permisoZ1M^ else i$ :intentoZZnumintento;]permisoZGM^ i$ :num[G\ZZreadSeeprom:11; `` num[1\ZZreadSeeprom:12; `` num[2\ZZreadSeeprom:13; `` num[3\ZZreadSeeprom:14; `` num[4\ZZreadSeeprom:15; `` num[5\ZZreadSeeprom:1/; `` intentoXnumintento `` permisoZZ1;] intentoZGM lcdSputc:ab$a;M lcdSputc:a9a#a abiertaa;M gsmstatusZ1M smstomobile:;M outputShigh:,62S 3;M delaySms:5GGG;M outputSloN:,62S 3;M ^LL25M0@A 9A@@09%A! S0 C@0 7 9 * else i$ :num[G\ZZreadSeeprom:51; `` num[1\ZZreadSeeprom:52; `` num[2\ZZreadSeeprom:53; `` num[3\ZZreadSeeprom:54; `` num[4\ZZreadSeeprom:55; `` num[5\ZZreadSeeprom:5/;;] permisoZ1M delaySms:5GGG;M lcdSputc:ab$a;M lcdSputc:a briendo ca#aa;M lcdSgoto1y:1!2;M lcdSputc:aRa;M delaySms:5GG;M lcdSgoto1y:2!2;M lcdSputc:aRa;M delaySms:5GG;M lcdSgoto1y:3!2;M lcdSputc:aRa;M delaySms:5GG;M lcdSgoto1y:4!2;M lcdSputc:aRa;M delaySms:5GG;M lcdSgoto1y:5!2;M <G

lcdSputc:aRa;M delaySms:5GG;M lcdSgoto1y:/!2;M lcdSputc:aRa;M delaySms:5GG;M lcdSgoto1y:<!2;M lcdSputc:aRa;M delaySms:5GG;M lcdSgoto1y:>!2;M lcdSputc:aRa;M delaySms:5GG;M lcdSputc:ab$a;M lcdSputc:a9a#a abiertaa;M gsmstatusZ4M smstomobile:;M outputShigh:,62S 3;M delaySms:5GGG;M outputSloN:,62S 3;M intentoZnumintentoM^LL25M0@A , 269Ad 7 9 * S0 C@0 ,0@A S0 9%6K 7 7 @M else i$ :num[G\ZZreadSeeprom:1; `` num[1\ZZreadSeeprom:2; `` num[2\ZZreadSeeprom:3; `` num[3\ZZreadSeeprom:4; `` num[4\ZZreadSeeprom:5; `` num[5\ZZreadSeeprom:/;;] intentoZGM permisoZ1M menumaestro:;M^LLM 0S%@A 02%@ ! S0 9%6K 07 M025 else ] lcdSputc:ab$a;M lcdSputc:a9odigo $alsoa;M gsmstatusZ2M smstomobile:;M intentoWWM ^ i$ :intentoZZnumintento;] permisoZGM^LLS0 ( 2 S5,0@ DA 7AS 62%02%AS S0 C7AQ50 7 9 * lcdSputc:ab$a;M FeycountZGM ^ LLZZZZZZZZZZZZZZZZZZZZZZZZZZZ,@A+@ M ,@6296, 7 'oid main:; ] FbdSinit:;M lcdSinit:;M <1

lcdSgoto1y:1!1;M lcdSputc:a,reparando ...a;M delaySms:2GGG;M permisoZ1M Nhile:%@50; ] inicioZreadSeeprom:G;M i$ :iniciodZ12;] cla'emaestra:;M cla'epanico:;M cla'eusuario:;M cambiaintentos:;M lcdSputc:ab$a;M NriteSeeprom:G!12;M ^ i$ :permisoZZ2;]permisoZ1M^ i$:FeycountZZG `` permisoZZ1;] lcdSputc:ab$a;M lcdSputc:aMarca codigoa;M FeycountZ1M^ else i$ :permisoZZG `` blo"ZZG;] blo"Z1M lcdSputc:ab$a;M lcdSputc:a9a#a blo"ueadaa;M FeycountZ1M^ Fey Z FbdSgetc:;M i$:FeydZ_+_ `` FeycountZZ1;] num[G\Zcambioint:;M lcdSgoto1y:1!2;M print$:lcdSputc!acca! _R_;M FeyZ_+_M FeycountWWM^ i$:FeydZ_+_ `` FeycountZZ2;] num[1\Zcambioint:;M lcdSgoto1y:2!2;M print$:lcdSputc!acca! _R_;M FeyZ_+_M FeycountWWM^

<2

i$:FeydZ_+_ `` FeycountZZ3;] num[2\Zcambioint:;M lcdSgoto1y:3!2;M print$:lcdSputc!acca! _R_;M FeyZ_+_M FeycountWWM^ i$:FeydZ_+_ `` FeycountZZ4;] num[3\Zcambioint:;M lcdSgoto1y:4!2;M print$:lcdSputc!acca! _R_;M FeyZ_+_M FeycountWWM^ i$:FeydZ_+_ `` FeycountZZ5;] num[4\Zcambioint:;M lcdSgoto1y:5!2;M print$:lcdSputc!acca! _R_;M FeyZ_+_M FeycountWWM^ i$:FeydZ_+_ `` FeycountZZ/;] num[5\Zcambioint:;M lcdSgoto1y:/!2;M print$:lcdSputc!acca! _R_;M delaySms:1GGG;M FeyZ_+_M FeycountWWM blo"ZGM comprobar:;M FeycountZGM ^ ^ ^

<3

I? Bi.1i!%&$64$
9ompilador 9 9SS y Simulador ,roteus para microcontroladores ,69 0duardo +arc.a Crei#o 0ditorial l$aomega! 1h edici)n 2GG> Dise8o y simulaci)n de sistemas microcontrolados en lengua#e 9 *uan @icardo 9la'i#o Mendoza 1h edici)n 2G11 n 6ntroduction to +SM :una introducci)n al +SM; R()*+,#(-(.,/,O*012345 A.5(62,H789( Manuales del m)dulo +SM +9>/4E,P disponibles en la pgina de %elit= NNN.telit.com Manuales del microcontrolador ,691>?252G de Microchip disponibles en la pgina de Microchip= http=LLNNN.microchip.comL

<4

S-ar putea să vă placă și