• Nenhum resultado encontrado

2.4 REDES DE SENSORES SEM FIO

2.4.3 Arquitetura

O protocolo Zigbee®, como mencionado anteriormente, é organizado em camadas. Cada camada é uma porção do protocolo responsável por tarefas distintas e específicas e que juntas formam uma estrutura de comunicação em malha de uma forma organizada e flexível (FALUDI, 2011). A Figura 2.3 apresenta, de forma resumida, as camadas do protocolo Zigbee®.

Zigbee® Alliance Aplicação

Rede/Segurança

IEEE 802.15.4 Acesso ao meio

Física Figura 2.3 - Camadas do protocolo Zigbee®

A camada física é a mais próxima do hardware, controlando e comunicando-se diretamente com o transceptor de rádio. Esta camada é responsável pela ativação do transceptor que recebe ou envia pacotes, além de selecionar o canal de frequência e assegurar que o canal não está sendo utilizado por qualquer dispositivo pertencente a outra rede.

A camada de acesso ao meio provê a interface entre as camadas física e de rede. E, quando em uma rede beacon-enabled, é responsável por gerar os beacons e pela sincronização dos dispositivos aos beacons. Além disso, a camada de acesso ao meio fornece serviços de associação e desassociação, que podem ser usados para permitir que um dispositivo se junte ou deixe a rede.

A camada de rede é responsável por gerenciar a formação da rede e pelo roteamento. O roteamento é a definição do caminho a ser percorrido por uma mensagem até o seu destino. Em uma rede Zigbee®, os coordenadores e roteadores são responsáveis por descobrir e manter as rotas. A camada de rede do coordenador é responsável pela formação de uma nova rede e pela seleção de sua topologia (árvore, estrela ou malha), sendo também responsável por atribuir o endereço de rede aos dispositivos em sua rede.

31

A camada de aplicação é a mais alta do protocolo Zigbee® e abriga os objetos de aplicação, que são desenvolvidos por fabricantes para adaptar os dispositivos a uma grande variedade de aplicações. Os objetos de aplicação são responsáveis por controlar e gerenciar as camadas do protocolo Zigbee®. Um dispositivo Zigbee® pode possuir até 240 objetos de aplicação.

O padrão Zigbee® oferece a opção de utilizar um perfil de aplicação, o que especifica um conjunto de formatos de mensagem e ações de processamento válidas para produtos destinados a uma aplicação específica. Considerando uma mesma aplicação, o uso do perfil de aplicação permite uma maior interoperabilidade entre dispositivos de fabricantes distintos.

Em termos de segurança, as duas maiores preocupações relacionadas à transferência de dados são a confidencialidade e a integridade. A confidencialidade está relacionada à preocupação em proteger os dados transmitidos do acesso indevido de dispositivos invasores. O uso de algoritmos de encriptação pode solucionar o problema de confidencialidade, uma vez que a mensagem a ser enviada será modificada, com o auxílio de uma chave de segurança, antes do envio e somente o destinatário será capaz de recuperar a mensagem original. O IEEE 802.15.4 oferece suporte ao mecanismo de criptografia Advanced Encryption Standard (AES). A integridade relaciona-se ao objetivo de garantir que a mensagem chegue corretamente ao destinatário. A inclusão de um código de integridade a cada mensagem enviada permitirá ao destinatário realizar o processo de autenticação, que serve para verificar se a mensagem não sofreu alterações durante o percurso.

33

3 PROJETO E DESENVOLVIMENTO DO SISTEMA DE AUTOMAÇÃO

O projeto deste sistema, denominado Poultrinux, adotou a filosofia open source no anseio de desenvolver uma solução de automação independente que possa evoluir continuamente e ser, livremente, integrada a projetos de ensino, pesquisa e extensão universitária. Todo arquivo fonte produzido para o projeto Poultrinux está disponível no endereço web www.poultrinux.blogspot.com.br, sendo os arquivos fonte de softwares distribuídos sob a Apache License 2.0 (APACHE LICENSE, 2004) e os de hardwares sob a Solderpad Hardware License 0.51 (SOLDERPAD HARDWARE LICENSE, 2012). Desta maneira, estudantes, pesquisadores ou entusiastas podem, sem restrições, acessar, estudar, modificar e distribuir estes arquivos, além da possibilidade de confeccionar e utilizar o sistema ou suas derivações.

O sistema de automação, fruto do projeto Poultrinux, apresenta um aspecto modular, onde diferentes dispositivos de hardware (módulos) se comunicam através de tecnologia de transmissão sem fio. A combinação das atividades conduzidas por cada módulo, de forma interdependente e/ou complementar, define o comportamento deste sistema. O conjunto de atividades pertinentes a cada módulo determina seu papel perante o sistema, dividindo-o em: módulo central, nós sensores e módulo de acionamento. Isto permitiu a organização do projeto em três subprojetos distintos, apesar de interligados, favorecendo sua flexibilidade e sua abordagem open source.

