Você está na página 1de 62

EPOSMote, A Internet das Coisas e os

Sistemas Ciber-fsicos

Arliones Hoeller Jr e Antnio Augusto Frhlich


http://epos.lisha.ufsc.br
ESSE 2012 Natal/RN
8 de novembro de 2012
08/11/2012

ArlionesHoellerJr.(http://www.lisha.ufsc.br/Arliones)

Quem somos ns?

LISHA
Laboratrio de Integrao Software/Hardware
Universidade Federal de Santa Catarina
Florianpolis/SC Brasil
Fundado em 1985

Pesquisa
Sistemas Embarcados
Sistemas Operacionais
Redes de Computadores

08/11/2012

ArlionesHoellerJr.(http://www.lisha.ufsc.br/Arliones)

Agenda

Introduo

Conceitos bsicos de RSSF


Aplicaes
Mdulos de sensoriamento
Sensores e aquisio de dados
Controle de acesso ao meio (MAC)
Sistemas operacionais para RSSF

Paralelo com projetos OpenEPOS e EPOSMote

Exerccios de programao no OpenEPOS

08/11/2012

ArlionesHoellerJr.(http://www.lisha.ufsc.br/Arliones)

Motivao
OpenEPOS
Sistema Operacinal Livre
EPOSMote
Hardware Livre!
Por que?
Custos!
Modularidade!
Objetivos
Preo: menos de R$100,00
Modularidade: mdulos de energia alternativa

http://epos.lisha.ufsc.br

08/11/2012

ArlionesHoellerJr.(http://www.lisha.ufsc.br/Arliones)

Redes de Sensores Sem Fios


Sensoriamento pervasivo
Sensores complexos
Escala microscpica
Baixssimo consumo de energia
Plataformas de Hardware
Microcontrolador
Comunicao de baixa potncia
Mdulo de energia
Sensores diversos

08/11/2012

ArlionesHoellerJr.(http://www.lisha.ufsc.br/Arliones)

Barco Solar

08/11/2012

ArlionesHoellerJr.(http://www.lisha.ufsc.br/Arliones)

Hardware

Consumodeenergia

1,8Ghz
512MBRAM
40~80W

4~16Mhz
4~128KBRAM
<100mW
<10mW

CapacidadeComputacional
08/11/2012

ArlionesHoellerJr.(http://www.lisha.ufsc.br/Arliones)

10

Comunicao

Consumodeenergia

MAN
LAN

PAN

Taxadedados
08/11/2012

ArlionesHoellerJr.(http://www.lisha.ufsc.br/Arliones)

11

Sistemas Operacionais

Platform

EPOS

08/11/2012

Resources
ArlionesHoellerJr.(http://www.lisha.ufsc.br/Arliones)

12

Aplicaes

Plataforma depende de requisitos da aplicao


Demanda de processamento
Comunicao
Alcance, Taxa de dados, MAC, Roteamento
Heterogeneidade

08/11/2012

ArlionesHoellerJr.(http://www.lisha.ufsc.br/Arliones)

13

Classificao de aplicaes
Objetivo Reagir
+ processamento
+ energia
Interao *-1
+ comum
Sensores Gateway

Roteamento
+ energia
+ processamento
Semntica de dados
Leituras individuais
vlidas?
Baseado em eventos
- consumo
- interao

Objetivo Interao

Aplicao

Mobilidade

Espao

Tempo

Monitoramento de habitat

AS

*-1

Resgate em avalanches

AS

*-*

BE

Navegao
08/11/2012

de rob

AS
*-1
CM
ArlionesHoellerJr.(http://www.lisha.ufsc.br/Arliones)

14

Aplicaes no OpenEPOS

08/11/2012

ArlionesHoellerJr.(http://www.lisha.ufsc.br/Arliones)

15

Aplicaes no OpenEPOS
Modelo de programao orientada a objetos
C++
Componentes com interfaces uniformes
Biblioteca de componentes
Abstraes: funcionalidades alto-nvel
Mediadores: acesso uniforme ao hardware
Utilitrios: estruturas de dados e algoritmos
list, queue, random, etc
Compilao
Pelo GCC, sem ferramentas complexas

08/11/2012

ArlionesHoellerJr.(http://www.lisha.ufsc.br/Arliones)

16

Ex. 1: Aplicaes no OpenEPOS


Compilar o OpenEPOS
cd$EPOS&&makeall
Criar arquivo para aplicao em $EPOS/app
Ex.:hello_epos.cc

#include<utility/ostream.h>
__USING_SYS
intmain(){
OStreamcout;
cout<<"HelloEPOS!\n";
}

Compilar aplicao e gerar imagem do sistema


makeAPPLICATION=hello_epos

08/11/2012

ArlionesHoellerJr.(http://www.lisha.ufsc.br/Arliones)

17

Mdulos de sensoriamento
Compostos por quatro componentes principais
processador, rdio, sensores, alimentao
Mdulos de sensoriamento devem apresentar:
dimenses reduzidas
consumo de energia reduzido
Modularidade
canal de comunicao adaptvel

08/11/2012

ArlionesHoellerJr.(http://www.lisha.ufsc.br/Arliones)

18

Requisitos de mdulos (1/4)


Dimenses reduzidas
Instalao no-intrusiva
Viabilizado pela miniaturizao de componentes
eletrnicos
Grande limitao: fonte de alimentao
Baterias so grandes
Tcnicas de captura de energia do ambiente
so maiores ainda!
Painis solares, mini-captadores elicos, etc

08/11/2012

ArlionesHoellerJr.(http://www.lisha.ufsc.br/Arliones)

19

Requisitos de mdulos (2/4)

Tempo de operao durao da bateria


Fator determinante no projeto de hardware
Prioridade para componentes de baixa potncia
e com suporte a gerncia de energia
DVS, DPM, sleep modes, etc
Decises abrem mo de alta capacidade de
processamento e potncia de dispositivos
FreescaleMC13224V

MeshNeticsZigBit

Rx current

22 mA

Tx current

29 mA

Sleep current

0,85 uA

CPU

32 bits @ 24 MHz

RAM

96 KB

Flash

128 KB

08/11/2012
Tamanho

(mm)

9,5 x 9,5

Rx current

19 mA

Tx current

18 mA

Sleep current

6 uA

CPU

8 bits @ 8 MHz

RAM

8 KB

Flash

128 KB

Tamanho
(mm)

xArlionesHoellerJr.(http://www.lisha.ufsc.br/Arliones)
1,2

18,8 x 13,5 x 2
20

Requisitos de mdulos (3/4)

Modularidade
Diferentes aplicaes demandam diferentes
sensores
Hardware no utilizado gera desperdcio
de espao e de energia
Remoo e incluso de componentes facilitada

08/11/2012

ArlionesHoellerJr.(http://www.lisha.ufsc.br/Arliones)

21

Requisitos de mdulos (4/4)

Ampla configurao do canal de comunicao


Transceptor o vilo do consumo de energia
Melhor permanecer desligado sempre que
possvel
Aplicaes
padres de comunicao especficos
beneficiam-se de caractersticas do canal de
comunicao
modulao
MAC
permite controle do consumo de energia sem
comprometer comunicao

08/11/2012

ArlionesHoellerJr.(http://www.lisha.ufsc.br/Arliones)

22

Integrao de componentes

singlepackage

singledie(SoC)
08/11/2012

EPOSMoteII
ArlionesHoellerJr.(http://www.lisha.ufsc.br/Arliones)

EPOSMoteI
23

Comparao dos mdulos


MicaZ

ZigBit

MC13224V

mdulo

single-package

single-die (SoC)

8-bits
ATMega128L

8-bits
ATMega1281v

32-bits ARM7 TDMI

RAM

4 kB

8 kB

96 kB

Flash

128 kB

128 kB

128 kB

Potncia de
transmisso

0 dBm

+3 dBm

+4 dBm

Corrente Tx*

17.4 mA

18 mA

29 mA

Corrente Rx*

19.7 mA

19 mA

22 mA

15 uA

6 uA

0.85 uA

58 x 32 x 7

24 x 13,5 x 2

9,5 x 9,5 x 1,2

$ 144,00 (2005)

$ 18,25

$ 4,50

Mdulo
Encapsulamento
Processador

Corrente sleep
Dimenses (mm)
Preo (USD)

*Correntedrenadaquandooperandonapotnciamximadetransmissoourecepo.

08/11/2012

ArlionesHoellerJr.(http://www.lisha.ufsc.br/Arliones)

24

EPOSMote

Desenvolvido na UFSC LISHA


Objetivos
Desenvolver uma famlia de motes modulares,
configurveis, de custo acessvel e que atenda
s necessidades do LISHA
Servir de plataforma para validao do
OpenEPOS
servios de SO para RSSF
C-MAC: Configurable MAC
HECOPS: localizao baseada em RSSI
Roteamento: ACO + ZRP
Fontes alternativas de energia (energy
harvesting)

08/11/2012

ArlionesHoellerJr.(http://www.lisha.ufsc.br/Arliones)

25

EPOSMote I
MeshNetics ZigBit
8-bits ATMega1281v
128 KB Flash + 8 KB RAM
AT86RF230
-101dBm sensibilidade Rx
+3dBm potncia Tx
IEEE 802.15.4
2.4 Ghz ISM
Sensor SHT-11
Integrado: temperatura e humidade
Digital: SPI

08/11/2012

ArlionesHoellerJr.(http://www.lisha.ufsc.br/Arliones)

26

EPOSMote II
Projeto modular
Interfaces padro
3 mdulos:
Base: CPU + rdio
I/O: sensores
Alimentao: bateria ++
Freescale MC13224v
32-bits ARM7 TDMI
128 KB Flash + 96 KB RAM
Rdio integrado
-96 dBm sensibilidade Rx
+4 dBm potncia Tx
IEEE 802.15.4
2.4 Ghz ISM

08/11/2012

ArlionesHoellerJr.(http://www.lisha.ufsc.br/Arliones)

27

Sensores e aquisio de dados

Sensor
responde estmulos fsicos
luz, temperatura, etc
transmite impulso resultante
corrente, tenso, etc

Normalmente interage com sistema digital


atravs de um ADC (Analog-to-Digital
Converter)
provendo informaes sobre o mundo analgico

08/11/2012

ArlionesHoellerJr.(http://www.lisha.ufsc.br/Arliones)

28

Sinais: interface com o mundo real


O mundo analgico
Computadores digitais so... digitais (e
geralmente binrios)!
Permitir que um processador digital interprete
sinais analgicos (obviamente) importante
udio e vdeo digitais
Telefonia digital
Sensores e atuadores
Converso
Amostras peridicas
Aproximao do valor real

08/11/2012

ArlionesHoellerJr.(http://www.lisha.ufsc.br/Arliones)

29

Tipos de sensores
Analgicos: sistema digital deve ter um ADC
ADC!
Variam resistncia dum material ou corrente
num circuito
Ex.: termistores, foto-diodos, etc
Digitais: ADC integrado ao sensor, dados
enviados digitalmente ao sistema
ON/OFF: chaves, boias, etc
SPI
RS-232 / 485 (UART)
I2C

08/11/2012

ArlionesHoellerJr.(http://www.lisha.ufsc.br/Arliones)

30

Exemplos de sensores (1/4)

Temperatura
Termistores: analgicos
Curva de resistncia (Steinhart-Hart)
ADC/circuito divisor de tenso
SHT-11: digital
Auto-calibrado
SPI
Temperatura +

08/11/2012

humidade

ArlionesHoellerJr.(http://www.lisha.ufsc.br/Arliones)

31

Exemplos de sensores (2/4)

Luz
Foto-resistores e Foto-diodos: analgicos
Curvas de resistncia ou corrente
Ampla gama de frequencias (IR, visvel, UV)
ADC com divisor de tenso ou circuito RC
auxiliar
Diodos so mais precisos

08/11/2012

ArlionesHoellerJr.(http://www.lisha.ufsc.br/Arliones)

32

Exemplos de sensores (3/4)

Luz
TAOS TSL2550: digital
Dois foto-diodos
Um sensvel a IR e luz visvel
Outro sensvel primariamente a IR
Senbilidade equiparada do olho humano
ADC de 12 bits
SMBus (2 fios)
Medies em Lux

08/11/2012

ArlionesHoellerJr.(http://www.lisha.ufsc.br/Arliones)

33

Exemplos de sensores (4/4)


Campo magntico
Honeywell HMC100x: analgicos
Magnetoresistivos
Sada linear ao campo magntico aplicado
Acelerao
ADXL345BCCZ-RL7: digital ou analgico
SPI
Sadas lineares acelerao aplicada

08/11/2012

ArlionesHoellerJr.(http://www.lisha.ufsc.br/Arliones)

34

Abstraes de sensores no EPOS

08/11/2012

ArlionesHoellerJr.(http://www.lisha.ufsc.br/Arliones)

35

Ex. 2: Sensores no OpenEPOS

Criar arquivo para aplicao em $EPOS/app


Ex.:sensor.cc
#include<utility/ostream.h>
#include<sensor.h>
__USING_SYS
intmain(){
OStreamcout;
Temperature_Sensorsensor;
cout<<"Temperature="
<<sensor.sample()
<<"\n";
}

Compilar aplicao e gerar imagem do sistema


makeAPPLICATION=sensor

08/11/2012

ArlionesHoellerJr.(http://www.lisha.ufsc.br/Arliones)

36

MAC: controle de acesso ao meio

Numa RSSF mltiplos ns podem iniciar


transmisses simultaneamente

Meio fsico compartilhado => coliso!

Protocolo que permita mltiplo acesso


necessrio

MAC: Medium Access Control


Algoritmo distribudo que controla o uso do
meio fsico

08/11/2012

ArlionesHoellerJr.(http://www.lisha.ufsc.br/Arliones)

37

Abordagens para MAC


Particionamento de canal: FDMA, TDMA
Divide canal disponvel
Aloca cada diviso para uso exclusivo por um
determinado elemento
Acesso aleatrio: CSMA-CA/CD, ALOHA
H colises
Dependendo do protocolo possvel identificar,
recuperar, evitar colises
Passagem de permisso: Token-Bus/Ring
Coordenao estrita do acesso ao canal
Evita colises
Abordagens hbridas

08/11/2012

ArlionesHoellerJr.(http://www.lisha.ufsc.br/Arliones)

38

MACs para RSSF


Mdulos de RSSF tm recursos limitados
Baixa capacidade de processamento
Baixa potncia de transmisso
Fonte limitada de energia!
MACs precisam
Utilizar rdio de modo eficiente
Minimizar gasto de energia
Para reduzir gasto de energia compromete-se
Latncia
Vazo
Disponibilidade

08/11/2012

ArlionesHoellerJr.(http://www.lisha.ufsc.br/Arliones)

39

MACs para RSSF


Fontes de sobrecusto de energia [Langendoen
and Halkes 2005]
Colises: causam retransmisses
Sobrecusto de controle: pacotes de controle
no carregam informao til
Escuta ociosa (idle listening): ouvir por pacotes
que no foram enviados
Overhearing: receber/ouvir pacotes que no
so destinados ao nodo
Propostas de MAC:
B-MAC, X-MAC, S-MAC, T-MAC, Z-MAC
IEEE 802.15.4

08/11/2012

ArlionesHoellerJr.(http://www.lisha.ufsc.br/Arliones)

40

B-MAC [Polastre et al. 2004]


CSMA
Reconfigurao online
CCA (Clear Channel Assessment)
Reconhecimento de pacotes (ACK)
Tamanho de prembulo
Intervalo entre escutas
Limitaes
Receptores tm que aguardar o final do
prembulo
Overhearing
Resolvidos pelo X-MAC [Buettner et al. 2006]
Estao escondida/exposta!

08/11/2012

ArlionesHoellerJr.(http://www.lisha.ufsc.br/Arliones)

41

Z-MAC [Rhee et al. 2008]


Hbrido: TDMA + CSMA
TDMA como mecanismo primrio
N dono deve iniciar transmisso no incio de
sua fatia de tempo
Se dono no utiliza a fatia, outros ns disputam
o meio com CSMA
Limitao:
Alocao esttica das fatias de tempo

08/11/2012

ArlionesHoellerJr.(http://www.lisha.ufsc.br/Arliones)

42

IEEE 802.15.4 [IEEE CS 2006]


2 perodos distintos: CAP e CFP
CAP: Contention Access Period
CSMA/CA (RTS/CTS) + ACK
CFP: Contention Free Period
Beaconing
GTS: Guaranteed Time Slots

08/11/2012

ArlionesHoellerJr.(http://www.lisha.ufsc.br/Arliones)

MarcoNaeve,EatonCorp.

43

Qual MAC utilizar?

Aplicaes distintas => diferentes requisitos

TaxonomiaparaaplicaesdeRSSF[MottolaandPicco2010]
08/11/2012

ArlionesHoellerJr.(http://www.lisha.ufsc.br/Arliones)

44

Qual MAC utilizar?

Requisitos distintos => diferentes protocolos


Categorias:
Verificao do meio (channel pooling)
Scheduled contention
Baseados em TDMA
Hbrido

Configurable Medium Access Control Protocol


C-MAC
Protocolos especficos para aplicao
Configurabilidade sem prejudicar desempenho
Mquina de estados generalizada com funes
especficas abstradas

08/11/2012

ArlionesHoellerJr.(http://www.lisha.ufsc.br/Arliones)

45

C-MAC

08/11/2012

ArlionesHoellerJr.(http://www.lisha.ufsc.br/Arliones)

46

C-MAC: experimentos

Parmetros de configurao e topologia de rede

Microcontrollerclock
Packetsize
Txpower

1MHz
64bytes
3dBm

Beaconorder

Superframeorder

Dutycycle

08/11/2012

12%

ArlionesHoellerJr.(http://www.lisha.ufsc.br/Arliones)

47

C-MAC: resultados

Uso de memria
Code(bytes)

Data(bytes)

NoCSMACA/ACK

3248

185

NoACK

3572

185

NoCSMACA

3768

202

CSMACA/ACKenabled

4092

202

CSMACA/ACKbeaconsenabled

5344

215

Configuration

Code(bytes)

Data(bytes)

RTT(ms)

CMACIEEE802.15.4

4092

202

79

ZigBeeNetIEEE802.15.4

26776

289

62

Configuration

08/11/2012

ArlionesHoellerJr.(http://www.lisha.ufsc.br/Arliones)

48

C-MAC: concluses

C-MAC est operacional


Configurao no automatizada, mas fcil
Configurabilidade permitida atravs de tcnicas
de metaprogramao esttica

Quo difcil implementar um novo MAC?


Primeiro, o desenvolvedor necessita aprender
como utilizar o framework
Da, isto deve ser bastante direto

08/11/2012

ArlionesHoellerJr.(http://www.lisha.ufsc.br/Arliones)

49

Ex. 3: Rdio no OpenEPOS

Criar arquivo para aplicao em $EPOS/app


Ex.:radio.cc

#include<nic.h>
__USING_SYS
intmain(){
NIC*nic=newNIC();
chartest[4]={'t','e','s','t'};
nic>send(NIC::BROADCAST,1,&test,4);
}

Compilar aplicao e gerar imagem do sistema


makeAPPLICATION=radio

08/11/2012

ArlionesHoellerJr.(http://www.lisha.ufsc.br/Arliones)

50

Sistemas Operacionais para RSSF

SO abstrai HW para aplicaes


Caractersticas do hardware de RSSF
Dimenses reduzidas: diminuir potncia
Baixo consumo de energia:
Ligar apenas o que usado
Desempenho reduzido geralmente aceitvel
Modos de operao de baixo consumo
Modularidade
Hardware bastante heterogneo
Necessidade de abstrair diferenas
arquiteturais

08/11/2012

ArlionesHoellerJr.(http://www.lisha.ufsc.br/Arliones)

51

Sistemas Operacionais para RSSF

Caractersticas do hardware de RSSF (cont.)


Canal de comunicao adaptvel
independente da configurao do canal
funcionalidades bsicas devem ser mantidas
configurao no deve afetar semntica da
aplicao, apenas qualidade

08/11/2012

ArlionesHoellerJr.(http://www.lisha.ufsc.br/Arliones)

52

Sistemas Operacionais para RSSF

Requisitos de SO para RSSF [Wanner and


Frhlich 2008]
Funcionalidade bsica de SO
Gerenciamento do consumo de energia
Reprogramao em campo
Abstrao uniforme de sensores heterogneos
Pilha de protocolos de comunicao
configurvel
Operao sob restrio de recursos

08/11/2012

ArlionesHoellerJr.(http://www.lisha.ufsc.br/Arliones)

53

Funcionalidades bsicas de SO
Abstrao de hardware
Interfaces padro para aplicao (API)
Garantir portabilidade entre plataformas
Gerenciamento de processos
Geralmente no modelo monotarefa, multithread
Escalonamento de tempo real
Gerenciamento de memria
Alocao dinmica com recursos restritos?
Servios de temporizao
Para escalonamento
Tarefas de natureza peridica

08/11/2012

ArlionesHoellerJr.(http://www.lisha.ufsc.br/Arliones)

54

Gerenciamento do consumo
de energia
Bateria
Vida til da rede = vida til da bateria
uma corrente to forte quanto seu elo mais
fraco
Fator limitante no dimensionamento do sistema
Sistema operacional deve
Manter ligados apenas dispositivos necessrios
Complexidade deve ser abstrada da aplicao

08/11/2012

ArlionesHoellerJr.(http://www.lisha.ufsc.br/Arliones)

55

Gerncia de energia no EPOS

08/11/2012

ArlionesHoellerJr.(http://www.lisha.ufsc.br/Arliones)

56

Reprogramao em campo
RSSF
Grande volume de nodos
Em regies inspitas
Requisitos e/ou parmetros de operao
mudam
A reprogramao de uma rede j implantada se
torna essencial!
Prolonga vida til do sistema
Permite a correo de bugs

08/11/2012

ArlionesHoellerJr.(http://www.lisha.ufsc.br/Arliones)

57

Reprogramao em campo (cont.)

A reprogramao deve ser utilizada com cautela


Gera um stall na rede, durante propagao
Rede inoperante durante reprogramao
Ineficincia energtica
Uso excessivo do rdio
Escritas na memria de programa
(EEPROM/Flash)

08/11/2012

ArlionesHoellerJr.(http://www.lisha.ufsc.br/Arliones)

58

ELUS: EPOS Live Update System

Reprogramao atravs da interface de


comunicao
De todo o firmware
De componentes
De funes

08/11/2012

ArlionesHoellerJr.(http://www.lisha.ufsc.br/Arliones)

59

Abstrao uniforme de
sensores heterogneos

Modularidade =>
heterogeneidade
Portabilidade
comprometida
CPU e rdio variam
entre plataformas

Mas sensores variam


muito mais
Interface de acesso
Caractersticas
operacionais
Curvas de resposta

X
08/11/2012

ArlionesHoellerJr.(http://www.lisha.ufsc.br/Arliones)

60

OpenEPOS e EPOSMote abertos

da comunidade!
http://epos.lisha.ufsc.br

Suporte do LISHA
Interesse em melhorar tanto hardware quanto
software
Novos projetos a caminho

08/11/2012

ArlionesHoellerJr.(http://www.lisha.ufsc.br/Arliones)

61

Prdio Solar

08/11/2012

ArlionesHoellerJr.(http://www.lisha.ufsc.br/Arliones)

62

CIA2

Construindo Cidades Inteligentes: da


Instrumentao de Ambientes ao
desenvolvimento de Aplicaes
18 universidades brasileiras

08/11/2012

ArlionesHoellerJr.(http://www.lisha.ufsc.br/Arliones)

63

Vamos programar um pouco?

Abram $EPOS/app/mc13224v_app.cc
Vamos modific-lo
Implementar novo protocolo
Mensagem

Layout

Temperatura

<NODE=0x0?> + <ID=0x00> + <16 bits>

Nvel de bateria

<NODE=0x0?> + <ID=0x01> + <16 bits>

Utilizar 2 Periodic_Threads
1 informando temperatura a cada 2s
1 informando nvel de bateria a cada

08/11/2012

ArlionesHoellerJr.(http://www.lisha.ufsc.br/Arliones)

5s

64

Concluindo

EPOS e EPOSMote
Plataforma aberta para RSSF
Sistema Operacional baseado em componentes
Hardware de sensoriamento IEEE 802.15.4
modular

Vistem nosso site, usem e contribuam!


http://epos.lisha.ufsc.br

Obrigado!
08/11/2012

ArlionesHoellerJr.(http://www.lisha.ufsc.br/Arliones)

65

Você também pode gostar