You are on page 1of 38

Introdução

Já imaginou lê dados de um sensor de temperatura, umidade ou quaisquer


outros a uma distância de 1600m sem fio (XBee-Pro™), ou maior, com o uso
de roteador? Ligar uma luz ou acionar o dispositivo que controla a irrigação do
jardim? Ou controlar um braço robótico remotamente? Ou melhor, criar uma
Rede de dispositivos e sensores que conversem entre si ou com a Base, de
forma coordenada? E ainda, se desejasse de tempos em tempos fazer leituras
de vários sensores em locais distintos e, se a quantidade de sensores fossem
muitos, vamos se dizer, em torno de 50 ou mesmo 500..., ou quem sabe
65.000 ou mais? E que a duração das baterias fosse de suma importância para
o sucesso do projeto? A solução atualmente ideal para isso é o ZigBee. E se
não existisse o tal ZigBee? Então você provavelmente iria partir para àqueles
módulos RF 315MHz, 492MHz..."*@#+}w#$%Hzppmxxxxxx...", sem nenhum
protocolo padrão entre fabricantes, sem o conceito de Rede, economia de
energia, segurança etc, etc, etc.
Tudo tem seu tempo e o ZigBee chegou na hora certa, pois o emaranhado
de fios em certos setores das indústrias e residências parecem mais um
alambrado.
Nesse pequeno artigo irei mostrar algumas características de
funcionamento dos módulos XBee (ZigBee IEEE 802.15.4) fabricados pela
MaxStream®, mas antes irei falar um pouco sobre o ZigBee que é a base do
XBee™.
A comunicação sem fio (ou wireless) já está inclusa na sociedade há anos
como as Redes WLANs, WMANs, WWANs, todas voltadas para usuários finais
de pequenas, médias e grandes empresas, onde o objetivo é a transferência de
grandes volumes de dados e voz em altas velocidades. São poucas as Redes
wireless destinadas exclusivamente ao controle de dispositivos como relês,
trancas eletromagnéticas, ventilação, aquecimento, motores, eletrodomésticos,
brinquedos, aquisição de dados de sensores, como temperatura, luminosidade,
umidade, pressão etc. Dentre as Redes WPAN (Wireless Personal Area
Network) existentes, a mais recente e promissora é a que usa o padrão ZigBee
IEEE 802.15.4. A ZigBee Alliane é quem desenvolve o padrão ZigBee junto ao
IEEE (Institute of Electrical and Eletronics Engineers), através da associação
de várias empresas, que juntas, trabalham em conjunto para proporcionar e
desenvolver tecnologias para criar um padrão de baixo consumo de energia,
baixo custo, segurança, confiabilidade, e com funcionamento em rede sem fios
baseado em uma norma aberta global.
Atualmente a ZigBee Alliance está incluindo novos e mais abrangentes
recursos, possibilitando que os fabricantes aumentem significativamente a
capacidade da ZigBee, fazendo com que sua posição de liderança continue
firme e crescente no mercado de Redes para controle de dispositivos sem fio.
Há hoje, mais de 300 empresas associadas a ZigBee Alliance em vários paises
e com um crescimento expansivo.
A ZigBee permite comunicações robustas e opera na freqüência ISM
(Industrial, Scientific and Medical), sendo na Europa de 868 MHz (1 canal), 915
MHz (10 canais) nos Estados Unidos e 2,4 GHz (16 canais) em outras partes
do mundo, e não requerem licença para funcionamento. As Redes ZigBee
oferecem uma excelente imunidade contra interferências, e a capacidade de
hospedar milhares de dispositivos numa Rede (mais que 65.000), com taxas de
transferências de dados variando entre 20Kbps a 250Kbps. O Protocolo ZigBee
é destinado a aplicações industriais, portanto, o fator velocidade não é crítico
numa implementação ZigBee.
Os módulos RF padrão ZigBee foram criados para economizar ao máximo
energia. Com isso, é possível criar dispositivos sensores remotos alimentados
com pilhas ou baterias comuns, que durarão meses ou mesmo anos sem
precisarem ser substituídas. Isso porque, os módulos ZigBee quando não estão
transmitindo/recebendo dados, entram num estado de dormência ou em
"Sleep", consumindo o mínimo de energia.

TOPOLOGIAS DE REDES ZIGBEE


Numa Rede ZigBee são identificados dois tipos de dispositivos: FFD e
RFD.

FFD - Full Function Device (Dispositivos de Funções Completas) - São


dispositivos mais complexos e precisam de um hardware mais potente para a
implantação da pilha de protocolos, conseqüentemente, consomem mais
energia. Numa topologia de Rede ZigBee eles podem assumir o papel de
Coordenador, Roteador ou mesmo de um dispositivo final (End Divice).
Dispositivos FFDs podem se comunicar com quaisquer membros da Rede. São
implementados em microcontroladores com no mínimo 32KB de memória de
programa e ter uma certa quantidade de memória RAM, para implementações
de tabelas de rotas e configurações de parâmetros.

RFD - Reduced Function Device (Dispositivos de Funções Reduzidas) - São


dispositivos mais simples, onde sua pilha de protocolo pode ser implementada
usando os mínimos recursos possíveis de hardware, como por exemplo, em
microcontroladores de 8 bits com memória de programa próxima a 6KB, mas
só podem se comunicar com dispositivos FFDs (Coordenador ou Roteador).
Numa topologia de Rede ZigBee eles assumem o papel de End Device
(dispositivo final). Na prática podem ser: interruptores de iluminação, dimmers,
controle de relês, sensores, entre outros. No padrão ZigBee existem três
classes de dispositivos lógicos (Coordenador, Roteador e Dispositivo final) que
definem a Rede:

ZC - ZigBee Coordenator (Coordenador ZigBee) - Só pode ser


implementado através de um dispositivo FFD. O coordenador é responsável
pela inicialização, distribuição de endereços, manutenção da Rede,
reconhecimento de todos os Nós, entre outras funções podendo servir como
ponte entre várias outras Redes ZigBee.

ZR - ZigBee Router (Roteador ZigBee) - Só pode ser implementado


