introdução as redes de sensores sem fio

37
INTRODUÇÃO ÀS REDES DE SENSORES SEM FIO Instrutor: Matheus Araújo 2012

Upload: matheus-araujo

Post on 10-Jul-2015

2.072 views

Category:

Technology


0 download

DESCRIPTION

Slides do Minicurso de Introdução às Redes de Sensores Sem Fio, apresentado durante o ERBASE 2012 em Juazeiro na Bahia.

TRANSCRIPT

Page 1: Introdução as Redes de Sensores Sem Fio

INTRODUÇÃO ÀS

REDES DE SENSORES

SEM FIO

Instrutor: Matheus Araújo

ER

BA

SE

20

12

Page 2: Introdução as Redes de Sensores Sem Fio

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.

Page 3: Introdução as Redes de Sensores Sem Fio

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.

Page 4: Introdução as Redes de Sensores Sem Fio

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.

Page 5: Introdução as Redes de Sensores Sem Fio

Hardware Básico dos nós

sensores5

ERBASE 2012 - Introdução as Redes de Sensores Sem Fio -

Matheus A.

Page 6: Introdução as Redes de Sensores Sem Fio

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.

Page 7: Introdução as Redes de Sensores Sem Fio

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.

Page 8: Introdução as Redes de Sensores Sem Fio

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.

Page 9: Introdução as Redes de Sensores Sem Fio

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.

Page 10: Introdução as Redes de Sensores Sem Fio

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.

Page 11: Introdução as Redes de Sensores Sem Fio

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.

Page 12: Introdução as Redes de Sensores Sem Fio

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.

Page 13: Introdução as Redes de Sensores Sem Fio

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.

Page 14: Introdução as Redes de Sensores Sem Fio

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.

Page 15: Introdução as Redes de Sensores Sem Fio

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.

Page 16: Introdução as Redes de Sensores Sem Fio

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.

Page 17: Introdução as Redes de Sensores Sem Fio

Pilha de Protocolos das RSSF17

ERBASE 2012 - Introdução as Redes de Sensores Sem Fio -

Matheus A.

Page 18: Introdução as Redes de Sensores Sem Fio

Á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.

Page 19: Introdução as Redes de Sensores Sem Fio

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.

Page 20: Introdução as Redes de Sensores Sem Fio

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.

Page 21: Introdução as Redes de Sensores Sem Fio

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.

Page 22: Introdução as Redes de Sensores Sem Fio

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.

Page 23: Introdução as Redes de Sensores Sem Fio

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.

Page 24: Introdução as Redes de Sensores Sem Fio

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.

Page 25: Introdução as Redes de Sensores Sem Fio

nesC – Processo de

Compilação25

ERBASE 2012 - Introdução as Redes de Sensores Sem Fio -

Matheus A.

Page 26: Introdução as Redes de Sensores Sem Fio

nesC – Processo de

Compilação26

ERBASE 2012 - Introdução as Redes de Sensores Sem Fio -

Matheus A.

Page 27: Introdução as Redes de Sensores Sem Fio

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.

Page 28: Introdução as Redes de Sensores Sem Fio

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.

Page 29: Introdução as Redes de Sensores Sem Fio

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.

Page 30: Introdução as Redes de Sensores Sem Fio

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.

Page 31: Introdução as Redes de Sensores Sem Fio

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.

Page 32: Introdução as Redes de Sensores Sem Fio

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.

Page 33: Introdução as Redes de Sensores Sem Fio

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.

Page 34: Introdução as Redes de Sensores Sem Fio

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.

Page 35: Introdução as Redes de Sensores Sem Fio

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.

Page 36: Introdução as Redes de Sensores Sem Fio

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.

Page 37: Introdução as Redes de Sensores Sem Fio

Obrigado

Contatos:

@matheusrn89

Referências

37

ERBASE 2012 - Introdução as Redes de Sensores Sem Fio -

Matheus A.