quarta-feira, 16 de setembro de 2020

Programando NINA B302 com ZIGBEE


O objetivo deste BLOG é demonstrar de forma resumida como é possível fazer com que o módulo NINA B3 possa rodar o SDK ZIGBEE da NORDIC. Foi utilizado o módulo NINA-B302 para o teste.


Sobre o protocolo Zigbee

O ZigBee é um protocolo de comunicação sem fios destinado a aparelhos IoT, com foco em dispositivos de baixa potência. Esses, por sua vez, são equipamentos que possuem uma demanda energética limitada, com autonomia que pode chegar a anos com uma única bateria. A tecnologia foi pensada para interligar essas unidades de dispositivos inteligentes, criando uma espécie de rede ZigBee, independente do Wi-Fi.

A promessa, portanto, é de criar uma comunicação autônoma entre esses produtos, o que pode significar maior velocidade e segurança para a casa conectada. Entre as principais aplicações da tecnologia estão: hubs domésticos, iluminação inteligente, controle de temperatura, controle de segurança e coleta de dados.

Como funciona?
Utilizando um sistema de malha, no qual cada dispositivo pode receber e retransmitir os dados, e fazendo uso de um protocolo de criptografia AES-128, o ZigBee cria a interconexão entre aparelhos inteligentes da casa ou empresa, promovendo a interação em uma mesma rede. O sistema permite ainda que, caso um dispositivo apresente falha na comunicação, todo o sistema automaticamente migre a transmissão para outro dispositivo próximo, procedimento conhecido como salto. Entre cada produto, o alcance máximo é de cerca de 100 metros no protocolo 3.0, mais atual.

Em uma única rede, o ZigBee pode suportar até 65 mil dispositivos, permitindo o uso do sistema inclusive em instalações de grande porte. A certificação ZigBee garante o funcionamento da tecnologia nos aparelhos, assim como a confiabilidade e segurança do sistema. O protocolo já é encontrado em diversos equipamentos inteligentes como luzes, eletrodomésticos e assistentes virtuais.

Use esta parte do nRF5 SDK para Thread e Zigbee v2.0.0 para construir aplicativos baseados no protocolo de rede Zigbee.

Os exemplos Zigbee neste SDK são construídos sobre o nRF5 SDK v15.2.0, que você pode usar para desenvolver seus aplicativos.

Resumo de Instalação


-->Instale o SEGGER J-Link
-->Instale o SEGGER STUDIO
-->Baixe o SDK ZIGBEE da NORDIC
-->Execute o SEGGER STUDIO
-->Abra o Projeto zigbee_cli_agent_router_pca10056


-->Compile e grave no NINA B302 (1)
-->Compile e grave no NINA B302 (2)
-->Conecte na USB do seu computador, aguarde aparecer o canal de comunicação



-->Abra o TeraTerm na COM110


-->Abra o TeraTerm na COM111


--> Testando

O exemplo do agente de interface de linha de comando Zigbee demonstra um roteador Zigbee (com a possibilidade de ser um coordenador) que interage com o usuário por meio da interface de linha de comando. Este Agente CLI é uma ferramenta que pode ser usada para diversos fins, incluindo:

configuração inicial da rede - formar uma rede como coordenador, adicionar dispositivos à rede com os códigos de instalação, configurar o PAN ID estendido;
resolução de problemas da rede em execução - leitura e escrita de atributos, assinando os relatórios dos parâmetros;
benchmarking - medindo o tempo necessário para a mensagem viajar de um nó para outro.
A CLI pode ser acessada usando duas interfaces:

UART,
Dispositivo USB CDC.
As interfaces são totalmente independentes umas das outras e podem ser utilizadas simultânea ou exclusivamente.

Ambas as interfaces usam as seguintes configurações de velocidade e paridade:

115200 bit / s,
Palavra de 8 bits,
sem paridade,
Parada de 1 bit.

A CLI usa sua própria biblioteca dedicada. Consulte a biblioteca Zigbee CLI para obter mais detalhes.

  1. By default, the CLI Agent implements the Zigbee Router functionality. If you have a coordinator nearby that is listening on the channel 16, issue:
    bdb channel 16
  2. Issue:
    bdb start
    The CLI Agent joins the network.
  3. Check the network short address:
    zdo short
    The command must return the acquired short address of the CLI node.

Precondition
To test the CLI Agent example, prepare two boards and a Zigbee Coordinator or a third board.
  1. Build the CLI example and flash it into the two boards.
  2. Do one of the following:
    • If you have a standalone Zigbee Coordinator, make sure it is able to accept new nodes.
    • If you do not have a standalone Zigbee Coordinator, use a Zigbee Coordinator from the Zigbee Light Control example and flash it on a third board (see also the note following this procedure).
  3. Connect to the CLI on both boards that have the CLI example flashed on by using the connection appropriate for you.
  4. On both CLIs, issue:
    bdb start
  5. Check that the devices have commissioned by issuing the following command:
    zdo short
    The command must return the received short address of the board.
  6. Check the EUI64 addresses of both boards by issuing:
    zdo eui64
  7. On one board, issue:
    zcl ping <eui64 address of the other board> 30

The board pings the other board with 30 bytes of payload data and prints the time passed between sending a request and receiving a reply.

Note
If you do not have access to the coordinator (standalone or on a third board), you can have one of the CLIs to act as a coordinator. To do so:
  1. Set CLI device to work as a coordinator:
    bdb role zc
  2. Issue the following command on the CLI coordinator node to start a new Zigbee network:
    bdb start
  3. Now you can proceed with testing the Zigbee ping functionality.


Circuito construido




Entrando numa Rede ZigBee da Telegesis (teste Básico), sem provisioning




Suporte: suporte@smartcore.com.br

Fontes:


Sobre a SMARTCORE

A SmartCore fornece módulos para comunicação wireless, biometria, conectividade, rastreamento e automação.
Nosso portfólio inclui modem 2G/3G/4G/NB-IoT/Cat.M, satelital, módulos WiFi, Bluetooth, GNSS / GPS, Sigfox, LoRa, leitor de cartão, leitor QR code, mecanismo de impressão, mini-board PC, antena, pigtail, LCD, bateria, repetidor GPS e sensores.
Mais detalhes em www.smartcore.com.br

Nenhum comentário:

Postar um comentário