através de um dispositivo FFD. Tem as características de um Nó normal na
Rede, mas com poderes extras de também exercer a função de roteador
intermediário entre nós, sem precisar do Coordenador.
Por intermédio de um roteador uma Rede ZigBee poder ser expandida, e assim
ter mais alcance. Na prática um roteador pode ser usado para amplificar o sinal
da Rede entre andares de um prédio.

ZED - ZigBee End Device (Dispositivo final ZigBee) - É onde os


atuadores ou sensores serão hospedados. Pode ser implementado através de
um dos dispositivos FFD ou RFD. Assim ele é o nó que consome menos
energia, pois na maioria das vezes ele fica dormindo (Sleep).

Figura 1 - Topologias de Redes ZigBee

Curiosidade ZigBee - O Ziguezague das abelhas (Bee).

O nome ZigBee foi criado a partir da analogia entre o funcionamento de


uma Rede em Malha, e o modo como as abelhas trabalham e se locomovem.
As abelhas que vivem em colméia voam em Zig...Zag, e dessa forma, durante
um vôo a trabalho em busca de néctar, trocam informações com outros
membros da colméia sobre, distância, direção e localização de onde encontrar
alimentos. Uma Malha ZigBee dispõe de vários caminhos possíveis entre cada
nó da Rede para a passagem da informação, assim, é possível eliminar falhas
se um nó estiver inoperante, simplesmente mudando o percurso da informação.
Mash (Malha ou Ponto-a-Ponto): Na topologia Mesh a rede pode se ajustar
automaticamente, tanto na sua inicialização como na entrada ou saídas de
dispositivos na Rede. A Rede se auto-organiza para otimizar o trafego de
dados. Com vários caminhos possíveis para a comunicação entre os nós, este
tipo de Rede pode abranger em extensão, uma longa área geográfica, podendo
ser implementada numa fábrica com vários galpões distantes; controle de
irrigação ou mesmo num prédio com vários andares.

Cluster Tree (Árvore): Semelhante à topologia de Malha, uma Rede em


árvore, tem uma hierarquia muito maior e o coordenador assume o papel de nó
mestre para a troca de informação entre os nós Router e End Device.

Star (Estrela): É uma das topologias de Rede ZigBee mais simples de serem
implantadas, é composta de um nó Coordenador, e quantos nós End Device
forem precisos. Este tipo de Rede deve ser instalada em locais com poucos
obstáculos à transmissão e recepção dos sinais, como por exemplo, em uma
sala sem muitas paredes ou locais abertos.

Modos de operação da Rede ZigBee

Beaconing - O tempo todo os dispositivos com funções de Roteador,


transmitem de tempos em tempos, sinalização (beaconing) para tentar confirma
sua presença aos outros Roteadores da mesma Rede. Já os outros nós da
Rede só precisam está ativos no momento da sinalização, mas esses
dispositivos devem ser configurados para perceber o período em que ocorrerá
esta sinalização, pois no modo beaconing a maioria dos dispositivos
permanecem dormindo (Sleep). Nesse modo, o consumo de energia é o
mínimo possível.

Non-Beaconing - Nesse modo a maioria dos nós dispositivos da Rede


permanecem sempre com seus receptores ativos, consumindo mais energia. É
importante notar, que nesse modo, os dispositivos devem ser alimentados com
fontes de energia mais potentes e duradouras que pilhas ou baterias comuns.

Veja abaixo alguns tipos de aplicações onde o padrão ZigBee pode


ser empregado:
Figura 2- Aplicação do ZigBee em várias áreas da sociedade

Redes de controle e sensores sem fio:

- Sensor de umidade;
- Sensor de temperatura;
- Sensor de velocidade do vento;
- Sensor de direção do vento;
- Sensor de pressão atmosférica;
- Controle de iluminação; ;
- Controle de aquecimento;
- Controle de Ventilação;
- Controle de Irrigação;
- Alarmes;
- Controle de cancelas;
- Controle de portas e portões; .
- Aplicações automotivas;

Observação: Como o ZigBee™ é um padrão mundial, e normalizado pelo


IEEE, o fabricante de um dispositivo ZigBee™ x poderá se comunicar com um
dispositivo de um outro fabricante y. Por exemplo, um dispositivo XBee™ da
MaxStream® não terá dificuldades em se comunicar com um dispositivo do
fabricante Microchip™, ou de quaisquer outros fabricantes.

Mais informações:

http://www.zigbee.org
http://www.maxstream.net/
Módulos ZigBee/XBee da MaxStream®

Há várias empresas membros na ZigBee Alliance, e cada uma disponibiliza


no mercado o seu produto baseado na pilha de protocolo ZigBee e, dentre
todas elas, a que tomei conhecimento primeiro foi a MaxStream ®, através de
um email que recebi, onde nesse email havia um ilustração de uma área
agrícola irrigada, e alguns módulos de dispositivos em Rede. Pelo interesse
que tenho em automação de controle e sensoriamento, de preferência sem
fios, dei início às minhas pesquisas e estudos sobre os módulos wireless da
MaxStream®. Na verdade são módulos ZigBee™ excelentes, com vários
recursos extras e muito fáceis de usar. Segue a partir daqui, alguns
experimentos que fiz com os módulos XBee™ e XBee-Pro™ da MaxStream®.

Figura 3 - Tipos de antenas dos módulos XBee

Nos módulos XBee/XBee-Pro™ há três opções de antenas: tipo Chicote


(um pedaço de fio de ~2,5 cm) - Conector (para antena externa), e tipo Chip a
mais compacta. Com o dos tipos Chicote e Externa é possível direcionar o
feixe de sinal, e assim, melhorar a performance da Rede.
Quando for adquirir um módulo XBee/XBee-Pro™, veja antes qual o tipo
de antena melhor se adequará ao seu projeto.

Veja abaixo mais características e diferenças entre os módulos OEM


XBee™ e XBee-Pro™ da MaxStream®:

