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>
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>
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
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 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 (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 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
| Pino # | Nome | Direção | Descrição |
| 1 | VCC | - | Alimentação 3,3v |
| 2 | DOUT | Saída | Saída de dados da UART |
| 3 | DIN / | Entrada | Entrada de dados da UART |
| 4 | DO8* | Saída | Saída digital 8 |
| 5 | | Entrada | Inicializa módulo (um pulso nível 0 de pelo menos 200ms) |
| 6 | PWM0 / RSSI | Saída | Saída do PWM 0 / Indicador de Força do sinal de RF (RX) |
| 7 | PWM1 | Saída | Saída do PWM 1 |
| 8 | (Reservado) | - | Ainda não tem uma função definida (futura implementação) |
| 9 | | Entrada | Linha de Controle da Função Sleep ou Entrada digital 8 |
| 10 | GND | - | Terra |
| 11 | AD4 / DIO4 | Entrada/Saída | Só Entrada Analógica 4 ou Entrada/Saída Digital 4 |
| 12 | | Entrada/Saída | Controle de Fluxo CTS ou Entrada/Saída Digital 7 |
| 13 | ON / SLEEP | Saída | Indicador de Estado do Módulo |
| 14 | VREF | Entrada | Voltagem de Referência para as Entradas A/D |
| 15 | Associação / AD5 / DIO5 | Entrada/Saída | Indicador de Associação, só Entrada Analógica 5 ou Entrada/Saída Digital 5 |
| 16 | | Entrada/Saída | Controle de Fluxo RTS, só Entrada Analógica 6 ou Entrada/Saída Digital 6 |
| 17 | AD3 / DIO3 | Entrada/Saída | Só Entrada Analógica 3 ou Entrada/Saída Digital 3 |
| 18 | AD2 / DIO2 | Entrada/Saída | Só Entrada Analógica 2 ou Entrada/Saída Digital 2 |
| 19 | AD1 / DIO1 | Entrada/Saída | Só Entrada Analógica 1 ou Entrada/Saída Digital 1 |
| 20 | AD0 /DIO0 | Entrada/Saída | Só Entrada Analógica 0 ou 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 GND | Figura 17 - Configuração c/ controle de fluxo 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).
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
Figura 23 - Formato para enviar comandos ATs ao módulo XBee/XBee-Pro
Veja alguns exemplos:
| Comando digitado | Resposta do XBee/XBee-Pro | Significado |
| +++ | OK | Faz o módulo XBee/XBee-Pro entrar no modo comando (os 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). |
| Comando digitado | Resposta do XBee/XBee-Pro | Significado |
| ATDL5001 | OK | Altera o endereço destino (DL) do módulo local para 5001. |
| Comando digitado | Resposta do XBee/XBee-Pro | Significado |
| ATDL | 5001 | Lê o endereço destino (DL) do módulo local. |
| Comando digitado | Resposta do XBee/XBee-Pro | Significado |
| ATMY5000 | OK | Altera o endereço fonte (MY) do módulo local para 5000. |
| Comando digitado | Resposta do XBee/XBee-Pro | Significado |
| ATMY | 5000 | Lê o endereço fonte (MY) do módulo local. |
| Comando digitado | Resposta do XBee/XBee-Pro | Significado |
| ATWR | OK | Grava as modificações efetuadas, na memória não volátil (Flash) do módulo. |
| Comando digitado | Resposta do XBee/XBee-Pro | Significado |
| ATCN | OK | Fecha o modo comando e volta ao estado idle (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:
| Comando digitado | Resposta do XBee/XBee-Pro | Significado |
| ATDL5001,MY5000,WR,CN | OK, OK, OK | Altera o endereço DL para 5001, o MY para 5000, grava os dados na memória Flash e sai do modo comando. |
Mais comandos:
| Comando digitado | Resposta do XBee/XBee-Pro | Significado |
| ATNI Sensor_Temp_01 | OK | Dá um nome para o módulo XBee-XBee-Pro - "Sensor_Temp_01". Pode usar até 20 caracteres ASCII para nomear o módulo. |
| Comando digitado | Resposta do XBee/XBee-Pro | Significado |
| ATNI | Sensor_Temp_01 | Retorna o nome do módulo XBee/XBee-Pro. |
| Comando digitado | Resposta do XBee/XBee-Pro | Significado |
| ATVR | 10C0 | Retorna a versão do firmware gravado no módulo XBee/XBee-Pro. |
| Comando digitado | Resposta do XBee/XBee-Pro | Significado |
| ATHV | 180B | Retorna a versão do 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
| Comando digitado | Resposta do XBee/XBee-Pro | Significado |
| ATBD4 | OK OK | Muda a velocidade do módulo para trabalhar com 19200bps, e salva 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
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.
Nenhum comentário:
Postar um comentário