Um dispositivo ZigBee é o hardware desenvolvido e pronto para uso. Dispositivos ZigBee são módulos certificados por agências reguladores, por exemplo a Anatel (Agên- cia Nacional de Telecomunicações) no Brasil. Geralmente, os mesmos são alimentados
2.5. ARQUITETURA DE REDE COM PROTOCOLO ZIGBEE. 21
por baterias e possuem pinos de entrada e saída GPIOs (em inglês General Purpose In- put/Output) ou ADC (em inglês Analog-to-Digital Converter).
A Digi International Inc R, (Digi 2017) é um fabricante de uma variedade de disposi-
tivos ZigBee bastante utilizados chamados de XBeeTM. Os módulos variam em potência de transmissão, alcance, consumo de energia, antenas e a capacidade de processamento no hardware do microcontrolador embarcado.
A linha de módulos Digi XBee-PRO R 900HP S3B, (XBee PRO 2017), é desenvol-
vida para longo alcance de conectividade entre os dispositivos na frequência de 900MHz. Segundo XBee PRO (2017), utilizando antenas de alto ganho, o alcance em ambiente aberto (Outdoor) pode chegar até a 14 km a um taxa de transmissão de 10 Kbps ou até 6,5 km à 200 Kbps.
Os módulos XBee comunicam-se com um hospedeiro através de uma interface serial. Através de sua porta serial, o módulo pode comunicar-se com qualquer dispositivo que possua uma interface UART (universal asynchronous receiver-transmitter) com lógica e tensão compatível, por exemplo, através de uma placa de interface RS-232 ou USB, ou através de uma Interface Periférica Serial (SPI). Os módulos Xbee podem transmitir da- dos em modo (Full-Duplex), ou seja, o dispositivo Transmissor e outro Receptor podem transmitir dados simultaneamente em ambos os sentidos (a transmissão é bidirecional). Existe três modos configuraveis de operação descritos como Transparent Mode, AT Com- mand Mode e API Mode, com capacidade manipular os pacotes de dados, repassando para a camada de Rede (DigiMesh), ou enviando os pacotes diretamente para as camadas inferiores MAC e PHY (XBee-PRO 2016).
O Módulo XBee-PRO 900HP implementa em firmware várias camadas para ordenar o fluxo de dados, de acordo com a configuração de hardware e software escolhida pelo usuário. A Figura 2.8, representa um diagrama de blocos do projeto operacional básico do módulo e as possíveis configurações. Observa-se na imagem, que a comunicação inicia na interface serial do host, que está conectada ao módulo XBee e finaliza na antena, que faz a transmissão dos dados. O pacote interage com o bloco inferior da próxima camada, no qual, essas duas interfaces interagem. Por exemplo, se o módulo estiver conectado com em uma interface SPI, o Modo Transparente não está disponível. O Apêndice A, descreve o processo de configuração dos módulos (XBee PRO 2017).
No diagrama de blocos da Figura 2.8, é possível observar que quando o módulo XBee não está recebendo dados que foram enviados por outro nó, ele pode receber informa- ções do hospedeiro, através da interface serial UART ou SPI à que está conectado e essa informação é transmitida para outros nós da rede.
Modos de Operação
O módulo XBee, quando não transmite dados, está no Modo de Recepção. O módulo possui os seguintes modos de operação:
• Modo de Transmissão: os dados seriais recebidos por um buffer ficam disponíveis para serem empacotados pelo manipulador de pacotes;
• Modo Sleep: dispositivos finais quando não enviam ou recebem pacotes entram em modo de hibernação para economizar energia;
22 CAPÍTULO 2. EMBASAMENTO TEÓRICO
Figura 2.8: As camadas e funções implementadas no firmware dos dispositivos Xbee PRO 900HP. Figura adaptada de (XBee PRO 2017).
• Modo de Comando: Não transmite dados, espera uma sequência de comandos para realizar alguma configuração no módulo. (Não disponível ao usar a porta SPI); • Modo de Recepção (Receive Mode): se um pacote válido for recebido, os dados
são transferidos para o buffer de transmissão serial. Esse é o modo padrão para o rádio XBee.
Quando um dado é recebido na entrada serial com o dispositivo em modo de transmis- são, o manipulador de pacotes faz o empacotamento dos dados e o módulo XBee tentará transmiti-los. O endereço de destino determina quais os nós que recebem e enviam os dados.
No diagrama representado na Figura 2.9, a descoberta de rota aplica-se apenas às transmissões DigiMesh. Os dados serão transmitidos uma vez que uma rota seja esta- belecida. Se a descoberta de rota não conseguir estabelecer um caminho, o pacote será descartado (XBee PRO 2017).
Quando os dados DigiMesh são transmitidos de um nó para outro, uma confirmação (ACK) na camada de rede é transmitida de volta através da rota estabelecida para o nó de origem. O pacote de confirmação indica ao nó de origem que o pacote de dados foi recebido pelo nó de destino. Se uma confirmação de rede não for recebida, o nó de origem irá retransmitir os dados.
Endereçamento e entrega de pacotes
O endereçamento básico e os métodos de transmissão de pacotes dos dispositivos XBee-PRO 900HP são (XBee PRO 2017):
• Endereçamento de 64 bits: todo rádio possui um endereço baseado no padrão IEEE com 64 bits de fábrica;
2.5. ARQUITETURA DE REDE COM PROTOCOLO ZIGBEE. 23
Figura 2.9: Diagrama com a sequência de transmissão de dados do dispositivo XBee. Figura 2.9, adaptado de (XBee PRO 2017).
• Transmissão Unicast: transmite dados para um rádio especifico; • Transmissão Broadcast: transmite dados para todos os rádios;
• Método de entrega de pacotes (Delivery Method): os módulos suportam três mé- todos:
– Ponto a Ponto ou Multiponto (Point to point or multipoint): esse modo de entrega não usa um cabeçalho de rede, apenas o cabeçalho MAC. Todas as mensagens são sempre enviadas diretamente para o destino. Não há repetição do pacote por outros nós. A entrega é direta ao rádio de destino, que deve estar no alcance do rádio de envio.
– Repetidor (Repeater): são transmissões Broadcast que são repetidas por to- dos os roteadores na rede. Por padrão, nesse método, todo pacote é enviado quatro vezes. Com isso todos os nós repetem a transmissão quatro vezes. O parâmetro de configuração MT especifica o número de vezes que um pacote de transmissão é repetidamente transmitido. Isso adiciona redundância e pode melhorar a confiabilidade, mas o envio de transmissões Broadcast repetidas frequentemente pode reduzir rapidamente a largura de banda da rede disponí- vel e, como tal, deve ser usado com moderação.
– DigiMesh Networking: esse é o método que implementa todas as funções da camada de rede com topologia em malha definidas no protocolo ZigBee, para transmissão de dados unicast ou broadcast. Na camada de rede Digi- Mesh, existem mensagens do tipo ACK e NACK para confirmar ou não o recebimento de pacotes com sucesso no seu destino. A rede de malha per-
24 CAPÍTULO 2. EMBASAMENTO TEÓRICO
mite que as mensagens sejam encaminhadas através de vários nós diferentes para um destino final. O firmware da DigiMesh permite que a rede encontre novos caminhos ou rotas alternativas com a topologia em malha. No caso de uma conexão entre nós se perder (devido a perda de energia, obstruções am- bientais, etc.), os dados críticos ainda podem alcançar seu destino devido às capacidades da rede de malha incorporadas nos módulos. É importante obser- var que, se for desativado o recebimento de ACKs na rede, a mesma não vai se rearranjar.
DigiMesh Networking
Quando a transmissão é realizada utilizando o método de entrega DigiMesh Unicast, a entrega de dados é confiável, sendo realizada através de um método com tentativas e confirmações. O número de tentativas de rede em malha é determinado pelo parâmetro de configuração MR (Mesh Network Requisitos). Os pacotes de dados são enviados até MR + 1 vezes na rota de rede e ACKs (confirmações) são transmitidos pelo nó receptor após o recebimento. Se um ACK de rede não for recebido dentro do tempo que levaria para que um pacote percorra a rede duas vezes, ocorre uma retransmissão. Ao enviar dados nesse método, endereços nas camadas MAC e NWK são utilizados para envio de pacotes de dados e confirmação de recebimento (XBee PRO 2017).
• Roteamento
Um módulo em uma rede em malha é capaz de determinar rotas confiáveis utilizando um algoritmo e uma tabela de roteamento. O algoritmo de roteamento usa um método reativo derivado do AODV (Ad hoc on demand Distance Vector). Uma tabela de rotea- mento associativa é usada para mapear um endereço do nó de destino com seu próximo salto (o envio de uma mensagem para o próximo endereço é denominado salto). Ao enviar uma mensagem para endereço do próximo salto, a mensagem chegará ao seu destino ou será encaminhada para um roteador intermediário que encaminhará a mensagem para o destino. Caso a mensagem seja para o endereço de Broadcast, essa sera transmitida para todos os vizinhos. Todos os roteadores que recebem a mensagem retransmitirão a mensa- gem MT + 1 vezes e, eventualmente, a mensagem chegará a todos os nós da rede. Existe um método de rastreamento de pacotes para impedir que um nó reenvie uma mensagem de transmissão mais de MT + 1 vezes.
• Descoberta de Rotas - Router Discovery
Se o nó de origem não tiver uma rota para o destino solicitado, o pacote é enfilei- rado para aguardar o processo de descoberta de rota (RD). Esse processo também é usado quando uma rota falha. Uma rota falha quando o nó de origem usa suas tentativas de rede sem receber um ACK. Assim, o nó de origem inicia a RD. O processo de Descoberta de Rota (RD) começa pelo nó fonte que transmite um pacote broadcast do tipo "solicitação de rota"(RREQ). Os nós intermediários2podem rejeitar um pacote, sem envio de confir- mação do recebimento (drop um pacote) ou encaminhar um RREQ, dependendo se o novo
2.5. ARQUITETURA DE REDE COM PROTOCOLO ZIGBEE. 25
RREQ possui uma rota melhor para alcançar o nó de origem. Se assim for, a informação do RREQ é salva e o RREQ é atualizado e transmitido em broadcast. Quando o destino final recebe o RREQ, ele envia um pacote unicast do tipo "resposta de rota"(RREP) de volta ao nó de origem ao longo do caminho do RREQ. Isso é feito independentemente da qualidade da rota e independentemente de quantas vezes um RREQ já foi recebido (XBee PRO 2017).
Esse processo permite que o nó de origem receba múltiplas respostas de rota. O nó de origem seleciona a rota com a melhor qualidade de ida e volta, que usará para o pacote que está na fila e para pacotes subseqüentes com o mesmo endereço de destino.
• Throughput
O throughput em uma rede DigiMesh pode variar de acordo com diversas variáveis, incluindo: número de saltos, criptografia habilitada ou desativada, dispositivos dormindo (Sleep Mode), falhas ou descobertas de rotas. Testes de desempenho devem ser realizados em um ambiente operacional robusto e com baixa interferência, para assim obter melhores taxas de envio de dados.
Capítulo 3
Estratégia de Varredura
Por questões de segurança, para cada lançamento de foguete balístico em direção ao mar, de acordo com o seu alcance, determina-se um ponto de impacto previsto e é estabe- lecida uma área de exclusão aérea e marítima em torno do mesmo, dentro da qual existe uma probabilidade não insignificante do foguete vir a cair. Nesta seção são propostas duas estratégias diferentes para varredura da área de exclusão por meio de um sistema multi VANT, de forma que a área possa ser monitorada, ao mesmo tempo em que se minimize o consumo energético das aeronaves e se garanta o estabelecimento de uma rede de comu- nicação confiável entre os diversos nós do sistema. Os nós da FANET nem sempre terão visada direta, mas com uma rede multi saltos (Mesh), a informação poderá ser enviada com segurança de um nó até outro chegando ao destino final.
No estabelecimento da estratégia de varredura da área deve-se levar em conta aspec- tos relacionados ao propósito da varredura. Por exemplo, um requisito pode ser capturar imagens aéreas da área completa, de forma que a abertura da câmera, a altura e a velo- cidade do voo são parâmetros relevantes no planejamento da rota a ser seguida. Além desses aspectos, inerentes à tarefa a ser executada, também aspectos importantes relati- vos aos recursos necessários para executar a missão devem ser levados em conta (Gupta et al. 2015). Dessa maneira, uma boa estratégia deve procurar definir rotas que mini- mizem o consumo de energia, para garantir mais autonomia, assim como manter as ae- ronaves suficientemente próximas para garantir links de comunicação de boa qualidade, minimizando a probabilidade de ocorrência de falhas (Silva, Monteiro, Alsina, Medeiros, Silveira, Nogueira, Albuquerque e Dantas 2016a).
Na aplicação proposta neste trabalho de acordo com as diretrizes do projeto, a área pode abranger desde alguns poucos até algumas centenas de quilômetros quadrados e, dependendo do alcance dos foguetes lançados, essa área pode estar centrada a poucos quilômetros do litoral até mais de cem quilômetros da linha costeira. Dentro desse con- texto, a esquadrilha de VANTs necessária para fazer a varredura dessa área deve ser cons- tituída por uns poucos VANTs, com autonomia de no mínimo 8 horas de voo e com pelo menos uma das aeronaves dotada de link de comunicação confiável, com boa largura de banda, que alcance a estação de controle até os limites extremos da área a ser monitorada (Tavares et al. 2013).
28 CAPÍTULO 3. ESTRATÉGIA DE VARREDURA
3.1
Estratégias de Varredura da área de impacto
Quando a área a ser varrida é pequena, um único VANT pode ser suficiente para rea- lizar o procedimento de varredura. Nesse caso, duas estratégias simples são encontradas na literatura: varredura em espiral e varredura vai e volta. No método de varredura em espiral (Öst 2012), a missão tem início no perímetro externo da área e, a seguir, o VANT executa uma trajetória de formato em espiral, até chegar ao centro da mesma, conforme mostra a Figura 3.1a). Levando em consideração que o centro da área é a região com maior possibilidade de impacto, a rota pode ser também alterada para iniciar do centro para o perímetro externo da área a ser analisada (Tavares et al. 2013).
Figura 3.1: Varredura em espiral. a) Representação esquemática. b) Varredura em espiral da área monitorada. Adaptado de (Tavares et al. 2013)
Outro método de varredura é o vai e volta (Back and Forth Method) (Öst 2012). A Figura 3.2 mostra o trajeto, onde, quando completar uma linha, o VANT deverá fazer uma manobra, voltando no caminho no sentido inverso.
Figura 3.2: Rota com varredura vai e volta. Adaptado de (Tavares et al. 2013)