XBee™:
Performance
- Rendimento da Potência de saída: 1 mW (0 dBm);
- Alcance em ambientes internos/zonas urbanas: 30m;
- Alcance de RF em linha visível para ambientes externos: 100m;
- Sensibilidade do receptor: -92 dBm;
- Freqüência de operação: ISM 2.4 GHz;
- Taxa de dados de RF: 250.000 bps;
- Taxa de dados da Interface (Data Rate): 115.200 bps;
Alimentação
- Tensão de alimentação: 2.8 à 3.4v;
- Corrente de transmissão (típico): 45 mA @ 3.3 V;
- Corrente de Recepção (típico): 50 mA @ 3.3 V;
- Corrente de Power-down Sleep: <10 µA;
Propriedades físicas
- Dimensões: (2.438cm x 2.761cm);
- Peso: 0.10 oz (3g);
- Temperatura de operação: -40 to 85º C (industrial);
- Opções de antena: Conector U.FL RF, Chip ou Chicote (whip);
Rede
- Tipo de espalhamento espectral: DSSS (Direct Sequence Spread Spectrum);
- Manipulação de erro: Retransmite novamente (Retries) & reconhecimento
(acknowledgements);
- Topologia de Rede: Peer-to-peer(Par-a-par), ponto-a-ponto, ponto-a-multiponto e malha;
- Endereçamento: 65.000 endereços de rede disponíveis para cada canal;
- Opções de filtros: PAN ID, canais e endereços;
- Criptografia: 128-bit AES;
- Número de canais selecionáveis via software: 16 canais de seqüência direta;
Geral
- Faixa de freqüência: 2.4000 - 2.4835 GHz;

XBee-Pro™:
Performance
- Rendimento da Potência de saída: 60 mW (18 dBm), 100 mW EIRP;
- Alcance em ambientes internos/zonas urbanas: 100m;
- Alcance de RF em linha visível para ambientes externos: 1,6Km;
- Sensibilidade do receptor: -100 dBm (1% PER);
- Freqüência de operação: ISM 2.4 GHz;
- Taxa de dados de RF: 250.000 bps;
- Taxa de dados da Interface (Data Rate): 115.200 bps;
Alimentação
- Tensão de alimentação: 2.8 à 3.4v;
- Corrente de transmissão (típico): 215 mA @ 3.3 V;
- Corrente de Recepção (típico): 55 mA @ 3.3 V;
- Corrente de Power-down Sleep: <10 µA;
Propriedades físicas
- Dimensões: (2.438cm x 3.294cm);
- Peso: 0.10 oz (3g);
- Temperatura de operação: -40 to 85º C (industrial);
- Opções de antena: Conector U.FL RF, Chip ou Chicote (whip);
Rede
- Tipo de espalhamento espectral: DSSS (Direct Sequence Spread Spectrum);
- Manipulação de erro: Retransmite novamente (Retries) & reconhecimento
(acknowledgements);
- Topologia de Rede: Peer-to-peer(Par-a-par), ponto-a-ponto, ponto-a-multiponto e malha;
- Endereçamento: 65.000 endereços de rede disponíveis para cada canal;
- Opções de filtros: PAN ID, canais e endereços;
- Criptografia: 128-bit AES;
- Número de canais selecionáveis via software: 12 canais de seqüência direta;
Geral
- Faixa de freqüência: 2.4000 - 2.4835 GHz;

Adaptador/Conversor USB - XBee/XBee-Pro™


Para facilitar a conexão do módulo Base XBee/XBee-Pro™ ao
computador, seja para atualização do firmware ou mesmo para fazer coleta de
dados ou controle, através dos módulos remotos, a Rogercom desenvolveu a
placa CON-USBBEE, com facilidade de conexão estilo Pen drive. Veja nas
figuras abaixo algumas fotos ilustrativas:

Figura 4 - Placa CON-USBBEE (visão superior)

A placa CON-USBEE aceita tanto o módulo XBee™ como o XBee-Pro™,


como são totalmente compatíveis, Redes ZigBee podem ser construídas com
ambos os módulos, simultaneamente.
A placa CON-USBBE usa um chip conversor USB/Serial; regulador de
tensão LDO (baixa queda de tensão), comparador de tensão conectado aos
LEDs (RSSI) que simulam a força do sinal de RF; LEDs indicadores de TX, RX
, módulo ligado (ASS), e um micro-botão para "resetar" o módulo XBee/XBee-
Pro™.

Figura 5 - Botão Reset e LEDs indicadores da placa CON-USBBEE

