Rede de Sensores sem Fios para Veículo Frigorifico e/ou Industria Alimentar Indoor
Full text
FACULDADE DE ENGENHARIA DA UNIVERSIDADE DO PORTO Rede de Sensores Sem Fios Para Veículo Frigorífico e/ou Industria Alimentar Indoor Vasco Sotomaior Mestrado Integrado em Engenharia Eletrotécnica e de Computadores Orientador: Luís Miguel Pinho de Almeida 18 de Abril de 2013
c Vasco Sotomaior, 2013
Resumo O transporte de produtos perecíveis em veículos refrigerados requer o controlo do ambiente dentro do contentor, em especial a temperatura ambiente e humidade relativa. A flutuação dos valores fora de gamas específicas pode reduzir a qualidade dos alimentos e criar problemas de saúde pública. Mensurar e gravar toda a cadeia de frio em redes de transporte de alimentos abre a possibilidade de novas formas de gestão, usando os dados recolhidos para a atualização da data de validade dos alimentos transportados e organização dos stock de alimentos numa lógica FEFO (First Expire First Out), em detrimento do convencional FIFO (First In, First Out). As Redes de Sensores Sem Fios (RSSF) são particularmente apropriadas para esta aplicação, devido à sua flexibilidade no posicionamento dos sensores e à capacidade de adaptação a diferentes ambientes, como os encontrados nos recipientes da cadeia de transporte de alimentos perecíveis, com vários tipos de carga, com diferentes tamanhos e características. O foco principal deste trabalho é a eficiência energética das RSSF, neste caso particular implementada com motes Iris. Os motes Iris estão programados com o TinyOS, um sistema operativo de código aberto destinado para RSSF. Para tempos de execução mais alargados e uso mais eficiente da energia disponível, os motes implementam uma malha de realimentação do RSSI, usado para adaptação da potência de transmissão. Cada pacote recebido pelo gateway é depois reencaminhado de volta para o remetente original, que usa o valor RSSI calculado para reajustar a sua potência de transmissão. Além disso, os motes entram num estado de descanso entre as tarefas de medição e transmissão, aumentando ainda mais a economia de energia. Para a avaliação do desempenho energético da rede de sensores implementada, foi montada uma instalação com os motes e o analisado o consumo de corrente. O trabalho realizado mostra que o consumo de corrente associado à comunicação rádio tem um impacto muito reduzido no consumo global da rede de sensores. O fator de maior consumo de corrente é o tempo de atividade de cada nó. i
ii
Abstract The transportation of perishable foods in refrigerated vehicles requires the control of its ambient conditions, in particular the room temperature and relative humidity. The fluctuation of these values outside specific windows can reduce the quality of the food and create public health issues. Monitoring and recording the entire cold chain in food transportation networks opens the possibility for new forms of management C using historical data to upgrade the food expiration date and organizing the food stocks in a logical FEFO (First Expire First Out) instead of the conventional FIFO (First In, C First Out). Wireless Sensor Networks (WSN) are a sensing technology particularly appropriate for this application due to its flexibility on sensors placement and adaptability to different environments as those found in the containers of the perishable food supply chain with multiple types of load with different sizes and characteristics. The focus of this work is on the energy efficiency of the WSN implemented with Iris motes. The Iris motes are running TinyOS an open-source operating system targeted for WSN. For increased running times and efficient energy use the motes implement an RSSI feedback loop used for transmission power adaptation. Every packet received by the gateway is then replied with its RSSI measurement which is then used by the original sender to readjust its transmission power. In addition the sensing motes enter a sleep state between measuring and transmitting tasks increasing even further the energy savings. For the evaluation of the energy performance of the implemented sensor network a testbed was setup and the current consumption was monitored. The work undertaken shows that the current consumption associated with the radio communication has a small impact on the overall consumption of the sensor network. The major current consumption factor is the uptime of each node. iii
iv
“The path of history is not paved like Nevsky Prospekt, it runs across fields, either dusty or muddy, and cuts through swamps or forest thickets. Anyone who fears being covered with dust or muddying his boots, should not engage in social activity.” Nikolay Gavrilovich Chernyshevsky v
vi
Conteúdo 1 Introdução 1 1.1 Motivação...................................... 1 1.2 Objectivos...................................... 2 1.3 Análise e descrição do Sistema . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 1.4 EstruturadaDissertação .............................. 4 2 Conceitos 5 2.1 Redes de Sensores Sem Fios . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 2.1.1 ArquiteturasdeRSSF ........................... 5 2.1.2 Normas de Comunicação Sem Fios . . . . . . . . . . . . . . . . . . . . 13 2.1.3 Fontes e gestão de energia . . . . . . . . . . . . . . . . . . . . . . . . . 14 3 Definição de Protótipo 17 3.1 Hardware ...................................... 17 3.1.1 Plataformas de Hardware para Redes de Sensores Sem Fio . . . . . . . . 17 3.1.2 Sensores .................................. 18 3.1.3 Interfaces de utilizador . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 3.2 Software....................................... 20 3.2.1 Sistemas Operativos orientados a RSSF . . . . . . . . . . . . . . . . . . 20 3.3 SistemaProposto .................................. 23 3.3.1 Arquitetura................................. 23 4 Implementação 27 4.1 RededeSensores.................................. 27 4.1.1 Gateway .................................. 30 4.1.2 Coletor ................................... 31 4.2 Interface....................................... 32 4.2.1 Comunicação Bluetooth .......................... 33 4.2.2 BasedeDados ............................... 33 4.2.3 Interface Gráfico do Utilizador . . . . . . . . . . . . . . . . . . . . . . . 34 5 Resultados Experimentais 37 6 Conclusões 41 6.1 Avaliação do Trabalho Desenvolvido . . . . . . . . . . . . . . . . . . . . . . . . 41 6.2 TrabalhoFuturo................................... 41 Referências 43 vii
Capítulo 1 Introdução 1.1 Motivação Com o aumento da exigência e preocupação relativamente à qualidade e segurança de alimentos, e no que ao seu transporte diz respeito, aumenta a utilidade e procura de ferramentas que auxiliem o controlo e validação das condições desse transporte, assim como simultaneamente dotem os agentes envolvidos de instrumentos de informação e alarme que impeçam a priori a deterioração dos alimentos. O transporte de alimentos em veículos refrigerados é um caso particular de transporte de alimentos, mas altamente frequente nas cadeias de distribuição atuais. Neste tipo de transporte garantir que a temperatura e humidade se mantenham dentro de uma gama de variação reduzida é de importância crucial e o não cumprimento desta condição pode trazer consequências graves tanto do ponto de vista económico, com a deterioração e perda de valor dos alimentos, como do ponto de vista da segurança alimentar, pondo em risco a saúde dos consumidores finais. As especificidades dos contentores frigoríficos representam desafios na recolha e transmissão da informação recolhida, no entanto as redes de sensores sem fios possuem um grande potencial para colmatar essas dificuldades[4, 5, 6]. A monitorização e registo de toda a cadeia de frio nas redes de transportes de alimentos abre também caminho a formas de gestão do transporte de alimentos mais eficientes. Por exemplo o histórico das variações de temperatura e humidade mensuradas em cada transporte, ao qual um dado lote de alimentos esteve exposto, pode ser utilizado para a atualização do seu prazo de validade e assim permitir uma gestão de stocks organizada numa lógica FEFO(First Expire First Out) em detrimento da convencional FIFO (First In, First Out)[7]. Por outro lado a mesma monitorização associada a outras tecnologias como instrumentos de posicionamento (GPS) e a redes de comunicação sem fios de ampla difusão geográfica (HSPA, UMTS, etc) permitem uma gestão integrada e em tempo real de múltiplas cadeias de distribuição [8]. As Redes de Sensores Sem Fios (RSSF) são particularmente apropriadas para esta aplicação, devido à sua flexibilidade no posicionamento dos sensores e à capacidade de adaptação a diferentes ambientes, como os encontrados nos recipientes da cadeia de transporte de alimentos perecíveis, com vários tipos de carga, com diferentes tamanhos e características. Apesar do desenvolvimento 1
2Introdução recente das tecnologias associadas aos sistemas embarcados no geral e às RSSF em particular, as limitações energéticas continuam a ser uma das suas principais limitações [9]. Por isso, o desenvolvimento de RSSF tem em particular atenção estas limitações, tendo havido recentemente estudos sobre o impacto que diferentes topologias e diferentes políticas de sincronização e de encaminhamento têm na eficiência energética destas redes[10, 11]. 1.2 Objectivos Com este trabalho pretende-se desenvolver um sistema de monitorização para aplicação num veículo frigorífico de transporte de alimentos, que seja capaz de fazer a aquisição e registo da temperatura e humidade de uma arca frigorífica, assim como detetar a abertura/fecho de porta da mesma. Dada a diversidade de componentes e áreas que o sistema completo abordaria e tendo em conta trabalhos anteriores executados em torno do mesmo conceito e aplicação, este trabalho focar-se-á sobretudo na rede de sensores sem fios, a sua projeção, construção de um protótipo e posterior teste do seu funcionamento num ambiente real, com especial atenção às questões de consumo e conservação de energia em função da topologia de rede adotada. O trabalho a ser desenvolvido no âmbito da dissertação está dividido nas seguintes tarefas e o tempo, ordem e escalonamento das mesmas, que se prevê levar a cabo, encontra-se esquematizado na Figura 1.1. 1. Pesquisa Bibliográfica; 2. Estudo das Redes de Sensores Sem Fios 3. Especificação dos objetivos do sistema 4. Levantamento de plataformas (Hardware) orientadas a RSSF 5. Elaboração do relatório de Preparação da Dissertação 6. Projeção do sistema (Hardware e software) 7. Desenvolvimento da RSSF 8. Desenvolvimento da Interface 9. Teste das aplicações 10. Análise de resultados 11. Escrita da dissertação
1.3 Análise e descrição do Sistema 3 2012 2013 Jun Jul Aug Sep Oct Nov Dec Jan Feb Mar 1 2 3 4 5 6 7 8 9 10 11 Figura 1.1: Diagrama de Gantt do Plano de Trabalho 1.3 Análise e descrição do Sistema O sistema deverá ser capaz de fazer a aquisição e registo da temperatura e humidade da arca frigorífica de um veículo de transporte de alimentos durante todo o transporte, assim como detetar e registar a abertura e fecho da porta da arca. Para que o sistema seja de fácil instalação e permita simultaneamente uma distribuição dos sensores, quanto à sua disposição e número, em função do tamanho e forma da arca[12], o tipo de alimentos transportados e a sua disposição dentro da arca, os sensores devem operar sobre uma rede sem fios. No entanto, devido às características da arca frigorífica, a comunicação das medições para fora da arca será feita por cabo. Para tal deve existir dentro da arca um elemento (gateway) que recolhe os dados das medições dos sensores sem fios e os envia por cabo para a central presente na frente do veículo (habitáculo). A central será responsável por armazenar os dados e depois de terminado o transporte centralizá-los de forma autónoma numa base de dados presente no local de destino, através de uma rede sem fios wifi. Esta central terá ainda um interface gráfico para o condutor, disponibilizando assim informação sobre o estado dos alimentos dentro da arca e emitindo alarmes quando assim se justificar. Todo o sistema deverá ser implementado cumprindo as normas que se apliquem, nomeadamente a NP EN 12830, que regula os registadores de temperatura para transporte, armazenagem e distribuição de alimentos refrigerados. Esta norma especifica que o sensor de temperatura deverá ser capaz de medir temperaturas desde -25oC até 15oC e simultaneamente garantir a uma amplitude de medição superior ou igual a 50oC.
4Introdução 1.4 Estrutura da Dissertação Para além da introdução, este documento contém mais 5 capítulos. No capítulo 2, é descrito o estado da arte e os principais conceitos relacionados com Redes de Sensores Sem Fios. No capítulo 3, é feito um levantamento das plataformas de hardware esoftware existentes e que poderão ser usadas na construção do protótipo. No capítulo 4 é feita a descrição do trabalho desenvolvido para o projeto e implementação da RSSF e da aplicação de interface. No capítulo 5 é feita uma análise dos resultados experimentais obtidos. No capítulo 6 faz-se um levantamento das conclusões tiradas com a execução deste trabalho e uma análise dos objetivos atingidos.
Capítulo 2 Conceitos 2.1 Redes de Sensores Sem Fios Com o desenvolvimento da tecnologia e da técnica é hoje possível a construção de dispositivos que agregam, num único elemento, instrumentos de medição, micro-controladores, interfaces RF e fontes de energia por um custo reduzido. Apesar de do ponto de vista individual estes dispositivos serem limitados, tanto a nível do alcance das comunicações como da capacidade de processamento, a sua agregação em redes colaborativas abre um enorme conjunto de possibilidades. Estas redes são conhecidas como Redes de Sensores Sem Fios, ou na literatura anglo-saxónica como Wireless Sensor Networks, e são hoje aplicadas nas mais variadas áreas: agricultura, monitorização ambiental, monitorização de gado, controlo fronteiriço, deteção de violação de segurança em aplicação militares, medição de sinais vitais, monitorização de linhas de montagem etc [13]. A natureza colaborativa das RSSF confere-lhes simultaneamente flexibilidade, tolerância a falhas e fácil implementação, que associadas ao baixo tamanho e custo as torna interessantes para aplicação na monitorização das cadeias de frio, tal como foi proposto por Qingshan et al [14]. 2.1.1 Arquiteturas de RSSF Os sensores numa RSSF estão normalmente espalhados geograficamente. Cada um deles tem a capacidade de recolher dados e centralizá-los numa estação central (gateway), a partir da qual estão disponíveis para os utilizadores. As várias camadas por onde se realiza a comunicação entre os sensores e o gateway podem ser decompostas segundo o modelo OSI em camada de ligação de dados, camada de rede e camada de transporte [15]. É nestas camadas onde se encontram alguns dos principais desafios ao desenvolvimento e implementação de RSSF, alguns dos quais transversais a várias camadas. A divergência no tipo de organização de rede por exemplo, entre uma lógica centrada no endereço, comum nas redes tradicionais, e a natureza das redes de sensores, em que grupos de sensores partilham áreas geográficas comuns e a identificação de cada um é uma identificação geográfica, relativamente ao resto do grupo ou ao gateway da rede, em detrimento de um identificador lógico. Por outro lado a própria distribuição não linear dos sensores, por vezes em grande escala, exige protocolos de comunicação 5
6Conceitos Camada de Aplicação Camada de Transporte Camada de Rede Camada de Dados Camada Física Figura 2.1: Modelo OSI altamente escaláveis que sejam capazes de dinamicamente eleger sensores para funções de encaminhamento, preenchendo assim "buracos"na conectividade da rede, mas mantendo a estrutura hierárquica da rede. E finalmente a preocupação com a gestão eficiente da energia consumida, dadas as limitações de armazenamento e geração de energia neste tipo de dispositivos, que é uma preocupação de todas as RSSF e um dos principais objetivos a aprofundar neste trabalho . 2.1.1.1 Camada de Ligação de Dados (MAC) A camada de ligação de dados trata da transferência de dados entre dois nós que partilhem a mesma ligação (link). Como esta ligação é feita sobre uma rede sem fios, logo partilhada, é necessário um mecanismo de gestão e controlo de acesso ao meio (MAC). Nas RSSF esta camada deve cumprir requisitos de eficiência energética, sincronização dos frames, gestão eficiente da largura de banda e controlo de fluxo e de erros. A redução do consumo de energia aumentando o tempo de vida da rede é o seu principal objetivo. O protocolo implementado nesta camada deve evitar o desperdício de energia devido a colisões de pacotes, overhearing, retransmissões excessivas, overheads de controlo e idle listening. Um conjunto alargado de protocolos MAC tem sido proposto para atender a estas questões [16]: •TRAMA (Traffic-Adaptive Medium Access): Este protocolo atinge a eficiência energética evitando colisões e adaptando o escalonamento de transmissão de acordo com os padrões de tráfico. Usa apenas um canal escalonado temporalmente para dados e controlo da transmissão e divide as secções de escalonamento em dois tipos: acesso aleatório e acesso escalonado. Para fazer esta gestão sub-divide-se em três componentes fundamentais: Neighbor Protocol(NP), Schedule Exchange Protocol (SEP), e Adaptive Election Algorithm (AEA). No período de comunicação aleatória, durante o qual os nós podem juntar-se à rede, o NP envia pequenos pacotes de sinalização e usa-os para manter a conectividade com a vizinhança. O SEP activa o tráfego escalonado, durante este período emite a informação de escalonamento à vizinhança no raio de um salto (hop), a partir do qual os nós se sincronizam. O ultimo componente, AEA, determina o estado de cada nó. Por razões de eficiência
2.1 Redes de Sensores Sem Fios 7 Tabela 2.1: Comparação de protocolos da Camada de Ligação de Dados para RSSF. TRAMA B-MAC Z-MAC LPR-MAC LPD-MAC CC-MAC Channel access mode Time-slotted random and scheduled access Clear channel assessment (CCA) Time-slotted random and scheduled access Time-slotted contention based slot reservation Multi-channel access Time-slotted contention based slot reservation Time synchronization Yes No Yes Yes No No Protocol type TDMA CSMA CSMA TDMA CSMA TDMA CSMA/CA CSMA/CA Protocol specifics Achieves adequate throughput and fairness through transmitterelection algorithm and channel re-use Bi-directional interface for reconfiguration of system services to optimize performance Exploits the strengths of TDMA and CSMA while offsetting their weaknesses Increases the probability of success in packet transmission by adapting to traffic requirements to maximize data throughput Combines CSMA and spread spectrum techniques to achieve higher power efficiency and bandwidth Filters out correlated data and ensures prioritization of packets to the sink which results in achieving higher network performance Energy conservation Schedule sleep intervals and turn radio off when idle, collision avoidance scheduling Low power listening (LPL) time for energy efficiency Low power listening (LPL) time for energy efficiency Nodes sleep and wake up based on assigned data slot Power saving mode with low power wake up radio for channel listening and normal radio for data transmission Dropping highly correlated information packet to reduce energy use in transmission energética os nós são mantidos no modo sleep na maioria do tempo. O protocolo TRAMA garante eficiência energética e na entrega, à custa de atrasos nos pacotes, assim como atinge elevadas taxas de transferência e evita colisões. •B-MAC: Ao contrário do TRAMA, é um protocolo carrier-sense multiple acess (CSMA) que alcança baixo processamento, alta utilização do canal e evita colisões. O B-MAC otimiza a performance do sistema ao empregar um esquema de amostragem adaptativo. Um conjunto de interfaces bidirecionais são usados para reconfigurar o protocolo em função da carga da rede. Para evitar colisões procura valores atípicos nos sinais de amostra recebidos (clear channel assessment, CCA). Os valores atípicos são considerados quando durante o período de amostragem a energia do canal estiver abaixo do nível de ruído, nesse caso o canal está livre, caso contrário é considerado ocupado e inicia-se um período de espera (packet back off ) inicialmente definido ou aleatório. Todas as funcionalidades do B-MAC tais como os acknowledgements, o CCA, e o packet back off podem ser alterados através de um conjunto de interfaces bidirecionais. A sua ativação ou desativação altera a taxa de transferência e o consumo de energia do nó. •Z-MAC: Em comparação com o B-MAC, o Z-MAC é um protocolo MAC híbrido que combina as vantagens do TDMA e CSMA. o Z-MAC alcança alta utilização do canal e baixa latência sob alta contenção. Reduz, com baixo custo, as colisões entre vizinhos num raio de dois saltos (hops). É robusto contra alterações dinâmicas da topologia e falhas de sincronização que ocorrem frequentemente na rede. o Z-MAC usa o CSMA como esquema base
8Conceitos e o escalonamento TDMA para melhorar a resolução da contenção. Estas opções resultam num aumento inicial do overhead que é eventualmente amortizado e ao longo do tempo acaba por melhorar a taxa de transferência e a eficiência energética. Ao misturar CSMA e TDMA torna-se mais resistente a falhas de pontualidade (timing), variações temporais das condições do canal, falhas na atribuição de slot e alterações da topologia. Entre média e alta contenção o Z-MAC apresenta melhor performance que o B-MAC, no entanto para baixa contenção o B-MAC tem um comportamento ligeiramente melhor em termos energéticos. •LPR-MAC (Low power reservation-based MAC): o protocolo Low power reservation-based MAC atende o problema da conservação de energia e adaptação do tráfego. Para o fazer usa uma rede cluster hierarquizada e uma estrutura de frame do tipo TDMA. Numa rede cluster os nós organizam-se autonomamente em clusters e atribuem a tarefa de cluster head a um nó em cada cluster, estes nós ficam então responsáveis pela sincronização de todos os outros nós nesse cluster, segundo um escalonamento TDMA. De acordo com o protocolo o cluster head aumenta o tamanho do frame se o número de falhas exceder um valor predeterminado. Caso contrário, se o número de falhas foi baixo, o tamanho do frame diminuirá e dessa forma aumentará a probabilidade de sucesso da transmissão de pacotes. •LPD-MAC (Low power distributed MAC): O protocolo Low power distributed MAC combina CSMA/CA e técnicas multi-canal de espectro alargado. Para uma dada frequência, a banda é repartida em múltiplos canais, que são atribuíveis na rede a cada nó juntamente com um código. Tanto o código como o canal tem de ser únicos para cada canal num raio de dois saltos (hops). O principal objetivo desta estratégia é evitar colisões e reduzir o desperdício de energia. O protocolo também incorpora dois interfaces RF, um de baixa potência destinado a acordar o nó quando há dados para enviar ou receber e um de potência normal para as comunicações normais. Como a energia consumida durante a monitorização do meio é muito baixa, o valor médio da energia consumida é reduzido significativamente mantendo o interface RF normal no modo sleep sempre que possível. •Spatial correlation-based collaborative MAC (CC-MAC): Este protocolo explora a correlação espacial dos dados presentes na camada MAC para prevenir e regular transmissões redundantes. O CC-MAC tem dois componentes: o event MAC (E-MAC) e o network MAC (N-MAC). Enquanto o E-MAC filtra pacotes de dados redundantes, o N-MAC prioriza os pacotes a encaminhar. O CC-MAC é implementado em cada nó. Numa RSSF, o protocolo E-MAC forma regiões de correlação para filtrar informação de eventos correlacionados. Em cada região um único nó representativo é selecionado para transmitir os seus dados enquanto os restantes nós esperam. No fim de cada período todos os restantes nós dessa região entram numa fase de contenção para serem eleitos como o novo nó representativo. Enquanto esta filtragem é feita o protocolo N-MAC encaminha os pacotes de dados para o sink recorrendo a um método baseado em prioridades. Em termos de performance o CC-MAC apresenta poupanças de energia significativas, baixas latências e baixas perdas de pacotes.
2.1 Redes de Sensores Sem Fios 9 2.1.1.2 Camada de Rede A camada de rede é responsável pelo encaminhamento dos dados ao longo rede, desde a origem destes até ao seu destino. Os protocolos de encaminhamento usados em RSSF diferem dos tradicionais protocolos de encaminhamento devido às características particulares que estas redes apresentam, por exemplo os nós não têm endereços IP, os protocolos de encaminhamento baseados em IP não podem ser usados. Outra característica particular é a necessidade de todos, ou de uma parte, dos nós que compõem a rede serem capazes de reencaminhar pacotes (multi-hop), ao invés de estes serem transmitidos diretamente à estação base (single-hop). Esta característica é maioritariamente implementada na camada de rede, aumenta o alcance das redes e pode contribuir para a redução do consumo de energia ao permitir que os nós comuniquem com potências mais baixas. No entanto o overhead introduzido por alguns destes protocolos pode comprometer os ganhos energéticos que se pensava adquirir [17]. •O Encaminhamento geográfico (Geographical routing) usa um mecanismo de reencaminhamento ganancioso ao escolher os nós que estão mais perto do destino para encaminhar os pacotes. Assume para isso que a rede é suficientemente densa, que os nós sabem a sua localização e que o encaminhamento por vários saltos (multi-hop) é confiável. Existem um conjunto de propostas para este tipo de encaminhamento que se podem dividir entre as baseadas na distância (distance-based) e as baseadas na receção (reception-based). Na distance-based um nó apenas conhece a distância que o separa dos nós vizinhos, enquanto que na reception based as taxas de receção de pacotes dos vizinhos também são conhecidas. Estudos mostram que as estratégias de encaminhamento reception-based são mais eficientes que as distance-based, por isso faz-se agora o levantamento de quatro soluções reception based: 1) Absolute reception-based blacklisting: Cada nó excluí os nós vizinhos que tenham uma taxa de receção inferior a um dado valor. Apenas os vizinhos mais próximos do destino com boas taxas de receção receberá o pacote para encaminhar; 2) Relative reception-based blacklisting: Cada nó excluí um conjunto diferente de nós vizinhos para cada destino dependendo do ranking de cada nó nesse conjunto. O nó de cada ranking depende da sua distância ao destino e da sua taxa de receção. Desta forma impede-se que todo os nós vizinhos sejam excluídos como acontece na absolute reception-based blacklisting; 3) Best reception neighbor: Os pacotes são encaminhados para os nós com a taxa de receção mais alta e que estão mais perto do destino; 4) Best reception rate and distance: Esta estratégia baseia-se no produto da taxa de receção e da distância. Um nó calcula este produto para todos os nós vizinhos que estão mais perto do seu destino e escolhe aquele para o qual este produto for maior. •OAnchor Location Service (ALS) é uma estratégia baseada em malha (grid) que suporta encaminhamento entre fontes e destinos em movimento. Primeiro o ALS constrói uma estrutura em malha predefinida para a rede. Antes da instalação (deployment) cada nó tem informação sobre o tamanho de cada célula da malha e as suas coordenadas. A instalação de cada sensor é aleatória e estes podem obter a sua posição a partir de mecanismos de
16 Conceitos
Capítulo 3 Definição de Protótipo Para a escolha dos elementos constitutivos da rede a implementar foi feito um levantamento do estado da arte das várias tecnologias necessárias. Tanto as diretamente relacionadas com RSSF e concebidas com esse propósito, como as ferramentas com campos de aplicação mais abrangentes, por exemplo dispositivos móveis e/ou interfaces homem-máquina. 3.1 Hardware 3.1.1 Plataformas de Hardware para Redes de Sensores Sem Fio Um nó de uma RSSF reúne num único dispositivo, sistemas de medição, recolha de dados e respetivo processamento, comunicação RF assim como uma fonte de alimentação e circuitos reguladores e de gestão de energia. Apesar de haver uma vasta oferta para cada um dos componentes, existe hoje uma oferta considerável de soluções que integram de origem todos os componentes com a perspetiva de aplicação em RSSF. Apesar da adoção de plataformas já construídas limitar de certa forma o projeto do sistema, o facto destas terem sido concebidas com este tipo de aplicações em mente ultrapassa largamente essa desvantagem pois o seu uso traduz-se numa redução do custo, redução do trabalho de projeto e implementação, utilização de uma plataforma amplamente testada noutros projetos mais ou menos relacionados e finalmente a garantia de integração a nível de hardware de ferramentas importantes para as RSSF, como por exemplo a poupança de energia. Na Tabela 3.1 comparam-se algumas das plataformas que mais se têm destacado na área das RSSF[21][22]. 17
18 Definição de Protótipo Tabela 3.1: Comparação de plataformas orientadas a RSSF. XBee M1030 Mote M2135 Mote MicaZ Mica2 Iris Fabricante Digi Dust Networks Dust Networks Crossbow Crossbow Crossbow Frequência 2,4 GHz 900 MHz 2,4 GHz 2,4 GHz 900 MHz 2,4 GHz Largura de Banda [Kbps] 250 76,8 250 250 40 250 Corrente Consumida (em escuta / Rx / Tx) [µA] -/40/40 -/14/28 -/22/50 8/20/18 8/10/17 8/16/10 Consumo em "sleep" [µA] 1 8 10 27 19 8 CPU @ [MHz] - - - 8bit Atmel @ 8 8bit Atmel @ 88bit Atmel Memoria Flash [kB] - - - 4 4 128 3.1.2 Sensores Para a monitorização da cadeia de frio em veículos refrigerados as duas grandezas que interessa medir são a temperatura e a humidade. 3.1.2.1 Sensores de temperatura Para a medição da temperatura em veículos refrigerados os sensores utilizados têm sido essencialmente de 3 tipos: termístores, termo-resistências (RTD) e termo-pares. Os termístores são feitos à base de compósitos cerâmicos ou polímericos com óxidos de metais cuja resistência diminui com o aumento da temperatura. Em comparação as termo-resistências são normalmente feitas de metais puros. Os termo-pares baseiam-se no princípio de que uma junção de dois metais diferentes produz uma diferença de potencial proporcional à temperatura. A Tabela 3.2 mostra as principais diferenças entre os três tipos. Tabela 3.2: Características dos principais sensores de temperatura. Termístor Termopar Termoresistência Gama de temperatura -100oC 500oC -267oC 2316oC 240oC to 649oC Tempo de resposta Rápido Moderado Lento Numero de fios 2 2 3 ou 4 Sensibilidade Alta Baixa Moderada Estabilidade Moderada Baixa Alta Fonte de alimentação Corrente Não Precisa Corrente Custo Baixo Baixo Alto 3.1.2.2 Sensores de Humidade À semelhança dos sensores de temperatura, os principais sensores usados para medir a humidade são de três tipos: capacitivos, resistivos(resistência CC ou impedância AC) e piezoresistivo.
3.1 Hardware 19 Podem ainda ser divididos quando à sua construção. Na Tabela 3.3 podemos ver uma comparação das principais características de vários sensores de humidade. Tabela 3.3: Características dos principais sensores de humidade. Tipo de Sensor: Indutivo Indutivo Resistivo Capacitivo Capacitivo Capacitivo Piezoresistivo Tipo de Substrato: Poli-eletrólito Polímero Cerâmico Poroso Polímero Polímero Polímero Polímero Quantidade Medida HR HR Ponto de gelo e de orvalho HR HR HR e T HR e T Gama de Medida 0 a 100 0 a 100 -80oC a 60oC0 a 100 0 a 100 0 a 100 20 a 100 Custo Alto Alto Alto Médio a Alto Médio a Alto Muito Baixo Baixo Precisão +/- 5 +/- 5 +/- 3oC 5 1 a 5 +/- 3.5 +/- 1 Gama de Temperatura -40oC a 100oC0oC a 60oC-80oC a 60oC -40oC a 100oC -40oC a 185oC -40oC a 120oC -15oC a 185oC Envolucro Não Standard SIP Não Standard SIP Sonda Não Standard Não Standard SIP SMD/- MEMS SMD/- MEMS 3.1.3 Interfaces de utilizador O uso de dispositivos móveis na gestão de cadeias de transporte (Supply Chain Management) é uma tendência que tem vindo a aumentar nas ultimas décadas [23], diretamente relacionada com o desenvolvimento e multiplicação destes dispositivos. Os dispositivos móveis atuais, vulgarmente chamados de smartphones são o resultado da fusão do mercados dos Personal Data Assistants (PDA) e dos telemóveis. No início dos anos 90 os primeiros PDAs (p.e. Pilot 1000 e Pilot 5000) forneciam aplicações simples como base-de-dados de contactos, calendário e bloco de notas enquanto que os primeiros telemóveis tinham como única funcionalidade realizar chamadas. As aplicações foram um elemento chave diferenciador e impulsionador do mercado dos telemóveis, sendo cada vez mais complexas e exigindo cada vez mais recursos. No final da década os telemóveis tinham absorvido as funcionalidades dos PDA e exigiam sistemas operativos que permitissem tirar melhor partido dos recursos agora disponíveis, tais como o Pocket PC 2000 da Microsoft, o BlackBerry OS ou o Symbian. Ao contrário dos outros, o Symbian nasceu da colaboração dos principais fabricantes de telemóveis da altura (Nokia, Ericsson, Panasonic e Samsung) uma das razões que o levou a atingir uma posição dominante.
20 Definição de Protótipo 2008 2009 2010 2011 2012 10% 20% 30% 40% 50% 60% 70% Windows Mobile RIM (Blackberry) Symbian iOS Android Bada Windows Phone Figura 3.1: Evolução da Quota de Mercado dos Sistemas Operativos em Smartphones Mais uma vez a necessidade de novas e inovadoras aplicações impulsionou o mercado e foram o iOS da Apple e o Android da Google os SO que tiraram melhor partido disso. O SO da Google tem a particularidade de ter origem num consórcio de fabricantes (The Open Handset Alliance). E é simultaneamente baseado em Linux e num modelo open source, sendo assim uma plataforma mais fácil e apetecível para o desenvolvimento de aplicações quando comparado por exemplo com o iOS da Apple, que assenta num modelo fechado e proprietário[24]. Estas são algumas das razões que permitiram que seja hoje o sistema operativo dominante nos dispositivos móveis como se pode constatar na Figura 3.1. 3.2 Software 3.2.1 Sistemas Operativos orientados a RSSF As redes de sensores sem-fios são constituídas pela implantação em grupo de muitos pequenos nós, vulgarmente chamados de motes ou sensor nodes. Tipicamente estes motes tem um microcontrolador de alguns bits (p.e. 8 bits), memória flash (memoria de programa) na ordem das centenas de KB e memória RAM na ordem de algumas dezenas de KB. Apesar da simplicidade do hardware dos motes as aplicações de redes de sensores sem fios são vastas e exigentes. A ponte entre os motes com recursos limitados e RSSF vastas e complexas é feita pelos sistemas operativos orientados a este tipo de redes, cujas principais funcionalidades são a abstração dos vários dispositivos físicos, a gestão de interrupções, o escalonamento de tarefas, o suporte e gestão da rede e a gestão de concorrência, na execução de tarefas e de acesso aos recursos. Simultaneamente com estas funcionalidades e resultado da camada de abstração criada, os SO das RSSF facilitam o desenvolvimento e implantação destas redes a quem as programa, ao mesmo tempo que garante uma gestão otimizada dos recursos disponíveis. Durante o levantamento deste estado da arte verificou-se que os SOs existentes à data dão resposta, no todo ou em parte, às principais preocupações com o seu projeto e desenvolvimento,
3.2 Software 21 a saber: baixo impacto (footprint) nos recursos; eficiência energética; fiabilidade; garantias de tempo-real; reconfigurabilidade; facilidades de programação. No entanto, apesar do considerável desenvolvimento feito nos últimos anos a implementação de escalonamentos com preempção por prioridade, a segurança dos SO ou a existência de memória virtual são necessidades que ainda não foram atingidas com robustez e que necessitam de maior desenvolvimento para poder sem usadas com facilidade nas RSSF[2]. Uma exceção relativamente ao escalonamento com preempção é o Nano-RK que o implementa com prioridades, o que lhe permite ser um dos poucos SO de RSSF que cumpra requisitos de tempo-real. Tabela 3.4: Comparação de sistemas operativos orientados a RSSF.[1][2] TinyOS Contiki Mantis Nano-RK LiteOS Publicação (Ano) ASPLOS (2000) EmNets (2004) MONET (2005) RTSS (2005) IPSN (2008) Modelo de Programação Eventos & Threads (TinyThread, TOSThreads) Eventos & Threads & Protothreads Eventos & Threads (TinyMOS) Threads Eventos & Threads (através de callback) Arquitetura Monolítico Modular Modular Monolítico Modular Alocação e Protecção de Memória Static Memory Management with memory protection Dynamic memory management and linking. No process address space protection. Gestão dinâmica da memoria é suportada mas desencorajada, no memory protection. Static Memory Management and No memory protection Dynamic memory management and it provides memory protection to processes. Partilha de Recursos Virtualization and Completion Events Serialized Access Through Semaphores Serialized access through mutexes and semaphores Through synchronization primitives Protocolo de Comunicação Active Message uIP, uIPv6, Rime "comm" Socket File-Assisted Tempo-real Não Não Não Sim Não Linguagem de Programação nesC C C C LiteC++ Reprogramação Sim (Deluge, FlexCup) Sim Não(a partir da versão 1.1) Não Sim Debugging Remoto Sim (Clairvoyant) Não Sim (NodeMD) Não Sim (DT) Escalonamento FIFO Events are fired as they occur. Interruts execute w.r.t. priority Five priority classes and further priorities in each Rate Monotonic and rate harmonized scheduling Priority based Round Robin Scheduling Das dezenas de SO que existem atualmente destacam-se, pela quantidade de implementações testadas, académicas ou "reais", os que se encontram na Tabela 3.4. Variam entre si na forma como deram resposta às principais preocupações levantadas no quadro da arquitetura do sistema e suas especificidades. Os SO em que as aplicações são compiladas juntamente com o SO são denominados monolíticos e permitem a análise total do programa e sua otimização, durante a compilação, mas dificultam a modificação da rede.
22 Definição de Protótipo Em aplicações onde se pretende mudar a rede com maior frequência os SO modulares são vantajosos, pois dividem o programa em vários módulos que são por sua vez carregados por um kernel mais pequeno. Relacionado com esta divisão está também a forma como os recursos são alocados, p.e. memória. Sistemas Operativos monolíticos, como por exemplo o TinyOS, são muitas das vezes também estáticos, ou seja, a alocação dos recursos é feita uma única vez durante a elaboração do programa. Por outro lado, em aplicações com requisitos mais dinâmicos, essa alocação e desalocação é feita durante a execução do programa. Apesar de mais flexível, a alocação dinâmica de recursos, é menos fiável e pode resultar em que aplicações mal projetadas absorvam todos os recursos levando o sistema a um bloqueio. Outro elemento diferenciador está no modelo de programação adotado. Sistemas organizados em threads, apesar de mais familiares para a maioria dos programadores consomem mais recursos e são menos sensíveis temporalmente. Por seu turno os sistemas orientados a eventos representam uma boa solução para aplicações com recursos muito escassos. A maioria dos SO de RSSF, sendo baseados numa ou outra topologia, possuem bibliotecas ou projetos que permitem abarcar ambas as soluções simultaneamente. O Contiki é disso um exemplo, sendo um SO modular cujo kernel é orientado a eventos, suporta a execução de threads com preempção através de uma biblioteca. Relativamente ao suporte da rede, para os SO generalistas a implementação de TCP/IP é a norma. No entanto nas RSSF não existe uma arquitetura de rede normalizada, fruto da natureza e diversidade dos padrões de comunicação das RSSF(um-para-um, um-para-todos, todos-para-um, etc.). Sem uma norma estabelecida cada SO aborda este requisito de forma diferente, ainda assim a maioria implementa algum tipo de comunicação single-hop, que pode depois servir de base a outras topologias como a multi-hop. O TinyOS, SOS e Mantis são disso exemplo. Uma característica não técnica importante nesta caracterização dos SO é o número de plataformas de hardware suportadas por cada um. Nesse aspeto o TinyOS[25] é de longe o SO com maior compatibilidade de hardware.[1], como se constata na Tabela 3.5 Tabela 3.5: Plataformas suportadas por cada Sistema Operativo.[1][3] Operating System Supported Platforms TinyOS Mica, Mica2, MicaZ, TelosB/TMote Sky, BTnode, EyesIF X v1, EyesIF X v2, IMote, IMote 1.0, IMote 2.0, KMote, eyes, tinynode, IRIS, Shimmer, Sky, Rene, SenseNode, TelosB, T-Mote SOS Mica2, MicaZ, TelosB/Tmote Sky, KMote, avrora, Protosb, Cricket, Cyclops, emu Contiki T-Mote Sky, TelosB, avr MCU,ESB, MSP430 MCU, x86, 6502 Mantis Mica2, MicaZ, Telos, Mantis nymph Nano-RK MicaZ, FireFly RETOS MicaZ, TelosB/TMote Sky, TI CC2430 LiteOS MicaZ, IRIS Microsoft .NET Micro IMote 2.0
3.3 Sistema Proposto 23 3.3 Sistema Proposto Com vista ao cumprimento dos requisitos do sistema enunciados na análise e descrição do sistema a implementar e a partir do estado da arte levantado definiu-se o protótipo a implementar recorrendo essencialmente a dois suportes físicos. A escolha da plataforma física para a construção da rede de sensores esteve limitada às disponíveis no Laboratório de Sistemas Embarcados e Distribuídos de Tempo-Real. Das existentes foram escolhidos os motes Memsic IRIS, dado a sua baixa potência de funcionamento, serem amplamente usados em RSSF e de baixo custo. Acoplado com os motes IRIS, foi usado o modulo de sensores MTS310CB [26] que fornece entre outros sensores, um sensor de temperatura (termístor) da Panasonic (ERTJ1VR103J) cuja gama de temperatura é de -40 a 125 oC[27], cumprindo assim os requisitos da norma NP EN 12830. E um sensor de luminosidade baseado numa célula fotossensível de seleneto de cádmio, cuja folha de características não foi encontrada. Para o interface com o utilizador e depois de uma sequência de contactos com empresas do sector da monitorização de frotas, optamos por um smartphone Android (Huawei U8160), dada a facilidade de desenvolvimento em Android e o facto de ser o SO com maior implantação e crescimento no mercado de dispositivos móveis. Depois de analisados ambos os dispositivos e seus periféricos constatou-se que a forma mais prática e transparente de fazer a ligação entre a rede de sensores e o interface do utilizador seria usar um adaptador Serie-Bluetooth (HC-05), deixando assim a ligação WIFI do smartphone liberta para outra aplicação, como por exemplo o escoamento de todos os dados recolhidos no final de um transporte, na chegada ao armazém. Conversor RS232/Bluetooth Iris Mote Plataforma Android Figura 3.2: Sistema Proposto 3.3.1 Arquitetura Do ponto de vista da arquitetura de software, o sistema implementado divide-se em três componentes como esquematizado na Figura 3.3. O sistema possui apenas um gateway, um interface de utilizador e vários coletores espalhados pelo contentor. As varias instâncias de coletores e o gateway configuram a rede de sensores, o foco deste trabalho. A rede de sensores foi programada com base no TinyOS, pois alem do mote IRIS ser suportado diretamente por este SO, o TinyOS é o sistema operativo com maior implantação nas RSSF como observado na subsecção 3.2.1. Este
24 Definição de Protótipo sistema operativo entre outras funcionalidades fornece algumas funcionalidades relevantes para a poupança de energia, das quais se destaca o Low Power Sensing [28] que faz uma gestão da camada de acesso ao meio implementando o BoX-MAC, uma versão melhorada do BMAC [29]. Coletor Gateway Interface <IRIS Mote> <IRIS Mote> <Huawei U8160> Rede de Sensores Sem-Fios Coletor.nC Gateway.nC MonArca.apk TinyOS TinyOS Android Radio Série Radio Bluetooth <HC-05> Sensores Figura 3.3: Arquitetura do Sistema Proposto •Coletor - Os motes a funcionar como coletores, deverão recolher periodicamente dados (temperatura e luminosidade) e enviá-los para o gateway. Por cada pacote enviado o Coletor recebe uma resposta do gateway com a indicação de intensidade de sinal (RSSI) com que o pacote chegou ao gateway, que é depois usada pelo coletor para adaptar a potência de transmissão ao mínimo possível que permita a comunicação. •Gateway - O gateway recebe os pacotes com os dados recolhidos de todos os motes e enviaos pela porta série para o interface. Quando um pacote é recebido é imediatamente calculado o seu RSSI e depois introduzido nesse mesmo pacote, sendo esse pacote atualizado o que é enviado de volta para o mote de origem e para o smartphone. •Interface - O interface com o utilizador está continuamente ligado ao adaptador sériebluetooth e à medida que recebe os pacotes da rede guarda-os numa base de dados e atua alarmes se os valores recebidos ultrapassarem determinados limites pré-definidos. A sequência da comunicação entre os vários componentes do sistema ocorre como se ilustra na figura 3.4.
3.3 Sistema Proposto 25 Coletor Gateway Interface Pacote com medições Pacote com RSSI Pacote com RSSI Adaptação de Potência de Transmissão Calculo do RSSI Medição dos sensores Timer Figura 3.4: Diagrama de Sequência da Comunicação
32 Implementação Inicio Aguarda Timer Recolhe RSSI? Dados Envia o Pacote Aguarda Resposta com RSSI Diminui Potência de Transmissão <XL >XH >XL Aumenta Potência de Transmissão <XH Figura 4.6: Fluxograma do Coletor 4.2 Interface Para o desenvolvimento e implementação do interface do utilizador a smartphone Android foi instalado e usado, também no mesmo ambiente linux, o IDE Eclipse, com o plugin ADT (Android Developers Tools) e o ambiente de desenvolvimento de Android (Android SDK). Dada a natureza mais genérica tanto do sistema operativo Android, como da linguagem utilizada para o desenvolvimento de aplicações nesta plataforma (Java), o período de estudo e familiarização com o ambiente foi reduzido e breve, em comparação com o despendido durante o desenvolvimento da RSSF. Aquando da criação do projeto Android da aplicação, das opções possíveis para a versão da Application Programming Interface API, escolhemos a versão 17, com garantia de compatibilidade no máximo até à versão 8 (Android 2.2), devido à compatibilidade na ordem dos 95%. A arquitetura da aplicação implementada divide-se em três conjuntos de componentes distintos, um principal, onde está incluído o interface gráfico da aplicação e funcionamento principal da aplicação, um componente responsável pela comunicação Bluetooth com o Gateway da rede de sensores, através do adaptador Bluetooth-série, e finalmente um conjunto de componentes que implementa uma base de dados onde são armazenados os dados provenientes da rede de sensores.
4.2 Interface 33 4.2.1 Comunicação Bluetooth A comunicação com o adaptador Bluetooth é implementada numa classe que assegura todo o trabalho de configurar e gerir ligações bluetooth com o adaptador Bluetooth-Série 4.7. Depois de instanciado este componente executa uma thread que escuta por novas ligações, uma thread para manter a ligação com um dispositivo e uma ultima thread para realizar as transferência de dados quando conectado. A comunicação através do adaptador é transparente e do ponto de vista da aplicação, este componente recebe e envia arrays de bytes. Tirando partido do Message Interface Generator do TinyOS, gerou-se uma classe em Java para as mensagens trocadas na rede, a partir do qual se faz o cast às mensagens recebidas. A mesma classe que define a estrutura da mensagem, possui as funções para ler e escrever campos da mensagem, assim como o construtor do objeto mensagem. Desta forma a personalização da mensagem a trocar entre o interface e a RSSF é bastante simples. Figura 4.7: O adaptador Bluetooth-Série HC-O5. 4.2.2 Base de Dados A base de dados foi implementada recorrendo ao SQLite, uma base de dados open source incorporada no Android que suporta as funcionalidades relacionais padrão das bases de dados. O SQlite suporta apenas 3 tipos de dados: VARCHAR, INTEGER e TIMESTAMP, obrigando a uma conversão de alguns valores, como por exemplo a temperatura, aquando da conversão. A implementação da base de dados fez-se com a criação de uma classe para cada tipo de objeto (Transporte, Mote, Medição, etc). Cada classe implementa a estrutura de cada objeto, a tabela SQL respetiva e as funções e construtores para operar esses mesmos objetos. Finalmente uma outra classe, cria a base de dados e cada uma das tabelas por cada um dos objetos e implementa as funções para inserir e listar os dados guardados.
34 Implementação Veículo Transporte Mote Condutor Item Medição 1 N 1N 1 1 1 N 11 N 1 Figura 4.8: Diagrama Relacional da Base de Dados 4.2.3 Interface Gráfico do Utilizador O interface gráfico com o utilizador é implementado a partir de uma série de Activities que se dividem essencialmente em três grupos, Activities de configuração, Activities de consulta da base de dados e a Activity principal onde se encontram as medições mais recentes e são atuados os alarmes. 4.2.3.1 Activity principal Depois de aberta a aplicação a conexão Bluetooth com a RSSF é imediatamente estabelecida, expecto se o Bluetooth não estiver ativado, caso em que é pedido ao utilizador que o ative. Depois de estabelecida a conexão, o utilizador pode iniciar a viagem e a respetiva recolha de dados da rede. Os dados mais recentes, a média dos valores da ultima medição de cada sensor, a dispersão desses valores e a média das ultimas 10 medições é mostrada na Activity. Se alguma das medições, de qualquer sensor, ultrapassar determinado limite é atuado um alarme de acordo com as configurações dos alarmes.
4.2 Interface 35 Figura 4.9: Activity principal, à esquerda estado inicial, à direita "em viagem". 4.2.3.2 Activity de Configuração Na Activity de configuração definem-se os dados relativos a cada viagem de transporte, o intervalo de amostragem da rede de sensores e os limites para os quais devem ser atuados os alarmes e de que tipo. Todos estes valores são de preenchimento obrigatório e são submetidos assim que se saia da Activity de configuração. Figura 4.10: Activity de configuração da viagem, com pormenor de introdução de campos à esquerda.
36 Implementação Figura 4.11: Activities de configuração de rede e alarmes, respetivamente. 4.2.3.3 Activity de Consulta da Base de Dados Finalmente nesta Activity podemos ver o histórico dos transportes realizados, os condutores desses transportes e todas as medições realizadas. Figura 4.12: Activities de consulta da base de dados.
Capítulo 5 Resultados Experimentais Dado o foco do trabalho em questão ter sido a eficiência energética da rede de sensores os testes mais relevantes e realizados primeiro foram ao consumo dos motes. Para isso introduziu-se uma resistência de baixo valor (10ohm) em série com a alimentação. Segundo a datasheet dos motes IRIS a corrente consumida é no máximo da ordem de algumas dezenas de mA, portanto a queda de tensão aos seus terminais seria no máximo da ordem de algumas centenas de mV. Para a leitura do valor das correntes foi usado um Arduino com um programa que li-a o valor do ADC de 100 em 100µs e após cada leitura enviava os dados recolhidos pela porta série. Em conjunto com o valor das correntes era enviado também o valor atual micro-segundos de um contador do Arduino, iniciado em cada sessão de leitura. Como o ADC do arduino lê tensões de 0 a 5V, amplificou-se a tensão da resistência com um amplificador operacional (OPA350) montado numa montagem não inversora e com ganho igual a 10, permitindo assim a leitura de valores de corrente até 50mA. OPA350 3V Rshunt RA RA RB Figura 5.1: Circuito de medição da corrente do mote IRIS Os dados enviados pelo arduino eram depois recebidos por um pequeno programa em python, que li-a a porta serie, converti-a os micro-segundos para milissegundos e a leitura de 10 bits do ADC para miliamperes. Finalmente guardava o resultado num ficheiro CSV (Comma Separatted 37
38 Resultados Experimentais Values). Simultaneamente com a leitura da porta serie do arduino, o programa em python lia também a porta serie emulada pelo programador dos motes, MIB600, onde estava montado um mote a funcionar como Gateway. Por cada pacote recebido eram extraídos o valor de potência transmitida pelo mote a ser medido (Coletor) e o valor do RSSI com que cada pacote chegava ao Gateway, ambos os valores eram guardados no mesmo CSV, no intervalo de tempo correspondente. Os gráficos que se seguem dizem respeito a 2 testes realizados segundo o procedimento agora descrito. 500 1,000 1,500 2,000 2,500 3,000 3,500 4,000 4,500 16 18 20 22 24 Tempo (ms) Intensidade de corrente (mA) 500 1,000 1,500 2,000 2,500 3,000 3,500 4,000 4,500 15 20 25 30 Tempo (ms) RSSI 500 1,000 1,500 2,000 2,500 3,000 3,500 4,000 4,500 −4 −2 0 2 Tempo (ms) Potência de Transmissão(dBm) Figura 5.2: Corrente instantânea, RSSI e potência de transmissão de um mote com adaptação de potência Neste primeiro teste o mote Coletor que estava a ser medido estava com a adaptação de potência ativada e um intervalo de leitura de leitura dos sensores de 50ms. Devido ao facto do intervalo ser muito curto o mote nunca entrava no modo sleep, razão pela qual se observa uma corrente "predominante"de 19 mA. Cada risco vertical corresponde ao envio de um pacote e receção da resposta com o RSSI. Ao obstruir a linha de comunicação entre o Coletor e o Gateway foi possível diminui o RSSI e por sua vez obrigar o Coletor a aumentar a potência de transmissão. O impacto dessa alteração no consumo de corrente pode-se observar sobretudo na amplitude das barras verticais
Resultados Experimentais 39 correspondentes a cada comunicação, registando-se uma diferença de aproximadamente 4 mA na amplitude da corrente durante os instantes de comunicação radio. No entanto dado os intervalos de comunicação serem muito curtos, o impacto desta redução é limitada. No gráfico seguinte é calculada a média da corrente num intervalo deslizante e pode-se observar que a adaptação de potência de transmissão em termos médios resulta numa diminuição ou aumento da corrente, em função de um aumento ou diminuição da potência de transmissão, muito reduzida. 500 1,000 1,500 2,000 2,500 3,000 3,500 4,000 4,500 19.8 19.9 20 Tempo (ms) Média da corrente (mA) Figura 5.3: Corrente média (intervalo deslizante de 100ms) de um mote com adaptação de potência No segundo teste configurou-se o mote a ser medido sem a adaptação de potência, com um envio periódico de um pacote a cada 250ms e em cada período a potência de transmissão era diminuída um nível, dos 10 possíveis. Como o período neste caso é superior o mote entra no modo sleep ao fim de 100ms aproximadamente, no entanto é possível observar no inicio de cada período, quando o pacote é enviado, a variação da corrente correspondente à transmissão do pacote radio. 1,000 1,500 2,000 2,500 3,000 3,500 4,000 16 17 18 19 20 Tempo (ms) (mA) 1,000 1,500 2,000 2,500 3,000 3,500 4,000 −4 −2 0 2 Tempo (ms) (dBm) Figura 5.4: Intensidade de corrente e Potência de Transmissão de um mote a percorrer periodicamente todos os níveis de potência possíveis Como no primeiro teste, também neste é registada uma diminuição da amplitude da corrente correspondente ao modulo radio, na ordem das dezenas de µA. Podemos também observar mais
40 Resultados Experimentais uma vez que o impacto da corrente consumida pelo modulo radio é muito baixa quando comparada com a corrente que o mote absorve por estar em funcionamento. Tabela 5.1: Autonomia estimada de um sensor com potência de transmissão fixa para diferentes períodos de leitura (dutycycle) Período (seg) 30 60 300 900 Consumo médio mA 0.0413 0.0247 0.0113 0.0091 Autonomia (Horas) 24201 40552 88246 109761 Autonomia (Semanas) 144 241 525 653 Autonomia (Anos) 3 5 10 13 Para uma corrente média em funcionamento de 20mA e 8µA em Sleep e um tempo de leitura e transmissão de 50ms, estimou-se a autonomia de cada nó para diferentes períodos de leitura, como se pode ver na tabela 5.1, não considerando efeitos espúrios como a perda de capacidade nas baterias por idade. Simultaneamente, e para calcular o impacto da adaptação de potência a longo prazo, calculou-se a autonomia para uma corrente média de 19.8mA, ou seja, assumindo um estado ideal em que a potência de transmissão era sempre mínima. Como se pode observar pela comparação das tabelas o ganho de autonomia é muito reduzido, na ordem de 1%. Tabela 5.2: Autonomia estimada de um sensor com adaptação de potência de transmissão para diferentes períodos de leitura (dutycycle) Periodo (seg) 30 60 300 900 Consumo médio mA 0.0410 0.0245 0.0113 0.0091 Autonomia (Horas) 24398 40827 88506 109895 Autonomia (Semanas) 145 243 527 654 Autonomia (Anos) 3 5 10 13
Capítulo 6 Conclusões Neste capitulo é feito um apanhado sobre o trabalho desenvolvido durante os últimos meses e de que forma atingiu os objetivos traçados no inicio do semestre. Com base nessa avaliação é depois feito o levantamento das principais linhas de trabalho futuro. 6.1 Avaliação do Trabalho Desenvolvido O foco do trabalho desenvolvido foi a implementação de uma rede de sensores sem fios num contentor frigorífico. Nesse contexto foi projetada, desenvolvida e testada uma rede de sensores sem fios capaz de monitorizar o ambiente dentro do contentor durante uma viagem. A estrutura e funcionamento da rede foi desenvolvida tendo como principal preocupação o desempenho energético dos sensores e assim permitir que possam funcionar durante largos períodos autonomamente, com renovação de baterias menos regulares, reduzindo assim os custos de manutenção da rede. Para ser atingido este recurso energético tirou-se partido da gestão energética do TinyOS e implementou-se uma mecanismo de adaptação da potência de transmissão do modulo de radio, que diminuiu a corrente consumida por cada sensor nas comunicações. Verificou-se no entanto que este ultimo têm um impacto muito reduzido na poupança de energia. Para o interface com a rede de sensores, assim como o armazenamento e visualização dos dados nela recolhidos, foi desenvolvida uma aplicação para Android. Esta aplicação implementou um interface gráfico com a alarmística associada à proteção da carga a ser transportada, um modulo de comunicação bluetooth para comunicar de forma transparente com a rede de sensores sem fios através do Gateway e finalmente uma base de dados local onde são armazenados os dados relativos ao ambiente, recolhidos pela rede de sensores sem fios e dados sobre a viagem recolhidos pelo smartphone. 6.2 Trabalho Futuro Devido à variedade de ferramentas utilizadas e de plataformas utilizadas, uma parte considerável do tempo foi despendido com a sua familiarização, diminuindo o tempo disponível para 41