Lomadee, uma nova espécie na web. A maior plataforma de afiliados da América Latina.
Mostrando postagens com marcador ZigBee. Mostrar todas as postagens
Mostrando postagens com marcador ZigBee. Mostrar todas as postagens

domingo, 21 de agosto de 2011

...tentando aprender configurar e usar os módulos XBee/XBee-Pro TM


Um século depois, da última postagem, venho novamente encher o saco com coisas que provavelmente nem 2% dos leitores (se é que existem) do blog lerão. Como o blog foi criado devido aos estresses constantes que tive com o meu tcc, nada mais justo do que postar algumas coisas dele. Uma coisa interessante que aprendi, como já mostrei em outros posts, foi utilizar os módulos ZigBee.... e como não sou egoísta, vou passar algumas coisas (nada que vc não encontrasse no manual do dispositivo, mas é preguiçoso d+ pra procurar).
Pra quem não lembra.... um ZigBee é issaki (Figura 1):


Figura 1. XBee XB24 - ZB.

Como listado na Tabela 1, os pinos do módulo ZigBee possuem diferentes funções como entradas analógicas, PWM, entrada/saída digital, entre outras.

Tabela 1. Descrição dos pinos dos módulos XBee/XBee-Pro™.
PINO #
NOME
DIREÇÃO
DESCRIÇÃO
1
VCC
-
Alimentação 3,3 V
2
DOUT
Saída
Saída de dados da UART
3
DIN/ 
Entrada/Saída
Entrada de dados da UART
4
DO8*
Saída
Saída digital 8
5
reset
Entrada
Inicializa módulo (um pulso
 nível 0 de pelo menos 200 ms)
6
PWM0/RSSI
Saída
Saída do PWM 0/ indicador de
 força do sinal de RF
7
PWM1
Saída
Saída do PWM 1
8
(Reservado)
-
Ainda não tem uma função definida
9
/SLEEP_IRQ/DI8
Entrada
Linha de controle da função 
sleep ou entrada digital 8.
10
GND
-
Terra
11
AD4/DIO4
Entrada/Saída
Entrada analógica 4 ou 
 entrada/saída digital 4
12
/DIO7
Entrada/Saída
Controle do fluxo CTS ou
 entrada/saída digital 7
13
ON/SLEEP
Saída
Indicador de estado do módulo
14
VREF
Entrada
Voltagem de referencia
 para as entradas A/D
15
Associação/AD5/DIO5
Entrada/Saída
Indicador de associação, 
entrada analógica 5 ou entrada/saída
 digital 5
16
/AD6/DIO6
Entrada/Saída
Controle de fluxo RTS, entrada
 analógica 6 ou entrada/saída digital 6
17
AD3/DIO3
Entrada/Saída
Entrada analógica 3 ou
 entrada/saída digital 3
18
AD2/DIO2
Entrada/Saída
Entrada analógica 2 ou
 entrada/saída digital 2
19
AD1/DIO1
Entrada/Saída
Entrada analógica 1 ou
 entrada/saída digital 1
20
AD0/DIO0
Entrada/Saída
Entrada analógica 0 ou
 entrada/saída digital 0

Os módulos XBee/XBee-ProTM podem operar de dois modos diferentes: o modo transparente (AT) ou o modo API (Application Programming Interface).

* Modo Transparente: neste modo, os dados são recebidos da UART pelo pino RX do dispositivo ZigBee e são colocados na fila para transmissão via RF. Os dados recebidos pelo canal são transmitidos pelo pino TX. Neste modo de operação a transmissão é idêntica à comunicação RS-232 padrão;

* Modo API: este modo é baseado em frames, ou seja, os dados transmitidos e recebidos estão contidos em frames, que definem operações ou eventos dentro do módulo. Com as características deste modo é possível enviar endereço fonte, endereço destino, nome do nó, estado entre outras informações. Entre as principais vantagens do modo API pode-se citar a capacidade de transmitir dados para diversos destinos sem a necessidade de entrar em modo comando. O módulo configurado neste modo recebe estado de sucessos ou falhas dos pacotes que estão sendo enviados e é capaz de identificar o endereço de onde partiu cada pacote recebido.

quarta-feira, 8 de junho de 2011

... tentando conectar meu módulo Xbee no software X-CTU e sempre aparecia a mensagem "unable to communicate with modem"!