Ao instalar no computador o driver USB para (Windows 98, ME, 2000,


XP,Vista, x64 e também para Linux e Mac) que acompanha a placa, o windows
cria uma porta COMx virtual quando a placa CON-USBBEE é plugada. Assim,
é possível através de um programa (escrito em C/C++Builder, Delphi, VB, Java,
C#, etc), se comunicar com a placa como se fosse uma comunicação serial
padrão RS232. Também é possível acessar a placa através de uma DLL, que
oferece mais recursos na programação.
Figura 6 - Placa CON-USBBEE (visão inferior)

Figura 7 - Placa CON-USBBEE (com cabo extensor)

Se o computador onde a placa CON-USBBEE for conectada estiver com a


parte traseira muito próxima à parede, ou de outro obstáculo, usa-se um cabo
USB expansor, tipo "A" macho / "A" fêmea, conforme mostra a Figura 7 acima.

Figura 8 - Exemplo de uma Rede como os módulos XBee/XBee-Pro ZB

Os módulos XBee/XBee-Pro™ já saem de fabrica prontos para


trabalharem numa Rede ponto-a-ponto, ou seja, todos os módulos podem se
comunicar entre si, sem que seja necessária uma única configuração.
Se precisar mudar quaisquer parâmetros de configuração dos módulos
XBee/XBee-Pro™, a MaxStream disponibiliza gratuitamente para download no
seu site, o Aplicativo X-CTU que dispõe de recursos para diagnósticos e
atualização do firmware dos módulos XBee/XBee-Pro™.
Figura 9 - Exemplo de uma Rede com módulos XBee/XBee-Pro ZB configurados como
ZC, ZR e ZED

Na figura acima temos vários módulos XBee configurados em topologia


Árvore, desses, somente um pode ser o coordenador (ZC) da Rede, os outros
módulos podem ser Roteadores (ZR) ou Dispositivos finais (ZED), onde os
atuadores e sensores serão conectados para exercerem suas funções.

Figura 10 - Malha de módulos ZigBee/XBee-Pro ZB (na agro-pecuária)

Numa fazenda de gados ou mesmo em um haras, é possível instalar uma


Rede ZigBee numa topologia em Malha para monitorar sensores, instalando
em vários locais, e assim obter informações de uma vasta área da fazenda,
como nível de água dos açudes, rios, ou bebedouros, detecção de arames
rompido na cerca, saber o local onde os animais permanecessem mais tempo
pastando, controlar a irrigação do pasto, controlar o abre/fecha de cancelas,
etc.

Figura 11 - Rede ZigBee Xbee/XBee-Pro ZB para obtenção de dados sobre pragas numa
plantação

Através de uma Rede ZigBee de sensores tais como: umidade relativa do


ar, umidade do solo, pressão atmosférica, temperatura do ar, temperatura do
solo, luminosidade, velocidade do vento, direção do vento e quantidade de
chuva num certo intervalo de tempo, é possível após a obtenção dos dados,
cruzar os mesmos com informações do tipo: data, hora, estação do ano, tipo de
plantação, tipo do solo da região, fases da lua, entre outras, e assim gerar um
relatório de informações precisas sobre o porque e quando certas pragas se
proliferarão na plantação.
Após as análises das informações, fica fácil para um profissional
agrônomo, detectar e dar uma solução ao problema na plantação.

Com criatividade a tecnologia ZigBee® pode ser usada para criar soluções e
resolver problemas atuais como segurança predial, residencial, queimadas em
áreas de difícil acesso, poluição do meio-ambiente, congestionamento de
atomóveis em grandes cidades, entre outros.
A tecnologia ZigBee terá um casamento perfeito com fontes de energias
renováveis como Eólica, Solar e "bio-geradas", que fornecerão de forma limpa,
a energia necessária para o seu próprio funcionamento e de seus periféricos
(sensores minúsculos, ecológicos e econômicos, tanto no preço como no
consumo de energia).
Use a tecnologia ZigBee com muita sabedoria, assim, todos colherão bons
frutos, tanto nessa como nas próximas gerações.

Os módulos XBee/XBee-Pro™ operam em dois modos diferentes:

Modo Transparente
Os dados recebidos da UART pelo pino DI(RX) são colocados na fila para
transmissão via RF. Já os dados recebidos do canal de RF, são transmitidos
através do pino DO(TX).
No modo transparente os dados são transmitidos e recebidos da mesma
forma que uma comunicação Serial RS232 padrão. Os módulos dispõem de
buffers de transmissão e recepção para uma melhor performance na
comunicação serial.
Figura 12 - Frame de dado padrão RS232 (8-N-1)

Modo API (Application Programming Interface)


Esse modo de operação é uma alternativa ao modo de operação
Transparente padrão. O modo API é baseado em frame e assim estende o
nível para o qual uma aplicação de Host pode interagir com as capacidades de
Rede do módulo.
No modo API os dados transmitidos e recebidos estão contidos em frames,
que definem operações ou eventos dentro do módulo. Através desse modo de
operação é possível um determinado módulo enviar endereço fonte, endereço
destino, nome de um determinado nó, sinal RSSI, estado, e muito mais.

Figura 13 - Estrutura do Frame de dados no modo API

Características importantes:

• Pode transmitir dados para múltiplos destinos sem entrar em Modo de


Comandos;
• Recebe estados de sucesso/falha de cada pacote de RF transmitido;
• Identifica o endereço fonte de cada pacote recebido.

Hardware - Como configurar e usar os módulos XBee/XBee-Pro

Tabela 1 - Descrição dos pinos dos módulos XBee/XBee-Pro™


Pino
Nome Direção Descrição
#
1 VCC - Alimentação 3,3v
2 DOUT Saída Saída de dados da UART
DIN /
3 Entrada Entrada de dados da UART
4 DO8* Saída Saída digital 8
Inicializa módulo (um pulso nível 0
5 Entrada
de pelo menos 200ms)
PWM0 / Saída do PWM 0 / Indicador de
6 Saída
RSSI Força do sinal de RF (RX)
7 PWM1 Saída Saída do PWM 1
Ainda não tem uma função definida
8 (Reservado) -
(futura implementação)
/ Linha de Controle da Função Sleep
9 SLEEP_IRQ Entrada
ou Entrada digital 8
/ DI8
10 GND - Terra
Só Entrada Analógica 4 ou
11 AD4 / DIO4 Entrada/Saída
Entrada/Saída Digital 4
Controle de Fluxo CTS ou
12 / DIO7 Entrada/Saída Entrada/Saída Digital 7
13 ON / SLEEP Saída Indicador de Estado do Módulo
Voltagem de Referência para as
14 VREF Entrada
Entradas A/D
Indicador de Associação, só
Associação /
15 Entrada/Saída Entrada Analógica 5 ou
AD5 / DIO5
Entrada/Saída Digital 5
Controle de Fluxo RTS, só Entrada
16 / AD6 / Entrada/Saída Analógica 6 ou
DIO6 Entrada/Saída Digital 6
Só Entrada Analógica 3 ou
17 AD3 / DIO3 Entrada/Saída
Entrada/Saída Digital 3
Só Entrada Analógica 2 ou
18 AD2 / DIO2 Entrada/Saída
Entrada/Saída Digital 2
Só Entrada Analógica 1 ou
19 AD1 / DIO1 Entrada/Saída
Entrada/Saída Digital 1
Só Entrada Analógica 0 ou
20 AD0 /DIO0 Entrada/Saída
Entrada/Saída Digital 0

Na tabela acima está descrito o significado de cada pino dos módulos


XBee/XBee-pro™, como podemos ver, há pinos que podem exercer diferentes
funções como, entrada analógica, entrada/saída digital, controle de fluxo e
PWM. A maneira mais fácil para configurar a função de um determinado pino
do módulo ou mesmo outros parâmetros, é através do programa X-CTU,
disponível no site da MaxStream em www.maxstream.net, o download e uso do
programa são gratuitos.
Figura 14 - Tela do programa X-CTU da MaxStream™

Basicamente os módulos XBee/XBee-Pro já vem de fabrica configurados


para serem usados sem arrodeios, o mínimo que precisamos fazer para
estabelecer um link de comunicação é alimentar os módulos corretamente com
uma tensão de 3.3v. Nem sempre temos uma fonte de alimentação de 3.3v,
sendo assim, segue um esquema elétrico de um regulador de tensão que
converte uma tensão de entrada de 5 a 9v em 3,3v, ideal para alimentar um
módulo XBee/XBee-Pro.

Figura 15 - Circuito regulador de tensão de 3,3v (saída)


Figura 16 - Configuração TX, RX e Figura 17 - Configuração c/ controle de fluxo
GND CTS/RTS

Na Figura 16 acima, o módulo XBee-Pro está configurado para se


comunicar com um microcontrolador através de uma interface serial (TX e RX),
observe que o microcontrolador está alimentado também com 3,3v.
Na Figura 17, o módulo XBee-Pro está configurado para se comunicar com
o microcontrolador através de controle de fluxo (CTS/RTS).
A tensão de tolerância dos pinos do XBee/XBee-Pro é de 2,8v a 3,4v, se o
dispositivo a ser interfaceado com o módulo usar uma tensão diferente daquela
que foi citada, é preciso usar conversores de níveis de tensão como drivers de
transistores, resistores, etc.
Na Figura 18 logo abaixo, temos um microcontrolador alimentado com 5v
conectado com um módulo XBee-Pro. Observe os resistores de 10K e 20K, seu
objetivo é reduzir a tensão de entrada no pino 3-RX do módulo XBee-Pro.
Nesse esquema, a tensão de entrada no pino 3-RX fica em torno de 3v.
Figura 18 - XBee-Pro conectado a um microcontrolador (5v)

ENTRADA e SAÍDA direta sem uso de microcontrolador

Nos projetos dos módulos XBee/XBee-Pro a MaxStream adicionou algo


muito interessante e prático para os desenvolvedores: pinos extras que podem
mudar de função e direção simplesmente configurando-os previamente através
de comandos ATs padrão Hayes (comandos de configuração de Modems) que
irei abordar na próxima página, ou pelo programa X-CTU (como já mencionei
anteriormente, e está disponível para download no site da MaxStream
www.maxstream.net).

PRIMEIRO EXEMPLO

Conversor ADC (Analógico/Digital) nos módulos XBee/XBee-Pro

Como primeiro exemplo, vamos fazer um "link" entre dois módulos XBee-
Pro, sem o uso de microcontrolador e muito menos de PC. Nossa finalidade
será controlar remotamente a intensidade da luz de dois LEDs. Para essa
experiência são necessários dois módulos XBee ou XBee-Pro, conforme
exemplos nas Figuras 19 e 20. Antes de fazer os circuitos é preciso configurar
os módulos.

Módulo REMOTO (Entrada analógica)


Figura 19 - Módulo Remoto que controlará os LEDs

Na Figura 19 usamos o pino 20 (como entrada analógica AD0), o pino 19


(como entrada analógica AD1), ambas estão conectadas aos potenciômetros
de 10K e aos resistores de pull-up. O pino 14 é uma entrada para a tensão de
referência (VREF), que no nosso esquema foi ligado ao 3,3v da fonte de
alimentação. Os pinos 1(3,3v) e 10(GND) são usados para a alimentação do
módulo.

Siga os passos abaixo para configurar o módulo Remoto (entrada), aquele


onde estão os potenciômetros (Figura 19):

1) Insira o módulo XBee-Pro a ser configurado na placa CON-USBBEE ou no


