You are on page 1of 4

CTC-071, Utilizacin de XBee Wi-Fi para comunicacin de aplicaciones

Comentario Tcnico: CTC-071


Ttulo: Utilizacin de XBee Wi-Fi para comunicacin de aplicaciones
Autor: Sergio R. Caprile, Senior Engineer
Revisiones ec!a Comentarios
0 "1#0$#11
En este comentario tcnico estu%iaremos las posi&les 'ormas %e intercomunicar aplicaciones en 'orma
inal(m&rica, me%iante m)%ulos *+ee ,i-i.
Introduccin
En los casos -ue veremos a continuaci)n, ca%a aplicaci)n es implementa%a so&re un sistema microprocesa%o,
el cual nos permite %isponer %e un puerto %e comunicaciones. .a%o -ue el *+ee ,i-i es un m)%ulo %e /,/0,
la intercone1i)n entre estos sistemas 2 el *+ee ,i-i %e&er( respetar %ic!a tensi)n. A los 'ines pr(cticos,
asumimos -ue se !a conecta%o a los pines T. 2 R. la 3ART %e un micro alimenta%o a /,/0.
Si &ien nos re'erimos a comunicaci)n serie como %i(logo entre aplicaciones, veremos en otros comentarios
tcnicos -ue tam&in es posi&le trans'erir el esta%o l)gico %e pines 2 magnitu%es anal)gicas, por lo -ue si &ien
elegimos este caso para reali4ar una e1plicaci)n %e una 'orma -ue creemos m(s %i%(ctica, no es ste un
limitante.
5or %e'ecto, los m)%ulos tienen con'igura%o un pin como CTS , lo -ue signi'ica -ue en el caso -ue
intentemos transmitir m(s %e lo -ue el m)%ulo pue%e enviar al e1tremo remoto, nos lo in%icar( ponien%o este
pin inactivo. En senti%o inverso, e1iste la posi&ili%a% %e in%icar al *+ee -ue suspen%a su comunicaci)n con el
micro me%iante el pin RTS , el cual por %e'ecto no !a si%o con'igura%o para %ic!a tarea, pero pue%e !acerse
me%iante el coman%o AT.671, %a%o -ue RTS comparte el pin con .896.
El transporte %e %atos pue%e reali4arse por 3.5 o por TC5, con'igura%o me%iante el coman%o ATIP. 5or
e:emplo ATIP=0, con'igura el uso %e 3.5, lo cual correspon%e al valor por %e'ecto.
;a comunicaci)n pue%e ser entre m)%ulos *+ee ,i-i o con !osts 85. En este <ltimo caso, en CA=-0$6 se
%escri&e la 'orma %e utili4ar los *+ee 85 Services, en particular el Serial Communication Service -ue es el -ue
provee esta 'acili%a%. .e igual mo%o, tam&in es posi&le operar con o sin un Access 5oint >mo%o a%-!oc o
in'rastructure?. ;os e:emplos consi%eran el caso m(s com<n %e utili4ar una re% e1istente, con un Access 5oint.
Si &ien es posi&le o&tener %irecciones 85 por .@C5, para po%er comunicarnos con un m)%ulo necesitamos
conocer su %irecci)n. Si &ien po%emos con'igurar al servi%or .@C5 para -ue asigne una en particular seg<n la
AAC o recurrir a otras estrategias, utili4aremos ma2ormente %irecciones est(ticas, con'iguran%o ATMA=1. Si
am&os corresponsales est(n en %i'erentes re%es, %e&er( con'igurarse la %irecci)n %el router con ATGW, por
e:emplo: ATGW192.168.1.1
Punto a punto
Este es el caso m(s simple posi&le, en el cual tenemos %os aplicaciones -ue re-uieren %ialogar entre s.
CTC-071 1
CTC-071, Utilizacin de XBee Wi-Fi para comunicacin de aplicaciones
5or %e'ecto, el *+ee ,i-i 'unciona en mo%o transparente. En este mo%o, el m)%ulo enva al remoto
con'igura%o como %estinatario los mensa:es -ue reci&e por su puerto serie, 2 presenta en ste los mensa:es -ue
reci&e %el m)%ulo remoto. .e&eremos con'igurar las %irecciones utili4an%o el coman%o ATMY<direccin>
para la %irecci)n propia 2 ATDL<direccin> para la %irecci)n %el remoto. Esto lo !aremos en am&os m)%ulos,
por e:emplo:
m)%ulo 1
ATAB1$".16C.1.1
AT.;1$".16C.1."
ATAD"EE."EE."EE.0
m)%ulo "
ATAB71$".16C.1."
AT.;71$".16C.1.1
ATAD"EE."EE."EE.0
.a%o -ue ca%a m)%ulo no sa&e en -u momento el otro va a transmitirle algo, es necesario -ue am&os estn
siempre atentos a lo -ue el otro pue%a %ecirle, o !a2a un tercero -ue ar&itre. Esto re-uiere -ue ninguno %e los
%os F%uermaF, es %ecir, entre en mo%o &a:o consumo o si lo !acen sea en el mo%o A5 Associate% Sleep, en el
-ue el Access 5oint provee el almacenamiento temporario mientras %uermen. Con la con'iguraci)n por
%e'ecto, los m)%ulos no %ormir(n.
El ingreso %e coman%os AT lo po%emos !acer me%iante el programa *-CT3 antes %e poner los m)%ulos en
servicio.
Punto a multipunto
C!" 1# rec"$eccin de d%"! re&"%"!
Este es el caso m(s simple %e los %os, en el cual tenemos una serie %e aplicaciones remotas -ue reportan
in'ormaci)n a un punto central, sin -ue !a2a comunicaci)n en el senti%o inverso.
Ca%a m)%ulo remoto ten%r( como %irecci)n %e %estino la %el m)%ulo central, 2 su %irecci)n propia ser(
<nica. En el m)%ulo central no con'iguramos %irecci)n %e %estino, %a%o -ue ste no transmite in'ormaci)n a
ninguno %e los remotos. .e este mo%o, to%o lo -ue entra por la 3ART %e ca%a uno %e los remotos, sale por la
3ART %el m)%ulo principal.
m)%ulo 1
CTC-071 "
CTC-071, Utilizacin de XBee Wi-Fi para comunicacin de aplicaciones
ATAB71$".16C.1.11
AT.;71$".16C.1.1
ATAD"EE."EE."EE.0
m)%ulo "
ATAB71$".16C.1.1"
AT.;71$".16C.1.1
ATAD"EE."EE."EE.0
m)%ulo /
ATAB71$".16C.1.1/
AT.;71$".16C.1.1
ATAD"EE."EE."EE.0
m)%ulo central
ATAB71$".16C.1.10
ATAD"EE."EE."EE.0
El ingreso %e coman%os AT lo po%emos !acer tam&in me%iante el programa *-CT3, antes %e poner los
m)%ulos en servicio.
En este caso, %a%o -ue los remotos reportan peri)%icamente 2 no reci&en na%a, ca%a uno %e ellos pue%e
ponerse a %ormir por un tiempo ar&itrario, %epen%iente %e la aplicaci)n, mientras no tiene na%a -ue reportar.
.a%o -ue es la aplicaci)n la -ue controla el envo %e mensa:es, tal ve4 lo m(s in%ica%o sea con'igurar
ATS970 >%eep sleep? 2 ATSM=1 >pin sleep?, con lo cual el m)%ulo %uerme !asta -ue la aplicaci)n >el micro
conecta%o? lo %espierta activan%o el pin DTR . .e&er( tenerse en consi%eraci)n -ue se %e&er( esperar a -ue
el m)%ulo se asocie al Access 5oint.
En el sistema conecta%o al m)%ulo central, reci&iremos los mensa:es -ue nos enven los remotos. 5ara
%eterminar -uin es el -ue nos enva el mensa:e, %e&eremos insertar alg<n tipo %e i%enti'ica%or %entro %el
mismo mensa:e, o utili4ar el mo%o A58, tema -ue %e:aremos para otra oportuni%a%.
A 'in %e mantener la integri%a% %e un mensa:e, to%os los &2tes -ue lo con'orman %e&er(n ser envia%os uno a
continuaci)n %el otro, sin una %emora ma2or a lo -ue in%ica el coman%o ATR9 2 con una longitu% %e mensa:e
menor a 1G00 &2tes.
C!" 2# c"&'niccin en &("! !en%id"! c"n 'n &d'$" c"&" cen%r" de red
En este caso, el sistema central %e&e enviar in'ormaci)n a los remotos. Como pu%imos o&servar, la
in'ormaci)n se enva a a-uel remoto cu2a %irecci)n coinci%e con lo -ue colocamos en ATDLH para %ireccionar
%i'erentes m)%ulos, %e&eremos alterar peri)%icamente este par(metro >ca%a ve4 -ue %eseemos transmitir a un
remoto %i'erente?.
.epen%ien%o %e la 'recuencia %e transmisiones, esto pue%e llegar a resultar molesto o incluso te%ioso, %a%o
-ue los cam&ios %e con'iguraci)n se reali4an escapan%o a mo%o coman%o, lo cual consiste en %e:ar un tiempo
%e guar%a, ingresar una secuencia %e escape, 2 esperar otro tiempo %e guar%a 2 luego la respuesta F9DF %el
m)%ulo. En un caso como ste, suele ser pre'eri&le utili4ar el mo%o A58, -ue no %esarrollaremos a-u.
El siguiente es un e:emplo %e una comunicaci)n como la %escripta, vista %es%e el sistema conecta%o al
m)%ulo central. 5ara ma2or clari%a%, !emos resalta%o $" )'e en*+ e!%e !i!%e& 2 las respuestas %el m)%ulo:
soy 192.168.1.11, hace frio
+++
OK
ATDL192.168.1.11
ATCN
OK
prende el calefactor
soy 192.168.1.12, hace calor
+++
OK
ATDL192.168.1.12
ATCN
CTC-071 /
CTC-071, Utilizacin de XBee Wi-Fi para comunicacin de aplicaciones
OK
apaga el calefactor
=)tese -ue tanto antes como %espus %e enviar la secuencia %e escape, %e&e %e:arse transcurrir un tiempo %e
guar%a -ue se con'igura me%iante ATGT, 2 -ue por %e'ecto es %e un segun%o.
En este caso, al !a&er comunicaci)n en am&os senti%os, los remotos no sa&en en -u momento el central va a
transmitirles algoH esto nos impi%e utili4ar el mo%o %eep sleep, a menos -ue !agamos algunas restricciones. Si
el central pue%e esperar a -ue el remoto en cuesti)n le !a&le primero, entonces enva el mensa:e -ue tenga en
ese momentoH esto permite nuevamente -ue los remotos pue%an entrar en mo%o &a:o consumo !asta tanto
tengan algo -ue transmitir 2 all reci&ir lo -ue !a2a para ellos.
C!" 2(# c"&'niccin en &("! !en%id"! c"n 'n ,"!% IP c"&" cen%r" de red
.a%o -ue un !ost 85 pue%e a&rir 2 cerrar un socIet a gusto, pue%e comunicarse con el remoto utili4an%o el
es-uema %escripto en CA=-0$6. Asimismo, %eterminar( la %irecci)n %e -uien enva o&servan%o el socIet. ;as
consi%eraciones para el uso %e %eep sleep siguen sien%o las mismas.
Peer to peer
;o -ue tenemos a-u es una %etermina%a canti%a% %e aplicaciones >m(s %e %os? -ue %e&en %ialogar entre s.
.es%e el punto %e vista %e la con'iguraci)n %e los m)%ulos, ca%a uno pue%e consi%erarse como un m)%ulo
central en el caso punto a multipunto, %a%o -ue reci&e mensa:es %e cual-uiera %e los remotos 2 enva tam&in a
cual-uiera %e ellos. Como coment(ramos en %ic!o caso, es posi&le cam&iar el valor %e ATDL antes %e enviar
ca%a mensa:e, aun-ue %epen%ien%o %e la 'recuencia %e envo %e mensa:es 2 la aplicaci)n en s, pue%e ser
pre'eri&le utili4ar el mo%o A58.
3na ve4 m(s, %a%o -ue ca%a m)%ulo no sa&e en -u momento el otro va a transmitirle algo, es necesario -ue
to%os estn siempre atentos a lo -ue otro pue%a %ecirles o !a2a un me%ia%or, lo cual re-uiere -ue ninguno
entre en mo%o %eep sleep. Esto es as por %e'ecto, por lo -ue no %e&emos mo%i'icar na%a.
Broadcasts
3na alternativa cuan%o la misma in'ormaci)n es <til para muc!os %estinatarios, es reali4ar un &roa%cast.
Con'iguran%o en ATDL la %irecci)n 2--.2--.2--.2-- reali4a un &roa%cast, es %ecir, enva un mensa:e -ue
pue%e ser reci&i%o por to%os los miem&ros %e una re%. Esto re-uiere a%em(s -ue el transporte utili4a%o sea
3.5.
CTC-071 G