Lomadee, uma nova espécie na web. A maior plataforma de afiliados da América Latina.

domingo, 21 de agosto de 2011

...tentando configurar o ZigBee nos modos AT e API.


Comandos AT
Os comandos AT possuem uma estrutura como a ilustrada na Figura 1.


Figura 1. Estrutura dos comandos AT.

Antes de enviar os comandos AT é preciso que o módulo ZigBee esteja no modo comando. Para o dispositivo entrar em modo comando digita-se os caracteres do sinal de soma três vezes (+++) e espera uma resposta OK do dispositivo. Após o dispositivo enviar o sinal OK, os comandos AT já podem ser enviados para a configuração. Após o envio da resposta OK, se nenhum comando for enviado durante um período de aproximadamente 10 segundos para o módulo ele entrará no estado idle (estado pronto para transmitir e receber dados). A Tabela 1 lista alguns comandos AT utilizados para programar os dispositivos.

Tabela 1. Comandos AT para programação do XBee/XBee-ProTM.
COMANDO
RESPOSTA DO XBEE/XBEE-PROTM
SIGNIFICADO
+++
OK <CR>
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).
ATDL5001 <ENTER>
OK <CR>
Altera o endereço destino (DL) do módulo local para 5001.
ATDL <ENTER>
5001 <CR>
Lê o endereço destino (DL) do módulo local.
ATMY5000 <ENTER>
OK <CR>
Altera o endereço fonte (MY) do módulo local para 5000.
ATMY <ENTER>
5000 <CR>
Lê o endereço fonte (MY) do módulo local.
ATWR <ENTER>
OK <CR>
Grava as modificações efetuadas, na memória não volátil (Flash) do módulo.
ATCN <ENTER>
OK <CR>
Fecha o modo comando e volta ao estado idle (pronto para transmitir ou receber)
ATNI Nome_do_Modulo <ENTER>
OK <CR>
Atribui um nome para o módulo XBee-XBee-Pro - "Nome_do_Modulo". Pode usar até 20 caracteres ASCII para nomear o módulo.
ATNI <ENTER>
Nome_do_Modulo <CR>
Retorna o nome do módulo XBee/XBee-Pro.
ATVR <ENTER>
10C0 <CR>
Retorna a versão do firmware gravado no módulo XBee/XBee-Pro.
ATHV <ENTER>
180B<CR>
Retorna a versão do hardware do módulo XBee/XBee-Pro.
ATBD3 <ENTER>
OK <CR>
Muda a velocidade do módulo para trabalhar com 9600bps.
  
Comandos API
Para iniciar a configuração do modo API deve-se selecionar o valor um para o parâmetro AP, fazendo com que o módulo fique habilitado. Os comandos API podem agora ser enviados aos módulos remotos. Cuidado é essencial na construção dos frames, pois um frame construído errado será descartado pelo módulo local sem ao menos ser enviado. A Figura 2 ilustra um frame de dados no modo API.


Figura 2. Frame de dados no modo API.

         O frame é constituído por:
·        Start Delimiter: delimitador de inicio. Qualquer dado recebido antes dele é descartado;
·        Length: tamanho do pacote;
·        Frame Data: dados que estão sendo transmitidos;
·        Cheksum: calculado para verificar a integridade dos dados.

Com o ZigBee configurado no modo API tem-se, entre outras, as seguintes vantagens: a possibilidade de transmitir dados para múltiplos destinos sem ser necessário entrar no modo comando; os dispositivos recebem estados de sucesso ou falha para cada pacote transmitido; é possível identificar o endereço de onde partiu cada pacote.

Breve vou postar como configurar no modo API....quando eu aprender é claro...heheheh... o/

...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.