kit de desenvolvimento MaxStream;
2) Rode o programa X-CTU e escolha a porta de comunicação correta COMx;
3) Clique na Aba "Modem Configuration" do programa X-CTU e depois no
botão "Read". Se necessário atualize o firmware com a última versão
disponível no site da MaxStream;

4) Configure os seguintes itens no programa X-CTU:

Networking & Security


ID: 3332
DL: 1234
MY: 5678
NI: REMOTO
I/O Settings
D1: 2
D0: 2
IT: 5
IR: 5

5) Para gravar as modificações no firmware do módulo XBee-Pro, clique no


botão "Write";
6) Feche o programa X-CTU.

Módulo BASE (Saída analógica PWM)

O módulo XBee-Pro tem disponíveis duas saídas PWM de 10 bits de


resolução (PWM0-pino 6 e PWM1-pino 7), elas trabalham sempre em pares
com as entradas analógicas, por exemplo, no módulo de entrada (REMOTO)
você define D0 com (ADC) e no outro módulo saída (BASE), você define P0
como PWM Output.
A máxima taxa de amostragem de uma entrada analógica é de 1 amostra a
cada 1ms ou 1KHz. Há 6 entradas analógicas e, se todas estiverem habilitadas
a taxa de amostragem de cada uma será de (1KHz / 6 = 167Hz).

Figura 20 - Módulo Base onde os LEDs serão controlados

Agora siga os passos abaixo para configurar o módulo Base (saída), aquele
onde estão os LEDs (Figura 20 ):

1) Insira o módulo XBee-Pro a ser configurado na placa CON-USBBEE ou no


kit de desenvolvimento MaxStream;
2) Rode o programa X-CTU e escolha a porta de comunicação correta COMx;
3) Clique na Aba "Modem Configuration" do programa X-CTU e depois no
botão "Read". Se necessário atualize o firmware com a última versão
disponível no site da MaxStream;

4) Configure os seguintes itens no programa X-CTU:

Networking & Security


ID: 3332
DL: 5678
MY: 1234
NI: BASE
I/O Line Passing
IA: 5678 (ou FFFF)
P1: 2
P0: 2
I/O Settings
IU: 1

5) Para gravar no firmware do módulo XBee-Pro clique no botão "Write";


