terça-feira, 20 de março de 2018

Rede Mesh Xbee

Introdução:
    Uma rede mesh com XBee permite que se tenha uma rede que se auto configure em caso de algum nodo sair da rede, ou caso algum novo nodo apareça. Contanto que exista uma caminho entre um "Router" e o "Coordenator" é possível envi
ar informação para uma "central".

Materiais necessários:
Coordenator:
1x XBee Explorer (para configurar a XBee)
1x Cabo USB Mini (para conectar ao XBee explorer)
1x XBee Série 2 (É dito que a S1 não suporta Rede Mesh)

Router:
1x Arduino Mega
1x XBee Série 2
1x Cabo USB A/B



Pré-requisitos:
1. Ter o XCTU instalado

Passos:
1) Configurar o módulo XBee como Coordenator
2) Configurar o módulo XBee como Router
3) Montar o setup de teste
4) Testar a rede trocando mensagens

1) Configuração do módulo XBee como Coordenator


2) Configuração do módulo XBee como Router



3) Montar o setup de teste

1. Montar O XBee Coordenator no XBee explorer.


2. Montar o XBee configurado como Router na shield e na Arduino e fazer a fiação como no diagrama abaixo:
Dout -> TX3
Din -> RX3
Montagem Arduino + Shield XBee + XBee
Foto da montagem

3. Fazer o Upload do código abaixo para a Arduino

void setup()
{
  Serial.begin(9600);
  Serial3.begin(9600);
}

void loop()
{
  if (Serial.available())
  { // If data comes in from serial monitor, send it out to XBee
    Serial3.write(Serial.read());
  }
  if (Serial3.available())
  { // If data comes in from XBee, send it out to serial monitor
    Serial.write(Serial3.read());
  }
}
4) Testar a rede trocando mensagens
1. Conectar o Coordenator no PC
2. Abrir o XCTU e Conectar e Escanear por dispositivos
3. Selecionar o XBee Coordenator (Item 1 da imagem abaixo)
4. Selecionar a aba de Terminal (Item 2 da imagem abaixo)
5. Conectar o modulo (Item 3)
6. Tudo que for digitado aqui (Item 4) será enviado para todos os módulos da rede mesh
7. Conecte a Arduino, com o XBee montado, ao PC
8. Abra a IDE da Arduino e então abra o serial monitor
9.  Agora será possível visualizar os dados enviados pelo coordenator
Obs: Tudo que for digitado no terminal da Arduino também aparece no Terminal do XCTU

Considerações finais
Essa rede pode comportar muitos novos Nodos, para isso, somente é necessário que mantenham as mesmas configurações de Router. 

Próximos passos
Introduzir o uso do protocolo MQTT-SN para aumentar a confiabilidade da rede e padronizar a comunicação entre os sensores da rede.
Analisar  o que acontece quando um novo nodo Coordenator aparece na rede.
Verifica o limite de nodos nesta rede.
Analisar a distância máxima entre 2 nodos.
Analisar o consumo de corrente e métodos par economizar bateria.

Problemas durante os passos
1. Sem o módulo XBee explorer não foi possível fazer com que o XCTU identificasse o XBee montado no shield do FilipeFlop. Aparentemente, este é uma shield mais simples em que só é possível fazer a Arduino se comunicar com o XBee e nada mais. O shield XBee da sparkfun permite configurar os módulos XBee apartir de um código previamente carregado na arduino. Porém o laboratório ainda não tem esta shield.
Solução: Utilizar o XBee Explorer para configurar as XBees.

2. XCTU não reconhece o XBee explorer, talvez por falta de drivers.
Solução: Intalar os driver Seguindo esse post: http://bytespassivos.blogspot.com.br/search?q=Instalar+drivers+FTDI



Fontes:
http://www.instructables.com/id/XBee-Mesh-Network-Construction/
https://www.filipeflop.com/blog/tutorial-wireless-arduino-xbee-shield/


Nenhum comentário:

Postar um comentário