Durante a fase de planejamento, optou-se pela tecnologia de transmissão sem fio Zigbee®, devido ao baixo cosumo de energia e simplicidade de configuração da rede, além de sua popularidade entre pesquisadores no campo da avicultura. Desta forma, a seleção do transceptor Zigbee® foi fundamental à concepção do projeto, onde, visando um dispositivo de fácil utilização e configuração, com vasta e acessível documentação, foi selecionada linha de transceptores Xbee®. Fabricados pela Digi Internacional, os transceptores Xbee® são comumente utilizados em prototipagem e para reduzir o esforço de desenvolvimento (FALUDI, 2011).

Dentre os diferentes elementos que compõem este sistema de automação, o dispositivo mais complexo é o módulo central, sendo responsável pelo controle do sistema como um todo, pelo registro de dados coletados e configurações do sistema, bem como a interface com o usuário. O projeto deste módulo levou em conta a preocupação em desenvolver um dispositivo confiável e com uma interface amigável com o usuário, mas sem exigir conhecimentos profundos do hardware, o que poderia desestimular estudantes, pesquisadores e entusiastas a contribuir com o projeto. Assim, a principal decisão envolvendo o módulo central foi que este seria um dispositivo Linux embarcado, o que

34

minimizaria a preocupação com detalhes de hardware, favorecendo a aprendizagem relacionada ao desenvolvimento e aprimoramento de seu software. Além disso, o Linux é referência de qualidade e cofiabilidade, contando com uma imensa e ativa comunidade de usuários e desenvolvedores.

Uma vez que o Linux suporta uma enorme gama de plataformas de hardware e dispositivos, foi preciso definir o dispositivo alvo deste projeto Linux embarcado. Partindo da arquitetura do processador, optou-se por um núcleo ARM, pois estes são especialmente projetados para sistemas embarcados, proporcionando processadores de tamanho e consumo reduzidos, além de agregar tecnologia de depuração de hardware que permite a solução de problemas de software com maior rapidez (SLOSS et al., 2004).

A consequente seleção de um dispositivo ARM levou em consideração o custo, a facilidade de configuração, a disponibilidade de ferramentas e documentação, sem deixar de lado a interface com o usuário. Nesse contexto, optou-se pela placa de desenvolvimento FriendlyARM Mini2440, que, apesar de não apresentar uma vantagem econômica substancial com relação a dispositivos similares, pode ser facilmente adquirida com uma grande variedade de opções de telas sensíveis ao toque (touch screen). Isto faz do Mini2440 uma placa popular entre entusiastas do Linux embarcado, os quais produzem uma grande quantidade de tutoriais e vídeos demonstrativos. Em favor da interface com o usuário, além da disponibilidade da interação touch screen, a documentação gerada pela comunidade de entusiastas conta com exemplos e tutoriais relacionados ao uso do IDE (Integrated Development Environment) Qt Creator, um ambiente de desenvolvimento multiplataforma que oferece bibliotecas e métodos visuais para o desenvolvimento de aplicações com interfaces gráficas. Ademais, este IDE é distribuído gratuitamente e traz uma documentação (a ajuda do software) bem estruturada e extremamente didática.

Os nós sensores são elementos básicos de aquisição de dados essenciais ao monitoramento e controle do ambiente térmico efetuado pelo sistema de automação. Já o módulo de acionamento atua nas decisões de controle tomadas pelo módulo central em relação aos sistemas de climatização e iluminação, além de coletar dados relacionados ao consumo de energia e acionamento do sistema de comedouros. Em comparação com o módulo central, estes módulos são extremamente simples, o que impacta em seus projetos de hardware e software. Assim, decidiu-se que os projetos destes dois tipos de dispositivos seriam baseados em microcontroladores. Isto resultou na seleção de microcontroladores da linha PIC (Programmable Interface Controller), fabricados por Microchip, que possuem excelente suporte e documentação e ferramentas de desenvolvimento disponibilizadas, gratuitamente, por seu fabricante.

35

automação, bem como suas motivações, o restante deste capítulo foi subdividido em:

 Plataforma de desenvolvimento: conjunto de equipamentos e programas utilizados no desenvolvimento do projeto;

Módulo central: descrição dos componentes de hardware e software que compõem o módulo central, focando nas funcionalidades implementadas, no processo de controle dos sistemas de climatização e iluminação e na interface com o usuário;

Nós sensores: projeto de hardware e software dos nós sensores, dando ênfase ao processo de sensoriamento e à troca de mensagens deste com o módulo central;

Módulo de acionamento: descrição do hardware e software do módulo de acionamento, destacando a comunicação deste com o módulo central e a forma que interage com os sistemas de climatização e iluminação;

Ferramentas de avaliação e apoio ao desenvolvimento: ferramentas de software e hardware que foram produzidas para auxiliar o desenvolvimento e a avaliação de partes deste sistema de automação;

Documentos relacionados