6) Feche o programa X-CTU.

Teste:
Após as configurações dos módulos, monte os circuitos das Figuras 19 e
20; alimente-os com fontes independentes de 3,3v. Distancie os circuitos ente
1m, e faça o teste: gire um dos potenciômetos no sentido horário ou anti-
horário, e observe um dos LEDs no módulo Base.

SEGUNDO EXEMPLO

Entrada e saída Digital nos módulos XBee/XBee-Pro

O conceito básico por atrás das linhas de Entrada/Saída Digitais (DIO) é


passar um sinal digital nos pinos (DIO), além dos dados serial da UART que o
XBee envia normalmente. O XBee é capaz de enviar estes sinais digitais de
Entrada/Saída diretamente de um módulo para outro sem qualquer hardware
adicional. O XBee tem 8 linhas de Entrada/Saída digitais utilizáveis, que podem
ser usadas para enviar dados digitais. A nona linha de DIO é usada para
passagem do sinal de /DTR.
Nesse exemplo iremos aprender a usar as entradas e saídas digitais, dos
módulos XBee/XBee-Pro. Como nos exemplos das entradas analógicas,
teremos que construir dois circuitos, um chamado "Remoto" e o outro "Base", o
Remoto envia e o Base recebe, mas nada o impede de configurar o Remoto e
o Base tanto para enviar como para receber os sinais digitais.
Das 8 linhas diretas iremos usar nesse exemplo somente 4.

Módulo REMOTO (Entrada Digital)


Figura 21 - Módulo Remoto (entrada dos dados)

Siga os passos abaixo para configurar o módulo Remoto (entrada), aquele


onde estão os micro-botões (Figura 21):

1) Insira o módulo XBee-Pro a ser configurado na placa CON-USBBEE ou no


kit de desenvolvimento MaxStream;
2) Rode o programa X-CTU e escolha a porta de comunicação correta COMx;
3) Clique na Aba "Modem Configuration" do programa X-CTU e depois no
botão "Read". Se necessário atualize o firmware com a última versão;

4) Configure os seguintes itens no programa X-CTU:

Networking & Security


ID: 3332
DL: 1234
MY: 5678
NI: REMOTO
I/O Settings
D0: 3
D1: 3
D2: 3
D3: 3
IR: 0
IT: 1
IC: 0F

5) Para gravar no firmware do módulo XBee-Pro clique no botão "Write";


6) Feche o programa X-CTU.

Módulo REMOTO (Saída Digital)


Figura 22 - Módulo Base (saída dos dados)

Siga os passos abaixo para configurar o módulo Base (saída), aquele onde
estão os LEDs (Figura 22):

1) Insira o módulo XBee-Pro a ser configurado na placa CON-USBBEE ou no


kit de desenvolvimento MaxStream;
2) Rode o programa X-CTU e escolha a porta de comunicação correta COMx;
3) Clique na Aba "Modem Configuration" do programa X-CTU e depois no
botão "Read". Se necessário atualize o firmware com a última versão;

4) Configure os seguintes itens no programa X-CTU:

Networking & Security


ID: 3332
DL: 5678
MY: 1234
NI: BASE
I/O Settings
D0: 5
D1: 5
D2: 5
D3: 5
IU: 1
I/O Line Passing
IA: 5678 (ou FFFF)

5) Para gravar no firmware do módulo XBee-Pro clique no botão "Write";


6) Feche o programa X-CTU.

Teste:
Após as configurações dos módulos, monte os circuitos das Figuras 21 e
22; alimente-os com fontes independentes de 3,3v. Distancie os circuitos ente
1m, e faça o teste: pressione e solte um dos botões no circuito REMOTO,
sempre observando os LEDs no módulo BASE.

Configurando os Módulos através de comandos ATs

Os módulos XBee/XBee-Pro são configurados através de simples


comandos AT, bem parecidos com àqueles usados para configurar Modems.
Nos módulos XBee/XBee-Pro Série 1 os comandos ATs servem para
configurar ou lê parâmetros no módulo local. Já na Série 2 é possível enviar
comandos ATs remotamente de um módulo para outro.
Para configurar um XBee/XBee-Pro, precisamos usar somente os pinos 2-
TX, 3-RX e o GND do módulo. Com a placa CON-USBBEE é possível
configurar um módulo através do programa X-CTU, tanto a partir da Aba
"Terminal", digitando os comandos manualmente, como também através da Aba
"Modem Configuration", ou mesmo através de um programa como o
HyperTerminal do Windows ou outro similar.
Para fazer o módulo XBee/XBee-Pro entrar no modo comando, digite três
caracteres "+++" (não pressione a tecla <ENTER>) na janela " Terminal" do X-
CTU ou no HyperTerminal do windows. Se o módulo recebeu o comando
corretamente, ele confirma enviando a mensagem "OK". Após o OK o módulo
está apto para receber comandos de escrita ou leitura.

Figura 23 - Formato para enviar comandos ATs ao módulo XBee/XBee-Pro

<CR> = (Retorno de carro) - É um byte de valor 13(Dec) ou 0D(Hex).

Veja alguns exemplos:

Comando Resposta do
Significado
digitado XBee/XBee-Pro
Faz o módulo
XBee/XBee-Pro entrar no
modo comando (os
+++ OK<CR> caracteres "+++" devem
ser digitados num
intervalo de 1 segundo).
Após o OK, se nenhum
comando for digitado
num intervalo de +/- 10
segundos, o módulo volta
ao estado idle (pronto
para transmitir ou
receber).

Resposta do
Comando digitado XBee/XBee- Significado
Pro
Altera o endereço
destino (DL) do
ATDL5001<ENTER> OK<CR>
módulo local para
5001.

Comando Resposta do
Significado
digitado XBee/XBee-Pro
Lê o endereço destino
ATDL<ENTER> 5001<CR>
(DL) do módulo local.

Resposta do
Comando digitado XBee/XBee- Significado
Pro
Altera o endereço
ATMY5000<ENTER> OK<CR> fonte (MY) do módulo
local para 5000.

