CAPÍTULO II REVISÃO BIBLIOGRÁFICA
2.3 Redes de sensores sem fio
2.3.1 Aplicações das RSSF
O principal exemplo de aplicação das RSSF na área militar é o sistema de defesa do Departamento de Defesa dos Estados Unidos conhecido até 2003 como Command, Control, Communications, Computing, Intelligence, Surveillance, Reconnaissance and Targeting (C4ISRT) systems.
Este sistema é capaz de monitorar forças amigas, equipamentos e munição; vigilância de campos de batalha; reconhecimento de forças e campos inimigos; avaliação de danos de batalha; detecção e reconhecimento de ataques nucleares, biológico ou químico.
Saúde
A área da saúde é uma área de aplicação das RSSF em que há grande investimento. Isto deve-se ao fato da busca de uma maior qualidade de vida pela sociedade. As aplicações vão desde rastreamento e monitoramento de médicos e pacientes dentro de um hospital a monitoramento de sinais vitais dos pacientes em ambiente externo.
Alemdar e Ersoy (2010) apresentam uma rede para auxiliar no monitoramento de pacientes em suas residências. A rede é dividida em três classes principais. A rede próxima ao corpo do paciente, composta por vários sensores, que avaliam frequência cardíaca, pressão sanguínea, entre outros sinais vitais. Essa rede é denominada “Rede do Corpo”. Há uma classe composta pelos cuidadores ou enfermeiros e os médicos ou psicólogos do paciente chamada de “Aplicação”. Outra classe engloba a rede pessoal do paciente que é composta pelos smartphones dos pacientes e câmeras espalhadas pela residência, a “Rede Pessoal”. As classes se comunicam via rede tanto ‘AdHoc’ quanto GSM ou Ethernet. A Fig. 2.12 ilustra essa rede apresentada.
Outro exemplo de RSSF aplicado à área da saúde é o trabalho apresentado por Iso- Ketola et al. (2008). O trabalho introduz um sistema para recuperação de operação de quadril. Este sistema é composto por sete nós de uma rede de sensores sem fio para medir uma postura inequívoca do quadril operado. Há também uma palmilha com um nó sensor de carga para medir a carga colocada sobre a perna operada. Se a carga ultrapassar um valor permitido para aquele paciente é emitido um sinal para a unidade de processamento e central de controle. Esta central é capaz de recolher e processar os dados dos nós sensores. A Fig. 2.13 apresenta este sistema do tipo wearable computing. Percebe-se que o sistema é uma bermuda equipada de sensores, sendo que a unidade de processamento encontra-se na parte superior frontal da bermuda. A rede é capaz de se comunicar com um telefone móvel via rede Bluetooth que se comunica a Internet via GSM.
Figura 2.12. Rede para monitoramento de paciente em residências. Adaptado de (ALEMDAR & ERSOY, 2010)
20
As redes de sensores não se aplicam necessariamente a sensoriamento de pacientes na área da saúde. Hande et al. (2007) desenvolveram um trabalho visando harvesting (extração) de energia para alimentação de roteadores que transmitem sinais dentro de um hospital. A rede é composta por vários roteadores que são alimentados pela energia luminosa das lâmpadas presentes nos corredores de hospitais. A utilização destas lâmpadas deve-se ao fato de que teoricamente as luzes do corredor nunca são apagadas. Com isso essa energia luminosa pode ser extraída para alimentar tais dispositivos.
Meio Ambiente
Um exemplo de aplicação das RSSF na área de meio ambiente é o trabalho proposto por Werner-Allen et al. (2005) na Universidade de Harvard, nos Estados Unidos. Este trabalho consiste em monitorar as atividades do vulcão Tungurahua no Equador. Diversos nós sensores são espalhados pela base do vulcão a fim de se ter um monitoramento das atividades vulcânicas da região. São responsáveis por essas observações sensores sismômetros capazes de traçar a velocidade sísmica na região, sensores de pressão, microfones, dentre outros. A Fig. 2.14 apresenta esse sistema.
Figura 2.14. Sistema de detecção de atividade vulcânica. Adaptado de (WERNER-ALLEN et al, 2005)
Outra aplicação é apresentada por Akyildiz et al. (2002) na detecção de fogo em florestas. Neste tipo de rede, os sensores são responsáveis por monitorar regiões e se organizar para enviar um sinal dado alguma alteração no ambiente captado. Este tipo de rede necessita de um método de alimentação dos sensores cada vez mais eficiente, já que é inviável chegar a algumas regiões periodicamente para a troca de baterias. Portanto esta área
de aplicação está diretamente ligada à área de estudos sobre extração de energia do meio ambiente para consumo da rede (harvesting).
O Emergency Alert System (EAS) é um Sistema estadunidense de monitoramento de condições climáticas (disponível em http://alertsystems.org/). A rede é composta por vários sensores de chuva, nível de água, pressão capazes de captar o surgimento de um tornado ou inundação. Este sistema consegue alertar toda a população de uma região em qualquer ponto do país em poucos minutos.
Há também desenvolvimento na parte de agricultura de precisão como mostra Bo Sum e Wu (2013). Neste sistema uma rede de sensores foi instalada para captar a umidade do solo e enviar a uma central. Foi possível distinguir os sinais captados para três solos distintos: seco, úmido e encharcado de água.
Residêncial
Sensores e atuadores inteligentes podem ser embarcados em aparelhos com refrigeradores, micro-ondas, máquinas de lavar louça e roupa, ar condicionado entre outros. Esses nós sensores dentro dos dispositivos domésticos podem interagir um com o outro e com uma rede externa via internet ou satélite. Com isso os usuários podem manipular os dispositivos residenciais dentro da própria residência ou remotamente de forma rápida e fácil. Para ilustrar esse sistema é apresentado a Fig. 2.15 em que apresenta uma residência e alguns dos sensores (incêndio, chuva, segurança, infravermelho, entre outros) e dispositivos que podem ser interligados através da rede, tais como ar condicionado, telefone, televisores, fornos micro-ondas, aquecedor solar etc.
22
Figura 2.15. Aplicação residencial de RSSF. Retirado de http://revistahometheater.uol.com.br Os Ambientes Inteligentes são classificados de duas formas segundo Essa (2000): os centrados no usuário e os centrados na tecnologia. No primeiro tipo o ambiente se adapta aos usuários em termos de capacidade de entrada e/ou saída. O segundo tipo diz que as tecnologias de hardware, soluções de rede e serviços de middleware devem ser desenvolvidos para acompanhar a evolução dos sistemas.
Outras aplicações
Outras aplicações de RSSF que não encaixam nas áreas mencionadas anteriormente são: controle de estoque e rastreamento e detecção de veículos. No controle de estoque cada item em um armazém pode ter um nó sensor anexado e os usuários finais podem descobrir a localização exata do item além da contagem do número de itens na mesma categoria. No rastreamento de veículos cada rodovia possui vários sensores espalhados de forma que um veículo que também possui um emissor de sinal pode ser encontrado pelo encontro da linha de rolamento (Line of Bearing - LOB) de três sensores. Esta LOB é uma linha que liga o veículo até o sensor que está o captando.
2.3.2 Arquitetura das RSSF
As arquiteturas das RSSF são capazes de integrar dados com protocolos de rede e comunicar de forma eficiente, consumindo a menor quantidade de energia possível. Estas arquiteturas promovem esforços cooperativos entre os nós sensores.
De acordo com Akyildiz et al. (2002) as redes de sensores possuem 5 camadas distintas: física, enlace, rede, transporte e aplicação, como mostra a Fig. 2.16. Dependendo das tarefas de detecção, diferentes tipos de software de aplicação podem ser construídos e utilizados na camada de aplicação. A camada de transporte ajuda a manter o fluxo de dados. A camada de rede tem cuidado de encaminhar os dados fornecidos pela camada de transporte.
Há também três planos de gerenciamento: plano de gerenciamento de energia, plano de gerenciamento de mobilidade e plano de gerenciamento de tarefas. O primeiro é capaz de desligar o receptor de mensagens de um nó imediatamente após receber uma mensagem de algum vizinho para evitar o recebimento de mensagens duplicadas. Quando a energia do sensor é baixa, também é função do plano de gerenciamento de energia enviar uma mensagem para os vizinhos informando a situação do sensor e que o mesmo não pode participar do roteamento de mensagens.
Figura 2.16. Camadas das RSSF. Adaptado de (AKYILDIZ et al., 2002)
O segundo plano é responsável por detectar e registrar a movimentação de transmissão de dados pelos nós sensores, fazendo com que uma rota de retorno de dados seja mantida até o usuário ou sink. Como os nós conseguem rastrear quais nós estão em sua vizinhança, este plano consegue balancear a energia e as tarefas executadas pelo nó.
Por fim o plano de gerenciamento de tarefas é responsável por balancear e agendar tarefas de sensoriamento de uma região específica. Um nó sensor com baixa energia não precisa executar uma tarefa que outro sensor na sua vizinhança está executando. Com isso
Segundo Chong e Kumar (2003) apesar das redes de sensores sem fio possuírem várias aplicações diferentes, elas têm os mesmos problemas técnicos. Estes problemas podem ser referentes às condições ambientais adversas, pois os sensores podem estar sujeitos a interferências RF, ambientes altamente corrosivos, elevados níveis de humidade, vibrações, sujeira e poeira.
Os problemas técnicos podem estar limitados a recursos, seja por escassez de energia, falta de memória, ou falta de poder processamento.
Um destes problemas técnicos está relacionado a agregação de dados. Vários trabalhos entram nesta área. Akyildiz et al (2002) apresentaram um problema encontrado em redes de topologia do tipo árvore em que um nó sensor ao receber os dados de dois ramos deve ter a capacidade de agregar estes dados para passar a diante as informações importantes. Chandrakasan et al (1999) apresentaram um problema nas redes de topologia do tipo malha em que um sensor deve agregar um dado recebido à mensagem que deseja enviar para outros nós sensores. Akkaya e Younis (2005) apresentaram um problema encontrado na captação de sinal por meio de câmeras. Duas câmeras captam sinais que possuem uma região em comum. Portanto o nó que recebe esses sinais deve ser capaz de encontrar essa região em comum e eliminar um dos dados, já que estão duplicados. Outro problema apresentado é para uma topologia em rede em que dois caminhos podem ser seguidos e a mesma mensagem chega duas vezes a um certo nó desta rede. A Fig. 2.18 ilustra estes problemas que foram apresentados pelos autores.
De acordo com Intanagonwiwat et al. (2002) a agregação de dados sempre é necessária quando as fontes de energia são limitadas. Sendo assim, o autor propõe uma busca gananciosa em árvore para a escolha do melhor caminho a ser seguido pelos dados durante a transmissão de um sinal de um nó a outro. Um nó na rede deve decidir (baseado em probabilidade e características do tráfego) de qual ou quais nós irá extrair dados. O sink tem informações empíricas de qual vizinho pode providenciar um dado com melhor qualidade, ou seja, menor perda de dados e menor delay.
26
(AKYILDIZ et al., 2002)
Adaptado de (CHANDRAKASAN et al., 1999)
(AKKAYA & YOUNIS, 2005) Figura 2.18. Problemas apresentados para agregação de dados. 2.4 COMUNICAÇÃO
Quando há mais de um dispositivo envolvido há a necessidade de comunicação entre eles. Para que uma rede funcione existem regras e formato de dados que devem ser seguidos, pois sem eles, elas simplesmente não funcionam. Este conjunto de regras e formatos de dados é denominado de protocolo. Nesta secção são apresentados três tipos de protocolos de comunicação. O primeiro deles é um protocolo de comunicação sem fio o padrão IEEE 802.15. O segundo é um protocolo de comunicação serial e por fim um protocolo denominado de barramento I²C.
2.4.1 IEEE 802.15
O IEEE 802.15.4 é um padrão mantido pelo Institute of Electrical and Eletronics Engineers de especificação da camada física e efetua o controle de acesso para redes
pessoais sem fio de taxas de transmissão baixas. Este padrão é a base para as especificações Zigbee, ISA100.11a, WirelessHART e MiWi.
O enfoque deste padrão é em comunicação de baixo custo de dispositivos próximos com pequena ou nenhuma infraestrutura subjacente, com intuito de explorar ainda mais o baixo consumo de energia.
Os dispositivos podem utilizar uma de três possíveis bandas de frequência de operação (868/915/2450 MHz) e interagem através de uma rede sem fio simples. As definições das camadas de rede são baseadas no modelo OSI, apesar de o padrão definir apenas as camadas mais baixas: camada física e camada de acesso ao meio.
A camada física é a camada inicial do modelo OSI e fornece o serviço de transmissão de dados. A camada de controle de acesso ao meio (MAC) permite a transmissão de quadros pelo canal físico. Além do serviço de dados, ela controla a validação dos quadros, garante os time slots e manuseia as associações de nós. As camadas demais camadas não são definidas neste padrão.
2.4.2 Serial
A transmissão de dados de forma sequencial e individual dos bits é dada pelo dispositivo UART (Universal Asynchronous Receiver/Transmitter). A transmissão serial de informação digital (bits) através de um único cabo possui um custo menor que a transmissão paralela devido a necessidade de múltiplos cabos.
Os padrões RS-232, RS-422 e RS-485 são exemplos de padrões de comunicação serial propostos pela EIA (Electronic Industries Alliance) que utilizam a transmissão de sinal através de tensão. Há outras formas de transmissão de dados sem a utilização de cabos, como é o caso de infravermelho e Bluetooth.
A comunicação pode ser feita de forma simplex (em apenas uma direção, em que o dispositivo que recebe não envia informação de volta ao dispositivo que transmite), full duplex (em que ambos os dispositivos recebem e enviam ao mesmo tempo) ou half duplex (em que os dispositivos ora transmitem ora recebem dados.)
Todas as operações do hardware UART são controladas pelo sinal do clock que executa a um múltiplo da taxa de transmissão dos dados. Com isso o dispositivo receptor checa o estado do sinal em cada pulso do clock. A maioria dos dispositivos UART utilizam um pequeno buffer de memória FIFO (First-In First-Out) que auxilia na prevenção de perda de dados em taxas de transmissão alta.
28
2.4.3 I²C
Todas as informações contidas nesta secção estão disponíveis em: http://www.nxp.com/documents/user_manual/UM10204.pdf e foram acessadas em 26/05/2015. Este manual define o protocolo de comunicação barramento I²C.
A Philips Semicondutores (atualmente NXP Semicondutores) desenvolveu um barramento bidirecional de dois cabos chamado de barramento I²C ou Inter IC. Este é um protocolo serial utilizado para conexão entre dispositivos de baixa velocidade, tais como microcontroladores, EEPROMs, conversores A/D e D/A, interfaces de entrada e saída e periféricos similares em sistemas embarcados.
As informações entre os dispositivos conectados ao barramento são carregadas por dois cabos, Serial DAta (SDA) e Serial CLock (SCL). Cada dispositivo, não importando sua natureza, é reconhecido por um endereço único e é capaz de operar tanto como um transmissor ou receptor dependendo da função do dispositivo. Os dispositivos também podem ser considerados como mestres ou escravos quando transmitem dados. A Tab. 2.3 apresenta a termologia do barramento I²C. O mestre é um dispositivo que inicia a transferência de dados no barramento e gera o sinal do clock para permitir essa transferência. Neste momento, qualquer dispositivo endereçado é considerado um escravo.
A relação do tipo mestre-escravo pode ser ilustrada por um exemplo bem simples. Imagine uma sala de aula com um professor e alguns alunos. Nesta sala o meio de transmissão dos dados é o ar e se os alunos e o professor tentarem se falar ao mesmo tempo ocorrerá um congestionamento neste meio, gerando apenas um ruído. Ao denotarmos o professor como o mestre os alunos então, seriam os escravos. Espera-se que nesta sala de aula todos os alunos respeitem o professor, portanto todos ficam em silêncio enquanto o professor fala, ou seja, o mestre transmite uma quantidade de dados pelo ar até os escravos que apenas captam os sinais sonoros. Se o professor resolve fazer uma pergunta direcionada a um certo aluno ele, inicialmente, irá chamar pelo nome do aluno e fará sua pergunta. O aluno ao perceber que foi requisitado a responder uma pergunta, a responde imediatamente, enquanto que os outros alunos permanecem em silêncio. Esta situação é o que ocorre em uma relação mestre-escravo.
O barramento I²C é um barramento multi-mestre, ou seja, mais de um dispositivo é capaz de controlar o barramento. Como mestres são comumente microcontroladores, a Fig. 2.19 mostra um caso em que o dado é transferido entre dois microcontroladores pelo barramento I²C. Note que a figura evidencia as relações mestre-escravo e receptor- transmissor. Supondo que o microcontrolador A (MA) deseja enviar informações para o microcontrolador B (MB). Inicialmente o mestre MA endereça o escravo MB; então MA é o transmissor envia os dados para o receptor MB. Por fim, o mestre MA termina a transferência.
Tabela 2.3. Definição da termologia do barramento I²C.
Termo Descrição
Transmissor Dispositivo que envia os dados pelo barramento Receptor Dispositivo que recebe os dados pelo barramento
Mestre Dispositivo que inicia a transferência, gera o sinal do clock e termina a transferência
Escravo Dispositivo endereçado pelo mestre
Multi-mestre Mais de um mestre podem tentar controlar o barramento ao mesmo tempo sem corromper a mensagem
Arbitração Procedimento que garante que se mais de um mestre tentam simultaneamente controlar o barramento, apenas um é permitido realizar tal ação e a mensagem não é corrompida
Sincronização Procedimento que sincroniza os sinais de clock de dois ou mais dispositivos
Figura 2.19. Exemplo de um barramento I²C utilizando dois microcontroladores.
Tanto SDA quanto SCL são linhas bidirecionais conectadas a uma tensão positiva por um resistor pull-up. Quando o barramento está livre, ambas as linhas estão em nível alto. Os dados podem ser transferidos pelo barramento I²C com uma taxa de 100 kbit/s no modo padrão, 400 kbit/s no modo rápido, 1 Mbit/s no modo mais rápido e 3,4 Mbit/s no modo de alta velocidade.
Devido à variedade de tecnologias de diferentes dispositivos, tais como CMOS, NMOS, bipolar, entre outros, que podem ser conectados ao barramento I²C, os níveis lógicos baixo (0) e alto (1) não são fixados e dependem do nível de tensão do barramento. Normalmente os níveis estão próximos de 30 % da tensão para o nível baixo e 70 % para o
30
nível alto. Alguns dispositivos utilizam 1,5 V para nível baixo e 3,0 V para nível alto, porém todos os dispositivos novos demandam a especificação 30 % / 70 %.
2.5 MICROCONTROLADORES
Um microcontrolador é um chip que pode ser programado para executar diversas funções específicas. Ele é composto por uma unidade de processamento conectado à memórias e periféricos de entrada e saída. O esquema básico de um microcontrolador é apresentado na Fig. 2.20. Existem duas arquiteturas para os microcontroladores: von Neumann e Harvard. Na primeira a memória de programa e a memória de dados estão em um mesmo barramento, enquanto que na segunda arquitetura os dois tipos de memória utilizam barramentos distintos.
Figura 2.20. Esquema básico de um microcontrolador.
A utilização de microcontroladores como alternativas de baixo custo a equipamentos de automação tem sido bastante difundida no mundo. Há trabalhos que envolvem a utilização de microcontroladores do tipo PIC (Win e Htun, 2014) (Selvaraju et al., 2014), Arduino (Png et al., 2014) (Mowad et al., 2014) (Hanggoro et al., 2013) (Salinas et al., 2013), Raspberry pi (Ahmed et al., 2014) (Brock e Bruce, 2014) e Beaglebone (McPherson e Zappi, 2015). Podem ser encontrados trabalhos que utilizam mais de um microcontrolador como é o caso de Al- Sahib e Azeez (2015) que utilizam tanto Arduino quanto Raspberry pi e Travaglione et al. (2014) que utilizam Arduino, Rapsberry pi e Beaglebone. A Tab. 2.4 apresentam os trabalhos apresentados acima e suas áreas de aplicação. Observa-se que os microcontroladores podem ser utilizados em uma vasta variedade de sistemas, destacando-se processamento de áudio, energia solar e controle residencial.
2.5.1 Arduino
Arduino é uma plataforma eletrônica de código aberto baseada em hardware e software de fácil utilização. A plataforma tem origem em 2005 na cidade de Ivrea, na Itália e buscava interagir em projetos escolares de forma a ser mais barato que os outros sistemas de prototipagem da época. Atualmente é uma das plataformas mais difundida mundialmente e é utilizada por qualquer pessoa que se interesse em criar ambientes/projeto interativos.
Atualmente existem 21 diferentes placas de Arduino sendo que elas se diferenciam pela quantidade de memória, microcontrolador instalado, quantidade de entradas e saídas analógicas e digitais, quantidade de portas PWM, tipos de conectores de interface, entre outros. A Fig. 2.21 mostra dois Arduinos distintos. O da esquerda (a) é um Arduino Mega 2560 e o da direita (b) é um Arduino Uno. A Tab. 2.5 apresenta as características destas duas placas e suas principais diferenças estão no microcontrolador (ATmega328 para o Uno e ATmega2560 para o Mega), na quantidade entradas e saídas digitais (14 no Uno e 54 no Mega), na quantidade de entradas analógicas (6 no Uno e 16 no Mega) e nas memórias Flash SRAM e EEPROM (que são quatro vezes maior no Mega).
Tabela 2.4. Trabalhos que utilizam microcontroladores em diversas áreas de atuação.
Ano Autores Área Microcontrolador
2015 McPherson e Zappi. Ambiente de processamento de
áudio e sensor Beaglebone
2015 Al-Sahib e Azeez Robô com interface móvel Arduino
Raspberry pi 2014 Travaglione et al. Dados acústico subaquático