ZigBee
ZigBee e IEEE
Criada em 2003 pelo IEEE(Institute of Electrical and Electronics Engineers) em conjunto com a ZigBee Alliance, o ZigBee é um padrão de rede sem fio para arquitetura em malha de baixo custo e baixa potência voltada para a utilização em controle sem fio e aplicações de monitoramento. O baixo custo facilita a implementação da rede e a baixa utilização de energia proporciona uma vida mais longa e tamanho reduzido das baterias. Por causa do baixo consumo de energia, esta rede é destinada à dispositivos que não necessitem de altas taxas de transferências de dados.
A versatilidade do uso da rede ZigBee despertou o interesse de grandes companhias (mais de 150 empresas) que trabalham em conjunto formando a ZegBee Alliance. Elas colaboram para a criação e desenvolvimento dos padrões ZigBee capazes de fornecer mobilidade, transferência de dados segura e confiável de baixo custo e potência para o monitoramento remoto e soluções no campo da automação.
O modelo de rede Zigbee foi projetado para promover a interoperatividade entre sistemas desenvolvidos por diferentes fabricantes, contanto que estes sigam corretamente o padrão. Desta forma, isso possibilita que os nós-sensores se comuniquem dando mais dinamismo à rede.
![](caracteristicas.png)
Figura 0: Características
Arquitetura ZigBee
A arquitetura Zigbee é baseada no modelo OSI (Open Systems Interconnection) e seu protocolo possui quatro camadas. Cada camada possui uma funcionalidade bem detalhada e procedimentos para execução de serviços específicos, gerenciando o fluxo de dados para as camadas superiores.
Além das camadas PHY (Physical Layer) e MAC (Medium Access Control), especificadas pelo padrão IEEE 802.15.4, o ZigBee conta com as camadas NWK (Network) e APL (Application).
As camadas são organizadas da seguinte forma:
![](camadas-teleco.jpg)
![](camadas.png)
Figura 1: Camadas do padrão IEEE 802.15.4
Figura 2: Conjunto dos frames ZigBee
Frame
Representa o formato de dados em cada camada. O frame é a unidade de informação básica e, no Zigbee, ele é chamado de Protocol Data Unit. Os frames são:
- Camada APL: APDU (Application Protocol Data Unit)
- Camada NWK: NPDU (Network Portocol Data Unit)
- Camada MAC: MPDU (MAC Protocol Data Unit)
- Camada PHY: PPDU (PHY Protocol Data Unit)
Primitivas
Primitivas são comandos usados para comunicação de camadas adjacentes. É desta forma que uma camada solicita um serviço à uma camada de baixo, obtém informações e transfere frames. As primitivas são:
- .Request: solicitação de um serviço fornecido pela camada de baixo.
- .Confirm: resposta da camada inferior ao .request comunicando a execução ou não do serviço.
- .Indication: Gerado para repassar informações à camada superior sobre o resultado da recepção do frame ou quando o coordenador recebe um pedido prioritário.
- .Response: Resposta ao .indication contendo a uma decisão tomada pela camada superior.
Camada PHY
A camda física do Zigbee segue o padrão IEEE 802.15.4 e opera sobre as frequências ISM (Industrial Medical Scientific) que são frequência não licenciadas de rádio. Esta camada é responsável pela interface entre as camadas superiores e o meio físico, transmitindo o pacote final de dados (frame PPDU) pelo canal de comunicação sem fio por meio da modulação de sinal (conversão de sinal digital para analógico). Especialmente, a PHY utiliza a modulação DSSS (Direct Sequence Spread Spectrum), que incorpora cada bit de dado em um padrão de codificação e os espalha pela largura de banda. O sinal resultante se assemelha a um ruído e é espelhado nas frequências de banda, o que lhe promove mais robustez quanto a interferências.
Pode operar em 3 bandas de frequências, cada uma com um número de canais, divididos da seguinte maneira:
![](bandas.png)
Figura 3: Bandas de frequência
A modulação pode ser feita de duas maneiras:
- BPSK(Binary Phase Shift Keying): Cada símbolo enviado representa 1 bit de dados;
- O-QPSK(Ortogonal-Quadrature Phase Shift Keying): Cada símbolo representa 4 bits de dados.
A tabela abaixo mostra cada banda de frequência e suas características:
![](canais.png)
Figura 4: Características do padrão IEEE 802.15.4
Responsabilidades da camada física:
- Ativação e desativação do rádio;
- Seleção de frequência e troca de canal;
- Detecção de sinal;
- Modulação e codificação de bits;
- Transmissão e recepção de dados pelo rádio;
- Detecção de níveis de energia no canal (ED – Energy Detection);
- Medição da qualidade do enlace (LQI – Link Quality Indication);
- Verificação da ocupação do canal (CCA – Clear Channel Assessment)
Camada MAC
É responsável por realizar a interface entre a PHY e as camadas superiores. Controla as operações de acesso à camada física para transmissão e recepção de dados.
Nela, ocorre o encapsulamento de dados que vêm das camadas acima, os preparando para serem enviados à camada física. Da mesma forma, recebe as mensagens da camada de baixo e os envia para cima.
A MAC possui dois modos de operação:
- Modo Beaconing
Nele os coordenadores emitem, periodicamente, beacon frames, que são sinais que confirmam a sua presença na rede. Após um sinal de beacon, há o tempo de acesso (CAP - Control Access Point), em que os dispositivos disputam livremente entre si, utilizando um método chamado CSMA-CA, para a transmissão de dados. Depois do CAP, ocorre o CFP (Contension Free Period), período em que os dispositivos que tiveram os GTSs (Guaranteed Time Slot), concedidos pelo coordenador, possam operar livremente. Finalmente, o roteador entra em inatividade, até receber um novo beacon, economizando energia.
- Modo Non-Beaconing
Por vezes, pode ser mais caro organizar uma sincronia entre os beacons do que não utilizá-los. Por isso, existe o modo non-beaconing, no qual os dispositivos ficam ativos a todo momento. Dessa forma, qualquer dispositivo que queira transmitir, o fará, contanto que o canal esteja livre.
CSMA-CA
Carrier Sense Multiple Access with Collision Avoidance, é um método de acesso utilizado pelos dispositivos para evitar colisões. Primeiramente, ele "ouve" um canal por um tempo suficiente para saber se este está livre. Se sim, ele pode transmitir os dados. Se não, ele espera um período de tempo e tenta novamente. Assim, evita-se que os dispositivos "falem" simultaneamente com os nós, causando colisões.