Comando Resposta do
Significado
digitado XBee/XBee-Pro
Lê o endereço fonte (MY)
ATMY<ENTER> 5000<CR>
do módulo local.

Comando Resposta do
Significado
digitado XBee/XBee-Pro
Grava as modificações
efetuadas, na memória
ATWR<ENTER> OK<CR>
não volátil (Flash) do
módulo.

Comando Resposta do
Significado
digitado XBee/XBee-Pro
Fecha o modo comando e
volta ao estado idle
ATCN<ENTER> OK<CR>
(pronto para transmitir
ou receber).

Observação:
*Se o comando WR não for executado, as modificações permanecerão na
memória do módulo, somente enquanto o mesmo estiver
recebendo alimentação da fonte de energia elétrica;
*Todos os parâmetros numéricos de configuração do módulo devem ser
entrados em hexadecimal (não digite o prefixo 0x);

Também é possível enviar comandos para configurar o módulo em uma única


linha:

Resposta
do
Comando digitado Significado
XBee/XBee-
Pro
Altera o
endereço DL
para 5001, o
MY para
OK, OK, 5000, grava
ATDL5001,MY5000,WR,CN<ENTER>
OK<CR> os dados na
memória
Flash e sai
do modo
comando.

Mais comandos:

Resposta do
Comando digitado XBee/XBee- Significado
Pro
Dá um nome para o
módulo XBee-XBee-
Pro -
ATNI "Sensor_Temp_01".
OK<CR>
Sensor_Temp_01<ENTER> Pode usar até 20
caracteres ASCII
para nomear o
módulo.

Resposta do
Comando digitado Significado
XBee/XBee-Pro
Retorna o nome do
ATNI<ENTER> Sensor_Temp_01<CR> módulo
XBee/XBee-Pro.

Resposta do
Comando digitado Significado
XBee/XBee-Pro
Retorna a versão do
ATVR<ENTER> 10C0<CR> firmware gravado no
módulo XBee/XBee-
Pro.

Resposta do
Comando digitado Significado
XBee/XBee-Pro
Retorna a versão do
ATHV<ENTER> 180B<CR> hardware do módulo
XBee/XBee-Pro.

Velocidades válidas para a interface serial de um módulo XBee/XBee-Pro:

0 = 1200 bps
1 = 2400
2 = 4800
3 = 9600
4 = 19200
5 = 38400
6 = 57600
7 = 115200

Resposta do
Comando digitado Significado
XBee/XBee-Pro
Muda a velocidade do
módulo para
ATBD4<ENTER> OK<CR>
trabalhar com
ATWR<ENTER> OK<CR>
19200bps, e salva
ATCN<ENTER> OK<CR>
mudança na memória
Flash.

Observação:
Após alterar a velocidade, é preciso mudar também a velocidade da
interface Serial do X-CTU, na Aba "PC Settings", para que possamos nos
comunicar com ele.

Se as configurações a serem feitas forem muitas, ou caso você não tenha


muita paciência para digitar os comandos, o método mais fácil é alterar os
parâmetros através da Aba "Modem Configuration" do programa X-CTU, para
isso, siga os passos abaixo:

1) Conecte um módulo XBee ou XBee-Pro através de uma interface com a


porta RS232 ou USB (placa CON-USBBEE Rogercom) do PC;
2) Execute o programa X-CTU. Na Aba "PC-Settings" selecione a COM
associada à interface onde o XBee/XBee-Pro está conectado;
3) Clique na Aba "Modem Configuration";
4) Clique no botão "Read"; se não for possível lê o módulo, por
incompatibilidade da versão do firmware, clique no botão "Download New
versions" (é preciso está conectado à Internet). Após a atualização, feche o X-
CTU e abra-o novamente. Repita todos os passos anteriores.
5) Se houve sucesso no passo anterior, modifique os parâmetros que deseja e
depois clique no botão "Write" para gravar na memória Flash do módulo
XBee/XBee-Pro.

Veja abaixo, algumas configurações mais comuns de Redes usando os


módulos XBee/XBee-Pro:

Figura 24 - Ponto-Multiponto (Brodcast)

Figura 25 - Topologia ponto-a-ponto 1


Figura 26 - Topologia ponto-a-ponto 2

Figura 27 - Encriptação AES 128-bits

Módulos XBee/XBee-Pro com encriptação AES


128-bits habilitada. Na Rede, somente estes
módulos conseguem interpretar a informação que
trafega na mesma, pois ambos os módulos
conhecem a chave para a sua decodificação.
Módulos XBee/XBee-Pro espiões (intrusos que
não fazem parte da Rede). Esses módulos não
conseguem enxergar ou interpretar a informação
que trafega na Rede, pois não possuem a chave
para a sua decodificação.
Módulos XBee/XBee-Pro que fazem parte da
Rede, mas não enxergam a informação que
trafega na mesma. Esses módulos não
conseguem interpretar a informação, pois não
foram configurados para tal, e não possuem a
chave para a sua decodificação.

Siga os passos abaixo para colocar segurança nos módulos XBee/XBee-


Pro. Para esses exemplos atualize a versão do afirmware com a 10C0.

1) Conecte um módulo XBee ou XBee-Pro através de uma interface com a


porta RS232 ou USB (placa CON-USBBEE Rogercom) do PC;
2) Execute o programa X-CTU. Na Aba "PC-Settings" selecione a COM
associada à interface onde o XBee/XBee-Pro está conectado;
3) Clique na Aba "Modem Configuration";
4) Clique no botão "Read"; se não for possível lê o módulo, por
incompatibilidade da versão do firmware, clique no botão "Download New
versions" (é preciso está conectado à Internet). Após a atualização, feche o X-
CTU e abra-o novamente. Repita todos os passos anteriores.
5) Se houve sucesso no passo anterior, modifique os seguintes parâmetros:
EE: 1 (o parâmetro 1 habilita a segurança no módulo).
KY: ABABABABABABABABABABABABABABABAB (são 16 bytes hexadecimal de dois dígitos
cada, ou seja, 8 x 16 = 128 bits de encriptação AES).
A chave acima é um exemplo, substitua a mesma por uma chave secreta, que só você
conheça.