Há pouco tempo estou utilizando os módulos Xbee para fazer comunicação sem fio, porém nesses últimos dias me deparei com alguns problemas.

1º o Xbee (Xbee-Pro ZB  (S2 -> não isso não é um coração.... leia-se “ésse dois”, “série dois”))que eu estava utilizando era emprestado, logo, tive que devolver... ¬¬

2º comprei um par, porém meu amigo, e parceiro de laboratório, me convenceu que poderíamos comprar um módulo mais barato e que poderíamos obter com ele o mesmo resultado. Como eu gosto de mexer em time que ta ganhando, acabei comprando esse mais barato, o XB24-ZB...

Quando meu professor orientador descobriu a “besteira” que eu tinha feito, ele disse:
- Quero v vc fazer esses módulos funcionarem de forma que os dois possam enviar e receber informações simultaneamente.
Tipo, o teacher achava que só os módulos que fossem PRO, poderiam fazer essa PROeza (piadinha infame....¬¬). Me desafiou véi....

Fui pesquisar...

Como sou pior que menino ruim, fui logo fuçar, primeiro claro como todo bom estudante que gosta de pegar as coisas tudo prontinhas... fui no rogercom.com (propaganda aê), entao tentei configurar os dois bixos como COORDENADOR AT.... parará e pá... fiz igual o cara disse... mas algo de estranho aconteceu, não consegui mais conectar o meu modulo Xbee....

Sempre que tentava conectar me aparecia a seguinte mensagem: “unable to communicate with modem”. Tente baixar a nova versão do X-CTU, atualizar o firmware, mas nada... pronto queimei!

Pesquisa vai pesquisa vem... encontrei num site o cara “explicando” (só consegui entender o que ele fez depois de quase uma hora! obs.: todo mundo que me conhece sabe que é exagero, mas.... quero dizer que o cara explicou muito ruim) como ele resolveu o problema dele que era o mesmo do meu.

Então... primeiro vamos ao erro. “unable to communicate with modem”, o X-CTU diz que o erro pode estar na escolha do baud rate, que podem estar diferentes ( o do dispositivo com o do X-CTU) , problemas com a porta serial ou a memória foi corrompida.  Pronto, o moço cheio de sorte como eu escolhi a última alternativa “memória corrompida”.
Agora vamos ao que interessa.... como resolvi!

1º conectei o adaptador USB no computador sem o módulo Xbee.

2º fui na aba Modem Configuration e coloquei as configurações default do meu módulo.

Modem XBEE: XB24-ZB
Function Set: Zigbee Coordinator AT
Version: 2064

3º mandei escrever “Write” (ainda sem o módulo Xbee conectado ao adaptador USB)
Quando ele termina de escrever aparece uma janela com algumas informações, nessa hora vc inseri o módulo Xbee na placa USB (sem desconectar do PC). Após conectado aperte o botão de reset do conector USB.  A janela de informações irá desaparecer e a escrita será feita no módulo corretamente... né fácil?? 

Pois é.... ai voltando ao desafio principal... fazer os dois dispositivos enviarem e receber informações....
Que fiz, que fiz?? Fui pesquisar.... ai encontrei essa vídeo aula (http://www.blogelectronica.com/TEMP/FLASH/ZIGBEE/XBEE_demo2.htm)... bem simples mesmo (porém em espanhol).... mas no mais é só o seguinte:

1º Coloque um Xbee no adaptador USB e abra o X-CTU, la vc vai configurá-lo como Zigbee Router AT e colocar um nome para identificá-lo no NI (no meu caso eu coloquei Roteador), por fim escreva.

2º coloque o outro Xbee e configure como Zigbee Coordinator AT e escreva.
Depois disso, com os dois módulos ligados, porem só o módulo que será o Coordenador precisa estar conectado ao computador, o outro pode estar só ligado a fonte mesmo.

No X-CTU, e com o Xbee que será coordenador conectado ao PC, vá na aba terminal e digite:
+++ (após uns segundos aparecerá a resposta OK)
ATND (irão aparecer informações sobre os módulos que foram encontrados pelo coordenador)
Após identificar o seu módulo é necessário apenar digitar o comando:
ATDNRoteador (tipo, ATND”nomeDoOutroMódulo”)
Ele responderá com OK e em seguida vc só precisa digitar WR (para escrever) ou ir até a aba Modem Configuration e clicar em “Write”.