# Zigbee

O ZigBee é um protocolo de comunicação e transferencia de dados sem fio que tem sido bastante utilizado em dispositivos IoT (sigla para Internet das coisas, em português) como lâmpadas, tomadas, sensores e eletrodomésticos popularmente chamados de "smart". Com a popularização de aparelhos conectados a internet e que possuem interação entre eles, simplificar a comunicação entre eles em um único protocolo foi uma escolha bastante natural. O grande diferencial é a baixa potência de operação, baixa taxa de transmissão de dados e o baixo custo de implementação.
Tal conjunto de especificações define camadas do modelo OSI subsequentes àquelas estabelecidas pelo padrão IEEE 802.15.4. Foi pensada para interligar pequenas unidades de recolhimento e controle de dados recorrendo a sinais de radiofrequência não licenciados, sendo comparável neste aspecto às redes Wi-Fi e Bluetooth, mas se diferencia destas mesmas por desenvolver menor consumo de energia, possuir um alcance reduzido (cerca de 100 metros) e a comunicação entre duas unidades poder ser repetida sucessivamente pelas unidades existentes na rede até atingir o destino final. Todos os pontos da rede podem funcionar como retransmissores de informação. Uma malha (Mesh) de unidades ZigBee pode ser realizada numa extensão doméstica ou industrial sem necessidade de utilizar ligações elétricas entre elas.
Hoje já se encontram módulos com taxas de 250kbps que alcançam até 70 metros em visada aberta. Funciona em modo de rede transparente, no qual todos os pontos podem receber dados, e no modo criptografado, no podem ser configurados o nome de usuário, endereço na rede e os endereços que receberão dados e mensagens numa determinada seção. Já existem, inclusive, módulos para comunicação com microcontroladores, com PCs (via USART e interface max-232) e câmeras ZigBee!

## Visão Geral

ZigBee é um padrão de rede sem fio para arquitetura em malha de baixo custo, baixa potência. O baixo custo permite a tecnologia a ser amplamente utilizados no controle sem fio e aplicações de monitoramento. Baixa utilização de energia permite uma vida mais longa, com baterias menores. Redes em malha oferecem alta confiabilidade e alcance mais amplo. Fornecedores de chips ZigBee tipicamente vendem rádios integrados e microcontroladores com memória flash entre 60 kB e 256 kB.
Oferece basicamente quatro tipos de serviços diferentes:
* Encriptação Extra: as chaves de aplicações e de rede implementam a criptografia AES (Advanced Encryption Standard) extra de 128b
* Associação e autenticação: somente nós válidos podem se juntar à rede.
* Protocolo de roteamento: um protocolo ad hoc reativo foi implementado para executar o processo de roteamento e encaminhamento de dados para qualquer nó da rede. Trata-se de um protocolo adaptativo a cenários de alta mobilidade, que tende a evitar desperdício de banda, minimizar o processamento e fazer a manutenção das rotas de pacotes existentes.
* Serviços de Aplicação: cada nó pertence a um cluster predefinido e pode tomar um número predefinido de ações. Exemplo: o "conjunto de sistemas da luz da casa" pode executar duas ações: "acender as luzes" e "desligar as luzes".
ZigBee opera nas faixas de rádio industriais, científicas e médicas (ISM), 868 MHz na Europa, 915 MHz nos EUA e Austrália, e de 2,4 GHz na maioria das jurisdições em todo o mundo. As taxas de transmissão de dados variam de 20 a 900 kB/s.
A camada de rede ZigBee suporta nativamente as topologias estrela e árvore em arquiteturas de malha genérica. Cada rede deve ter um dispositivo coordenador, encarregado de sua criação, o controle de seus parâmetros e manutenção básica. Dentro de redes em estrela, o coordenador deve ser o nó central. Em ambas as topologias se permite o uso de roteadores ZigBee para estender a comunicação ao nível da rede.
ZigBee baseia-se na camada física e controle de acesso médio definido no padrão IEEE 802.15.4 (versão 2003) para a baixa taxa WPANs. A especificação passa a completar o padrão, adicionando quatro componentes principais: camada de rede, camada de aplicação, objetos de dispositivo ZigBee (ZDOs) e fabricante definidos objetos de aplicação que permitem a personalização e integração total.
Além de adicionar duas camadas de alto nível de rede para a estrutura básica, a melhoria mais significativa é a introdução de ZDOs. Estas são responsáveis ​​por uma série de tarefas, que incluem manutenção de papéis de dispositivos, gestão de pedidos para se juntar a uma rede, a descoberta de dispositivos e segurança.
ZigBee não se destina a apoiar a rede powerline, mas para interagir com ela, pelo menos, para os contadores inteligentes e fins de aparelhos inteligentes.
Nós ZigBee podem ir do sono ao modo ativo em 30 ms ou menos, a latência é baixa e dispositivos podem ser ágeis, particularmente em comparação com os atrasos do Bluetooth wake-up, que é tipicamente em torno de três segundos. Como os nós ZigBee pode dormir a maior parte do tempo, o consumo de potência média pode ser reduzida, resultando em longa duração da bateria.

## Usos

Protocolos ZigBee são destinados a aplicações embarcadas que exigem baixas taxas de dados e baixo consumo de energia. A rede resultante usará pequenas quantidades de energia. Dispositivos devem ter uma autonomia, no melhor caso, de pelo menos dois anos sem renovação da fonte de energia para passar pela certificação ZigBee. Áreas de aplicação típicas incluem: Entretenimento doméstico e controle - Domótica, iluminação inteligente, controle de temperatura avançada, segurança, filmes e músicas. Redes de Sensores Sem Fio - Começando com sensores individuais como Telosb / Tmote e Iris/Micaz de MEMSIC. Controle industrial, sensoriamento incorporado, coleta de dados médicos, alerta de fumante ou intrusão, automação predial.

## Tipos de dispositivos

Existem três tipos diferentes de dispositivos ZigBee:
* ZigBee coordenador (ZC): O dispositivo mais completo, o coordenador faz a raiz da árvore da rede e pode superar a outras redes. Há exatamente um coordenador ZigBee em cada rede, uma vez que é o dispositivo que iniciou a rede originalmente. Ele é capaz de armazenar informações sobre a rede, inclusive atuando como o Centro de Fidedignidade e repositório de chaves de segurança.
* ZigBee Router (ZR): Assim como executar uma função do aplicativo, um roteador pode funcionar como um roteador intermediário, transmissão de dados de outros dispositivos.
* ZigBee dispositivo final (ZED): Contém a funcionalidade apenas o suficiente para falar com o nó pai (ou coordenador ou um roteador), ele não pode transmitir dados de outros dispositivos. Esta relação permite que o nó a ser adormecido uma quantidade significativa do tempo dando assim a vida da bateria longa. Um ZED requer a menor quantidade de memória, e, portanto, pode ser menos caro de fabricar do que um ZR ou ZC.