Upload
matheus-araujo
View
2.072
Download
0
Embed Size (px)
DESCRIPTION
Slides do Minicurso de Introdução às Redes de Sensores Sem Fio, apresentado durante o ERBASE 2012 em Juazeiro na Bahia.
Citation preview
INTRODUÇÃO ÀS
REDES DE SENSORES
SEM FIO
Instrutor: Matheus Araújo
ER
BA
SE
20
12
Autores
Matheus Lima de Araújo
Graduando em Ciência da Computação pela Universidade do Estado do Rio Grande do Norte (Campus de Natal, Núcleo de Santa Cruz), realizando trabalho de conclusão de curso na área de Redes de Sensores Sem Fio.
Lattes: http://lattes.cnpq.br/9287919922944647
Marianna Angélica de Araújo
Graduanda em Ciência da Computação pela Universidade do Estado do Rio Grande do Norte (Campus de Natal); Bolsista de Iniciação Científica do CNPq; participante do Grupo de Sistemas Distribuídos (GSiD-UERN).
Lattes: http://lattes.cnpq.br/4356983590666266
Dayanne Kelly Freire da Rocha Escalé
Mestre em Ciência da Computação pela Universidade do Estado do Rio Grande do Norte; participante do Grupo de Sistemas Embarcados e de Tempo Real (GSET-UERN); professora auxiliar no Departamento de Ciência da Computação na UERN-Natal.
Lattes: http://lattes.cnpq.br/1348329479058843
2
ERBASE 2012 - Introdução as Redes de Sensores Sem Fio -
Matheus A.
O que são Redes?
O que é uma Rede Ad-hoc?
O que são sensores?
O que é uma Rede de Sensores Sem Fio?
Vale a pena trocar redes de sensores
cabeadas por redes de sensores sem fio? Por
quê?
3
ERBASE 2012 - Introdução as Redes de Sensores Sem Fio -
Matheus A.
Redes de Sensores Sem Fio
Motivação
Definição
Características
Limitação de
recursos
Possibilidade de
falhas
4
ERBASE 2012 - Introdução as Redes de Sensores Sem Fio -
Matheus A.
Hardware Básico dos nós
sensores5
ERBASE 2012 - Introdução as Redes de Sensores Sem Fio -
Matheus A.
Hardware Básico dos nós
sensoresA Figura 1.2 mostra os componentes básicos de um nó
sensor descritos em [LOUREIRO et al., 2003; VIEIRA,2004], sendo eles o transceptor, responsável por realizar acomunicação sem fio. O microprocessador, que respondepela capacidade de processamento no nó. Quanto àmemória, o microcontrolador possui uma interna e, namaior parte das vezes uma memória externa e secundáriatambém está presente no nó. Os sensores são osresponsáveis por realizar o mapeamento (registro) deeventos do mundo real em dados que serão coletados eutilizados pela rede. A fonte de alimentação doscomponentes do hardware normalmente é composta poruma bateria (recarregável ou não) que pode chegar a ter otamanho de uma moeda. Esta fonte de alimentação é umdos itens mais importantes no contexto das redes desensores, pois a durabilidade da RSSF depende da energiadisponível.
6
ERBASE 2012 - Introdução as Redes de Sensores Sem Fio -
Matheus A.
Características das RSSF
Endereçamento dos nós sensores
Agregação de dados
Mobilidade dos sensores
Restrições dos dados coletados
Quantidade de nós sensores
Tipo de comunicação: Broadcast
Limitação de recursos
Dependência da aplicação
7
ERBASE 2012 - Introdução as Redes de Sensores Sem Fio -
Matheus A.
Cla
ssific
açõ
es d
as R
SS
FCritério Classificação Descrição
Composição Heterogênea Os nós apresentam diferentes capacidades de hardware.
Homogênea Os nós podem ser idênticos quanto ao hardware, e por vezes podem
apresentar softwares diferentes.
Organização Plana Os nós da rede não formam grupos neste tipo de organização.
Hierárquica A organização é feita agrupando os nós em clusters. Em cada cluster
existirá um cluster-head que pode ser eleito pelos demais nós. Os
clusters podem se organizar em hierarquias.
Distribuição Regular Os nós da rede são distribuídos de maneira uniforme na área
monitorada.
Irregular Os nós são distribuídos de maneira não uniforme na área monitorada.
Mobilidade Estática Os elementos depois de depositados permanecem imóveis durante o
período de vida da rede.
Dinâmica Os nós podem se deslocar depois de depositados para o monitoramento
(apresentam mobilidade).
Densidade Balanceada A quantidade de nós presentes por área é semelhante em toda a área de
monitoramento.
Densa A rede apresenta uma alta quantidade de nós por área, sendo esta
concentrada.
Esparsa A rede apresenta uma baixa quantidade de nós por área.
Controle Aberta A rede realiza apenas o monitoramento na região.
Fechada A rede realiza o monitoramento e também atua na região.
Coleta de dados Periódica Em intervalos de tempo regulares são coletados dados na rede.
Contínua A coleta de dados é feita continuamente, sem pausas.
Reativa A coleta de dados é realizada apenas quando um evento ocorre ou ainda
quando o observador solicita.
Tempo-real Tem como objetivo a coleta da maior quantidade de dados possível
dentro do menor intervalo de tempo.
Disseminação Programada A disseminação dos dados ocorre em intervalos de tempo programados.
Contínua Os dados são disseminados constantemente.
Sob-demanda Os dados são disseminados quando ocorrem eventos ou quando o
observador realiza consulta.
8
ERBASE 2012 - Introdução as Redes de Sensores Sem Fio -
Matheus A.
Classificações das RSSF
Critério Classificação Descrição
Composição Heterogênea Os nós apresentam diferentes capacidades de
hardware.
Homogênea Os nós podem ser idênticos quanto ao
hardware, e por vezes podem apresentar
softwares diferentes.
9
ERBASE 2012 - Introdução as Redes de Sensores Sem Fio -
Matheus A.
Classificações das RSSF
Critério Classificação Descrição
Organização Plana Os nós da rede não formam grupos neste tipo
de organização.
Hierárquica A organização é feita agrupando os nós em
clusters. Em cada cluster existirá um cluster-
head que pode ser eleito pelos demais nós. Os
clusters podem se organizar em hierarquias.
10
ERBASE 2012 - Introdução as Redes de Sensores Sem Fio -
Matheus A.
Classificações das RSSF
Critério Classificação Descrição
Distribuição Regular Os nós da rede são distribuídos de maneira
uniforme na área monitorada.
Irregular Os nós são distribuídos de maneira não
uniforme na área monitorada.
11
ERBASE 2012 - Introdução as Redes de Sensores Sem Fio -
Matheus A.
Classificações das RSSF
Critério Classificação Descrição
Mobilidade Estática Os elementos depois de depositados
permanecem imóveis durante o período de vida
da rede.
Dinâmica Os nós podem se deslocar depois de
depositados para o monitoramento (apresentam
mobilidade).
12
ERBASE 2012 - Introdução as Redes de Sensores Sem Fio -
Matheus A.
Classificações das RSSF
Critério Classificação Descrição
Densidade Balanceada A quantidade de nós presentes por área é
semelhante em toda a área de monitoramento.
Densa A rede apresenta uma alta quantidade de nós
por área, sendo esta concentrada.
Esparsa A rede apresenta uma baixa quantidade de nós
por área.
13
ERBASE 2012 - Introdução as Redes de Sensores Sem Fio -
Matheus A.
Classificações das RSSF
Critério Classificação Descrição
Controle Aberta A rede realiza apenas o monitoramento na
região.
Fechada A rede realiza o monitoramento e também atua
na região.
14
ERBASE 2012 - Introdução as Redes de Sensores Sem Fio -
Matheus A.
Classificações das RSSF
Critério Classificação Descrição
Coleta de
dados
Periódica Em intervalos de tempo regulares são coletados
dados na rede.
Contínua A coleta de dados é feita continuamente, sem
pausas.
Reativa A coleta de dados é realizada apenas quando
um evento ocorre ou ainda quando o
observador solicita.
Tempo-real Tem como objetivo a coleta da maior quantidade
de dados possível dentro do menor intervalo de
tempo.
15
ERBASE 2012 - Introdução as Redes de Sensores Sem Fio -
Matheus A.
Classificações das RSSF
Critério Classificação Descrição
Disseminação Programada A disseminação dos dados ocorre em
intervalos de tempo programados.
Contínua Os dados são disseminados constantemente.
Sob-
demanda
Os dados são disseminados quando ocorrem
eventos ou quando o observador realiza
consulta.
16
ERBASE 2012 - Introdução as Redes de Sensores Sem Fio -
Matheus A.
Pilha de Protocolos das RSSF17
ERBASE 2012 - Introdução as Redes de Sensores Sem Fio -
Matheus A.
Áreas de Aplicação das RSSF
Militar
Medicina/Biologia
Controle Industrial
Ambiente
Tráfego
Segurança
18
ERBASE 2012 - Introdução as Redes de Sensores Sem Fio -
Matheus A.
Sistema Operacional TinyOS
Em [RUIZ et al., 2004] uma descrição sobre oTinyOS é feita, sendo esta seção baseada noconteúdo do artigo citado. O sistema operacionalTinyOS é simples, compacto baseado em eventose foi projetado para ser utilizado essencialmenteem Redes de Sensores Sem Fio, atendendo àssuas necessidades como operações intensivas deconcorrência com baixo poder de hardware (quepossui limitações de recursos como memória deprograma semelhante a 8KB e/ou memória RAMna faixa de 512 bytes) e economia de energia. Alinguagem de programação adotada pelo TinyOSé a nesC (Pronuncia-se “NES-see”).
19
ERBASE 2012 - Introdução as Redes de Sensores Sem Fio -
Matheus A.
Histórico do TinyOS
Data Acontecimento
1999 Primeira plataforma TinyOS (WeC) e implementações do
Sistema Operacional são desenvolvidos em Berkeley.
2000 Berkeley lança a plataforma rene e parceiros como a
Crossbow Inc., passam a produzir hardware. É
disponibilizada ao público através do SourceForge a versão
0.43 do TinyOS. As versões anteriores à 1.0 do TinyOS são
uma mistura de scripts em C e Perl.
2001 Berkeley desenvolve a plataforma mica e libera ao público a
versão 0.6 do TinyOS.
Fev.2002 Berkeley distribui 1000 nós mica para outros participantes
do projeto NEST (Network Embedded Systems Technology).
Abr.2002 Um trabalho sobre a linguagem de programação nesC é
iniciado em colaboração entre a Intel Research e a UC
Berkeley.
Set.2002 É lançado a versão 1.0 do TinyOS implementado em nesC.
Ago.2003 A versão 1.1 do TinyOS é lançada, tendo novos recursos em
nesC, incluindo dados de detecção de corrida.
Set. 2003 –
Dez.2005
O TinyOS adota um processo de liberação periódica menor.
Jun.2004 Os grupos de trabalho para os próximos passos do TinyOS
são formados baseados em experiência de porta-lo para
novas plataformas. Iniciam-se os trabalhos para a versão
2.0.
20
ERBASE 2012 - Introdução as Redes de Sensores Sem Fio -
Matheus A.
Histórico do TinyOS
Data Acontecimento
Jul.2005 Concluído o projeto NEST.
Dez.2005 Lançada a versão 1.1.15 do TinyOS, sendo esta a
ultima versão 1.1.
Fev.2006 É lançado a versão beta1 do TinyOS 2.0 no 3º TinyOS
Technology Exchange em Stanford, CA.
Jul.2006 Lançado o beta2 do TinyOS 2.0.
Nov.2006 O TinyOS 2.0 é lançado na Conferência SENSYS em
Boulder, CO.
Abr.2007 Durante o 4º TinyOS Technology Exchange em
Cambridge, MA, a versão 2.0.1 do TinyOS é lançada.
Jul.2007 Lançado o TinyOS 2.0.2. Iniciados os trabalhos para o
TinyOS 2.1.
Ago.2008 TinyOS 2.1.0 é lançado.
Abr.2010 É lançada a versão 2.1.1 do TinyOS.
Jul.2010 O TinyOS é movido de servidor, passando a ser
hospedado no Google Code, parte da transição incluiu
a colocação de todas as partes do TinyOS sob uma
nova licença BSD (no SourceForge várias licenças
compatíveis foram utilizadas).
21
ERBASE 2012 - Introdução as Redes de Sensores Sem Fio -
Matheus A.
O que é TinyOS?
O TinyOS é um sistema operacional simples,
gratuito e de código aberto, baseado em
componentes e feito para trabalhar com
Redes de Sensores Sem Fio. O sistema
operacional faz uso de eventos e de um
conjunto de serviços.
Para se aprofundar mais no TinyOS, acesse:
http://docs.tinyos.net/index.php/Main_Page
Ou http://www.tinyos.net
22
ERBASE 2012 - Introdução as Redes de Sensores Sem Fio -
Matheus A.
Linguagem nesC
Programar para TinyOS pode ser um pouco
trabalhoso no início visto que é necessário
aprender uma nova linguagem denominada
nesC, sendo esta uma extensão da linguagem
de programação C. Além de ser uma nova
linguagem, o nesC foi criado incorporando as
características do TinyOS como os conceitos e
modelo de execução, e ainda obedece um
novo paradigma (orientado a eventos).
23
ERBASE 2012 - Introdução as Redes de Sensores Sem Fio -
Matheus A.
Linguagem nesC
Desafios na construção de aplicações para RSSF: Robustez: Assim que a rede for instalada no ambiente, ela deve
permanecer funcionando sem intervenção humana, por mesesou até anos.
Baixo consumo de recursos: Os nós sensores possuem umhardware limitado, e dentro dessa limitação estão inclusas umabaixa quantia de memória RAM e uma bateria com vida útillimitada.
Diversas implementações de serviços: As aplicações devempoder escolher entre múltiplas implementações de serviços,como, por exemplo, roteamento multihop.
Evolução do hardware: O hardware dos nós sensores estãosempre evoluindo; As aplicações e a maioria dos serviçosdevem ser portáveis pelas gerações de hardware.
Adaptabilidade aos requerimentos das aplicações: As aplicaçõestêm diversos requerimentos diferentes em termos de tempo devida, comunicação, sensoriamento, etc.
24
ERBASE 2012 - Introdução as Redes de Sensores Sem Fio -
Matheus A.
nesC – Processo de
Compilação25
ERBASE 2012 - Introdução as Redes de Sensores Sem Fio -
Matheus A.
nesC – Processo de
Compilação26
ERBASE 2012 - Introdução as Redes de Sensores Sem Fio -
Matheus A.
Componentes e Interfaces
O nesC possui dois tipos de componentes,
sendo eles:
Módulos. Componentes que são implementados
com código na linguagem nesC.
Configurações. Componentes que são
implementados pela ligação entre os
componentes.
Interfaces. São componentes que devem ser
implementados nos módulos.
27
ERBASE 2012 - Introdução as Redes de Sensores Sem Fio -
Matheus A.
Instalação do Ambiente de
Desenvolvimento
Para trabalhar com o TinyOS são necessários
basicamente:
O código-fonte do TinyOS
O compilador nesC
O compilador gcc específico para a plataforma de
Hardware
Bibliotecas
28
ERBASE 2012 - Introdução as Redes de Sensores Sem Fio -
Matheus A.
Instalação do Ambiente de
Desenvolvimento
A instalação do ambiente é simples e pode ser realizada seguindo alguns passos:
Antes de tudo deve-se remover qualquer repositório antigo do TinyOS, que por ventura esteja no arquivo /etc/apt/sources.list.
Adicionar o repositório do tinyOS na lista de pacotes do sistema, editando o arquivo sources.list:
cd /etc/apt edit sources.list
Inserir a linha a seguir no final do arquivo sources.list
deb http://tinyos.stanford.edu/tinyos/dists/ubuntu lucid main
29
ERBASE 2012 - Introdução as Redes de Sensores Sem Fio -
Matheus A.
Instalação do Ambiente de
Desenvolvimento
Atualize o conteúdo do gerenciador de pacotes com o comando:
sudo apt-get update
Instale a ultima versão do tinyOS. Neste caso vamos utilizar a ultima versão disponível, a tinyos-2.1.1.
sudo apt-get install tinyos-2.1.1
Aceite o conteúdo das duas permissões, e edite o CLASSPATH do Java com o seguinte comando:
edit /opt/tinyos-2.1.1/tinyos.sh
30
ERBASE 2012 - Introdução as Redes de Sensores Sem Fio -
Matheus A.
Instalação do Ambiente de
Desenvolvimento
Encontre a linha:
export
CLASSPATH=$TOSROOT/support/sdk/java
Troque ela pela seguinte:
export
CLASSPATH=$TOSROOT/support/sdk/java/tin
yos.jar:.
Para concluir, edite o arquivo .bashrc,
fazendo:
edit ~/.bashrc
31
ERBASE 2012 - Introdução as Redes de Sensores Sem Fio -
Matheus A.
Instalação do Ambiente de
Desenvolvimento
No final do arquivo, insira a linha a seguir:
source /opt/tinyos-2.1.1/tinyos.sh
A instalação já está realizada, e deve-se dar
permissão de escrita para a pasta /opt/tinyos-
2.1.1/, com o seguinte comando:
sudo chmod 775 -R ./tinyos-2.1.1/*
Obs.: Onde está escrito edit deve ser
substituído pelo editor de texto a ser utilizado
e de sua preferência, como o VIM ou o GEDIT.
32
ERBASE 2012 - Introdução as Redes de Sensores Sem Fio -
Matheus A.
Simulador TOSSIM
Segundo [RUIZ et al., 2004] o TOSSIM (TinyOSSIMulator) é um simulador para eventos paraRSSF que utilizam o TinyOS. Em vez de compilaro programa para ser utilizado em um nó sensor, oprogramador compila o mesmo para o ambientedo TOSSIM, desta forma podendo executar ocódigo no próprio computador executando oTOSSIM. Desta maneira podendo deputar, testar,e analisar o código gerado em ambientescontrolados. Devido ao TOSSIM ser executado nocomputador, podem ser utilizadas ferramentas dedesenvolvimento para examinar os códigos.
33
ERBASE 2012 - Introdução as Redes de Sensores Sem Fio -
Matheus A.
Desenvolvimento de aplicações
em nesC
Todo programa em nesC é formado por componentes. A seguir estão descritos os principais componentes básicos.
Qualquer aplicação em nesC necessita ao menos dos seguintes arquivos: Makefile
Configuração
Módulo
Cada um destes representa um arquivo, e todos eles estão armazenados no mesmo diretório.
Nome do Arquivo DescriçãoMakefile MakefiletestC.nc Arquivo de ConfiguraçãotestP.nc Arquivo do Módulotest.nc Arquivo de Interfacetest.h Arquivo de Cabeçalho
34
ERBASE 2012 - Introdução as Redes de Sensores Sem Fio -
Matheus A.
Aplicação Blink
No aprendizado da maioria das linguagens deprogramação, sempre se inicia pela aplicaçãomais básica da linguagem, que costuma ser oHello World. No caso da linguagem nesC nãoexiste um Hello World, mas em contrapartidaexiste um programa de teste que se caracterizapor ser o primeiro programa no aprendizado donesC, este programa é o Blink. O conteúdo destaseção é baseado no tutorial disponibilizado nosite do TinyOS(http://docs.tinyos.net/tinywiki/index.php/Getting_Started_with_TinyOS) e baseado no modelo desensor mica2 da empresa Crossbow(http://www.xbow.com) como plataforma dedesenvolvimento.
35
ERBASE 2012 - Introdução as Redes de Sensores Sem Fio -
Matheus A.
Compilando a aplicação
Para realizar o processo de compilação da aplicação de uma aplicação TinyOS é necessário ter instalado o TinyOS como descrito nas seções anteriores, tendo ele instalado, basta ir no diretório da aplicação e fazer uso do comando make. A sintaxe a ser utilizada é make [plataform], sendo plataforma representação do hardware a ser utilizado no sensor. Neste caso está sendo utilizado o modelo de sensor mica2. Logo deve-se compilar da seguinte maneira: make mica2.
36
ERBASE 2012 - Introdução as Redes de Sensores Sem Fio -
Matheus A.
Obrigado
Contatos:
@matheusrn89
Referências
37
ERBASE 2012 - Introdução as Redes de Sensores Sem Fio -
Matheus A.