6) Clique no botão "Write" para gravar na memória Flash do módulo


XBee/XBee-Pro.

7) Repita os passos acima para todos os módulos que deseje que trabalhe de
forma segura. Somente os módulos que tiverem a mesma chave saberão
decodificar os dados recebidos.

Nota:
Os módulos ZigBee que não fazem parte da Rede criptografada, só
conseguem enxergar os seguintes dados:

MY - (endereço fonte do módulo remoto);


SH - (parte alta (32 bits) do número serial do módulo remoto);
SL - (parte baixa (32 bits) do número serial do módulo remoto);
DB - (Nível do sinal recebido - RSSI).
NI - (String contendo o nome do módulo remoto, se nele constar).

Essas informações podem ser requisitadas através do comando ND (Node


discover) a partir de qualquer módulo remoto.

Exemplo:

+++OK
ATND <ENTER>
0
13A200
4001AED6
24
SENSOR_TEMP_01
O comando ND lista todos os módulos que estão no alcance da Rede.
Para conhecer outros comandos, consulte o manual dos módulos XBee/XBee-
Pro no site da MaxStream.

Nota:
* Módulos da Série 2 não se comunicam com módulos da Série 1;
* A tensão máxima de conversão nos pinos de ADC dos módulos da Série 2 é
de 1,2v (com resolução de 10 bits);
* Nos módulos da Série 2 não está mais disponível o recurso (Line Passing), ou
seja, enviar um sinal de um pino I/O de um módulo ao outro
remotamente. A leitura dos pinos de I/O pode ser feita somente pela Serial
(Firmware no modo API);
* Para ligar ou desligar um pino remotamente, use agora o comando ND
(executar um comando Remoto) via Serial.

Novos recursos da Série 2:


*Agora os módulos da Série 2 usam o chip ZigBee EM250 da Ember (Uma das
fundadoras da Alliance ZigBee);
*Adicionada pilha protocolar robusta para Rede Mesh;
*Quaisquer módulos podem ser definidos como: Coordenador/Roteador ou
Dispositivo final;
*Leitura da tensão de alimentação (baterias) no módulo Remoto;
*Execução de comandos no Módulo Remoto;
*Atualização dos parâmetros no módulo Remoto (ZB);
*Atualização do firmware no módulo Remoto (ZB) via API;
*Endereçamento de 16bits e 64bits;
*Interoperabilidade - compatibilidade com outros fabricantes de equipamentos
ZigBee.

Para trabalhar com o programa RCOM-MeshBee, grave através do X-CTU, um


módulo coordenador XBee ou XBee-Pro ZB (série 2) com o firmware ZIGBEE
COORDINATOR API, (XB24-ZB, XBP24-ZB ou XBP24BZ7) configurando os seguintes
parâmetros:
(Node identifier) NI: Coordenador
(Node Discovery Options) NO: 2
Grave a configuração!

Nos módulos remotos, grave o firmware ZIGBEE ROUTER AT, (XB24-ZB, XBP24-ZB ou
XBP24BZ7) com os seguintes parâmetros:
(Node identifier) NI: escolha um nome (limite máximo 20 caracteres ASCII, não use
acentuação)
Grave a configuração!

Obs.: Para novas aplicações, os clientes devem usar o XBee & XBee-PRO ZB, construídos
sobre o ZigBee PRO Feature Set:
>>>>> ZIGBEE COORDINATOR API ou ZIGBEE COORDINATOR AT
>>>>> ZIGBEE END DEVICE API ou ZIGBEE END DEVICE AT
Rede Mesh

Módulos XBee / XBee-Pro ZB (Série 2)


Controle Remoto - Controle liga/desliga de 10 pinos do XBee/XBee-Pro (SÉRIE 2)
Regulador de tensão LDO com diodo de proteção interno

Módulo Remoto - Controle Liga/Desliga de 10 LEDs

Para testar o circuito da figura acima, ou o do controle dos Reles, grave um módulo XBee ou
XBee-Pro ZB (Série 2) com o firmware
ZIGBEE ROUTER AT, com os seguintes parâmetros:
(Node identifier) NI: LEDS_RELES
D0: 4
D1: 4
D2: 4
D3: 4
D4: 4
D5: 4
D7: 4
P0: 4
P1: 4
P2: 4

O parâmetro 4 indica que o módulo inicializará os pinos descritos acima com nível Low
(zero volt).
Grave a configuração!

Módulo Remoto - Controle Liga/Desliga para 10 Relês


Entradas digitais através dos pinos de I/O dos XBee's ZB Série 2
1) Configure um módulo XBee ou XBee-Pro ZB através da placa CON-USBBEE, com os
seguintes parâmetros:
Firmware: ZIGBEE COORDINATOR API
NO: 2
NI: COORDENADOR
DL: (é o SL do Roteador)
DH: (é o SH do Roteador).

2) Configure um módulo XBee ou XBee-Pro ZB através da placa CON-USBBEE, com os


seguintes parâmetros:
Firmware: ZIGBEE ROUTER AT
D0: 3 (entrada digital - pino 20)
D1: 3 (entrada digital - pino 19)
D2: 3 (entrada digital - pino 18)
D3: 3 (entrada digital - pino 17)
D4: 3 (entrada digital - pino 11)
D7: 3 (entrada digital - pino 12)
P0: 3 (entrada digital - pino 6)
P1: 3 (entrada digital - pino 7)
P2: 3 (entrada digital - pino 4)
NI: ENTRADAS_DI
PR: FFF (habilita resistores de pull-up interno)
IR: 0 (parâmetro zero indica que o dado é enviado somente quando hover mudança de nível do
sinal)
IC: 1C9F (Mapa de bits para detectar mudanças nas entradas)
DL: 0 (ou o SL do Coordenador)
DH: 0 (ou o SH do Coordenador).
Módulo Remoto - 9 entradas digitais

3) Para testar o exemplo, conecte o Coordenador na CON-USBBEE e execute o programa


RCOM-MeshBee.exe no PC.

You might also like