COMUNICAÇÃO XBEE
- XBee
ZIGBEE E XBEE
As Redes de Sensores Sem Fio constituem uma tecnologia emergente, que vêm proporcionando um crescimento significativo das perspectivas industriais e científicas em todo o mundo. A capacidade de monitorar e controlar o ambiente, aliada a um baixo consumo de energia, permite a aplicação da tecnologia em diversos setores da sociedade. Assim, o uso de sensores sem fio com o objetivo de monitorar e controlar um determinado ambiente é uma forte tendência para os próximos anos.
TOPOLOGIA DA REDE A topologia de rede implementada no trabalho foi topologia em estrela. Nesta topologia o Coordenador tem todo o controle da rede, assumindo um papel central e fazendo a comunicação direta com todos os dispositivos Endpoint. O Coordenador tem a função de iniciar toda a rede e manter todos os dispositivos associados dentro da rede. Toda a informação transmitida tem que passar pelo Coordenador.
MÓDULOS XBEE
Os módulos XBee são compostos, basicamente, por um microcontrolador e um transceptor. O microcontrolador contém o firmware com a implementação do protocolo ZigBee e a especificação do comportamento do dispositivo (Coordenador, Roteador ou Dispositivo Final).
Recebimento e teste dos componentes
Foram recebidos (em 07/08/2014) para o desenvolvimento do projeto os seguintes componentes:
- 4 Arduino Uno;
- 3 cabos conexão Arduino/USB;
- 4 Shields conexão Arduino/XBee;
- 4 XBee S2;
- 2 Adaptadores XBee/USB com cabo;
- 2 Módulos Bluetooth.
Após o recebimento e marcação dos componentes foram realizados os seguintes testes:
- 01 - Alimentação 5V por USB do computador;
- 02 - Alimentação 12V por fonte 12Vcc 1A;
- 03 - Gravação de código com instruções no micro-controlador;
- 04 - Leitura do pino analógico A0; (Tensão variável provocada por um photo-resistor)
- 05 - Escrita no pino D10; (Foi aceso um LED no pino)
- 06 - Escrita no pino D13; (Verificação do LED do pino 13 da placa)
- 07 - Comunicação com o módulo Bluetooth usando os pinos 8 e 9;
- 08 - Alimentação do módulo Bluetooth no pino 3,3V;
- 09 - Alimentação do circuito com photo-resistor usando o pino 5V;
- 10,11,12 - Foram iniciados os primeiros testes de comunicação em diferentes modos. Os procedimentos e resultados são detalhados abaixo.
CONFIGURANDO O MÓDULO XBEE
CONFIGURAÇÕES DOS PARÂMETROS
Dentre os parâmetros configuráveis, destacam-se: nome do nó, endereço de destino, velocidade de comunicação (baud rate), comportamento dos pinos de entrada e saída, ID da rede, entre outros. Cada dispositivo possui dois endereços, o MY (16 bits) e o Número Serial (64 bits). O MY é o endereço de rede, variável, e é distribuído automaticamente pelo coordenador assim que o nó entra na rede. Uma analogia interessante é associar o endereço MY com o endereço IP nas redes TCP/IP com DHCP, em que cada máquina recebe um endereço automaticamente. Já o Número Serial é único e invariável para cada dispositivo fabricado (semelhante ao endereço MAC das placas de rede Ethernet). No parâmetro Channel ID, podemos escolher o canal de comunicação utilizado. Os parâmetros XBee Retries (RR) e o Node Discover Time (NT), correspondem, respectivamente, ao número de tentativas máximo que o módulo faz para enviar um dado e ao tempo máximo que o módulo procura por outros nós na rede em que se insere. Os parâmetros na pasta Sleep Modes referen-se a opções de consumo energético. Nestes parâmetros são definidos os modos de Sleep do XBee de modo a minimizar o consumo energético. Além disso, pode-se ainda configurar o tempo durante o qual o módulo fica ativo antes de entrar no modo de Sleep selecionado.
Nos testes realizados o Coordenador foi configurado em modo API com os parâmetros mostrados na figura abaixo.
- Testes de comunicação
Foram realizados testes de comunicação entre o Coordenador e os End Device em diferentes modos. AT-AT, API-AT E API-API. Os testes foram satisfatórios nos dois primeiros modos. Porém nos primeiros testes no modo API-API os End Device recebiam as mensagens apenas quando enviadas como BROADCAST.
Na imagem abaixo é possível visualizar o recebimento de pacotes pelos End Device em modo AT e em modo API. O Coordenador enviava pacotes para três diferentes XBee, em diferentes modos de operação e então enviava pacotes broadcast. Apenas os pacotes que eram enviados como broadcast foram recebidos.
Em seguida foram ajustadas novamente as configurações e realizado o passo da figura abaixo. Quando executado esse passo, o Coordenador configura a rede e distribui os endereços MY entre os dispositivos finais.
Abaixo é possível verificar a mudança nos parâmetros dos dispositivos finais após formada a rede pelo Coordenador.
Após formada a rede, foi possível a transmissão de mensagens tanto para um determinado dispositivo final como broadcast.
XBee
Configurações de Jumper:
O Xbee Shield tem dois jumpers (as pequena capinhas de plástico removível que se encaixam em dois dos três pinos rotulados Xbee/USB). Eles determinam como a comunicação serial do Xbee se conecta à comunicação serial entre o microcontrolador (ATmega8 ou ATmega168) e o chip FTDI USB-to-serial na placa Arduino.
Com os jumpers na posição Xbee (isto é, encaixados nos dois pinos no lado interior da placa), o pino DOUT do módulo Xbee está ligado ao pino RX do microcontrolador; e DIN está ligado a TX. Note que os pinos RX e TX do microcontrolador estão ainda ligados aos pinos TX e RX (respectivamente) do chip FTDI – os dados enviados a partir do microcontrolador serão transmitidos ao computador via USB, bem como estão sendo enviado sem fio pelo módulo Xbee. O microcontrolador, no entanto, só será capaz de receber dados a partir do módulo Xbee não, através da USB do computador.
Com os jumpers na posição USB (isto é, encaixados nos dois pinos mais próximos da borda da placa), o pino DOUT do módulo Xbee está ligado ao pino RX do chip FTDI, e o DIN no módulo Xbee está ligado ao pino TX do chip FTDI. Isto significa que o módulo Xbee podem se comunicar diretamente com o computador – no entanto, isso só funciona se o microcontrolador foi removido da placa Arduino. Se o microcontrolador é deixado na placa Arduino, será capaz de falar com o computador normalmente via USB, mas nem o computador nem o microcontrolador serão capazes de falar com o módulo de Xbee.
- Links Zigbee/XBee
http://lusorobotica.com/ficheiros/Introducao_ao_Zigbee_-_por_msaleiro.pdf http://www.univasf.edu.br/~ccomp/monografias/monografia_8.pdf
http://arduino.cc/en/Guide/ArduinoWirelessShield
http://arduino.cc/en/Main/ArduinoWirelessShield
http://labdegaragem.com/profiles/blogs/tutorial-como-utilizar-o-xbee
http://hangar.org/webnou/wp-content/uploads/2012/01/arduino-xbee-primeros-pasos.pdf
http://www.oarduino.com/arduino-xbee-shield/
Códigos do TCC Droidlar: http://wiki.sj.ifsc.edu.br/index.php/Automa%C3%A7%C3%A3o_residencial_atrav%C3%A9s_de_um_celular_android
Vídeo Tutorial:https://www.youtube.com/channel/UCMIqrmh2lMdzhlCPK5ahsAg