Palestra Plataforma Radiuino #TDC2012 Floripa
-
Upload
omar-branquinho -
Category
Technology
-
view
481 -
download
1
description
Transcript of Palestra Plataforma Radiuino #TDC2012 Floripa
RF + Arduino
Omar Ferroni Branquinho @omarfb
omarfb.wordpress.com.br
Radiuino – All Rights Reserved 2011
www.radiuino.cc Internet of Things
Radiuino – All Rights Reserved 2011
www.radiuino.cc O que significa IoT?
3
Fonte: http://blogs.cisco.com/news/the-internet-of-things-infographic/ (Cisco)
Radiuino – All Rights Reserved 2011
www.radiuino.cc
Mas, o que é uma Rede de Sensores Sem Fio?
“(...) consiste de sensores autônomos espacialmente distribuídos para monitorar condições físicas ou ambientais (...) e cooperativamente transmitir os dados da rede para um local principal.”
Wikipedia
Radiuino – All Rights Reserved 2011
www.radiuino.cc Arquitetura Básica
• Vários sensores
• Dados escoam para um gateway
• Novos paradigmas de comunicação
Radiuino – All Rights Reserved 2011
www.radiuino.cc O que é um sensor?
Radiuino – All Rights Reserved 2011
www.radiuino.cc Nem tudo são flores...
• Problemas na utilização de kits de comunicação utilizando RF para Redes de Sensores – Pouca flexibilidade
– Desempenho fraco
– Alto custo
• Falta de controle de funcionamento da rede – Gerência de rede por conta do fabricante
• Pouca possibilidade de expansão das plataformas antigas
7
Radiuino – All Rights Reserved 2011
www.radiuino.cc
8
IDEs de Arrepiar!
Radiuino – All Rights Reserved 2011
www.radiuino.cc Então faça-se o Radiuino
• Plataforma Open Source para RSSF
• Hospedada no Sourceforge.net
– http://www.sourceforge.net/p/radiuino
• Em busca de colaboradores para
– Manutenção da plataforma
– Inclusão de novas features
• Acesse: www.radiuino.cc
9
Radiuino – All Rights Reserved 2011
www.radiuino.cc
10
Objetivos da Plataforma Radiuino
Facilidade de implementação
Arquitetura robusta
Hardware de baixo custo
Customização de hardware
Firmware estruturado
Integração com a Internet
Radiuino – All Rights Reserved 2011
www.radiuino.cc Sobre a plataforma
• Utiliza o mesmo IDE do Arduino;
• Desenvolvimento de firmware específico para atender as necessidades de rede de sensores;
• Criação de bibliotecas específicas;
• A proposta é facilidade de utilização para formação de rede de sensores;
• Distribuição de firmware por aplicação
• Na versão disponível a camada física utiliza o CC1101
• Capacidade de implementar as funções da pilha de protocolo para investigação e ensino
11
Radiuino – All Rights Reserved 2011
www.radiuino.cc Diagrama em Blocos
12
Sensor Base Computador USB
• Configuração básica – Computador, mas pode ser Web também
– Uma base conectada via USB a um computador ou Ethernet para ligar em rede
– Um sensor: • Transceptor
• Microcontrolador
• Transdutores
• Atuadores
• Bateria
Request
Answer
Radiuino – All Rights Reserved 2011
www.radiuino.cc Divisão da plataforma
• Padronizado e de baixo custo Hardware
• Estruturação de pilha de protocolos Firmware
• Integração de plataforma Software
Radiuino – All Rights Reserved 2011
www.radiuino.cc Arduino e redes sem fio
• Hardwares que englobam apenas a parte de Rádio
• Hardwares que incluem o Rádio e o microcontrolador
Chinês Feito no Brasil
Radiuino – All Rights Reserved 2011
www.radiuino.cc BE900
15
• Módulo desenvolvido para ser compatível com a plataforma Arduino
• Opção de utilizar conector SMA para ligar antena externa
• Baixo custo e possibilita desenvolvimento de aplicações
• Fabricante: www.radioit.com.br
• Atende especificações para certificação pela ANATEL
• Pino compatível TX/RX e alimentação com XBee
Microcontrolador
• Atmega368 (8 bits, 8 MHZ)
• 32k Flash
• 512 EEPROM
• 1k RAM
Transceptor
• CC1101
• 915MHz
• Potência TX 10dBm
• Excelente Sensibilidade
• Diferentes Modulações
• Mudança da Taxa
Radiuino – All Rights Reserved 2011
www.radiuino.cc Hardware
• Hardware:
– Microcontroladores AVR Atmel
– Circuito de RF CC1101 Texas Instruments
– Placas de adaptação e kits de desenvolvimento
Sensor e Base do início do projeto
Radiuino – All Rights Reserved 2011
www.radiuino.cc Placas de Aplicação
• Para exemplificar a utilização da plataforma foi desenvolvida uma aplicação com os seguintes elementos no sensor: – Um relé
– Um LDR
– Um Led
– Um transdutor de temperatura
17
Radiuino – All Rights Reserved 2011
www.radiuino.cc “Tecniquês”
18
PHY
MAC (Enlace)
NET
TRANSP
APP Funções ligadas ao desenvolvimento das aplicações diretamente, como medidas de grandezas e controle de processos.
Funções de controle da comunicação como ACK, contagem de pacotes, disciplina de transmissão.
Identificação do sensor e rede contemplando funções para tratamento de roteamento de pacotes na rede.
Funções para controlar os processos de recepção e principalmente transmissão. Política de economia de energia.
Funções relacionadas com a parte de rádio como: potência, canal. Possível evoluir para alterar outras características do rádio.
Radiuino – All Rights Reserved 2011
www.radiuino.cc Pilha Radiuino
19
Radiuino
CC1101 ou outra interface rádio
Radiuino – All Rights Reserved 2011
www.radiuino.cc Mapa do Pacote
20
• Frame com 52 bytes
– Phy – 4 bytes
– MAC – 4 bytes
– Net – 4 bytes
– Transporte – 4 bytes
– Seis AD com 3 bytes cada um
– Seis I/O com 3 bytes cada um
Phy MAC Net Transp
RSSI_DLINK LQI_DLINK
RSSI_ULINK
LQI_UPLINK TBD TBD TBD TBD DST_ID DST_NID SRC_ID SRC_NID COUNT TBD TBD TBD
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
AD0 AD1 AD2 AD3 AD4 AD5
AD0_W AD0_H AD0_L AD1_W AD1_H AD1_L AD2_W AD2_H AD2_L AD3_W AD3_H AD3_L AD4_W AD4_H AD4_L AD5_W AD5_H AD5_L
16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33
IO0 IO1 IO2 IO3 IO4 IO5
IO0_W IO0_H IO0_L IO1_W IO1_H IO1_L IO2_W IO2_H IO2_L IO3_W IO3_H IO3_L IO4_W IO4_H IO4_L IO5_W IO5_H IO5_L
34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51
Radiuino – All Rights Reserved 2011
www.radiuino.cc Desenvolvimento de Projeto
• Pense primeiro na aplicação
• Projeto do hardware
• Projeto do firmware
• Desenvolvimento do Software
21
Radiuino – All Rights Reserved 2011
www.radiuino.cc Pacote
• O Headers.h define a composição do pacote
• O pacote tem 52 bytes sendo composto das seguintes partes:
– Física
– MAC
– Rede
– Transporte
– Aplicação • AD
• IO
22
Radiuino – All Rights Reserved 2011
www.radiuino.cc Código da Base
• Abrir o arduino e dentro do Arduino abrir o código da base;
• Vão existir as seguintes abas – Radiuino_Base
– Headers.h
– _1_Phy
– _2_MAC
– _3_Net
• No IDE (Integrated Development Environment) do Arduino vai ficar como abaixo.
23
Radiuino – All Rights Reserved 2011
www.radiuino.cc Base
• A base possui somente três camadas uma vez que não se espera que seja feita nenhuma aplicação na base;
• Sua função é fazer a ligação dos dados da interface USB ligada no computador com o sensor e vice versa;
• Os parâmetros a serem ajustados na base:
– Camada Phy • Potência
• Canal
– Camada MAC • Nenhum parâmetro específica para esta versão, já é default ponto multi ponto
– Camada Net • Endereço da base
– Conexão USB • Taxa da serial
24
Radiuino – All Rights Reserved 2011
www.radiuino.cc Parâmetros da Phy da base
25
Radiuino – All Rights Reserved 2011
www.radiuino.cc MAC da Base
• A base não possui nenhuma função adicional na MAC
• Na versão inicial do Radiuino não está previsto que a base tenha autonomia quanto a comunicação com o sensor
• Observar as funções previstas em cada camada: – Construtor que instancio objeto
– Inicialização
– Envio
– Recebimento
26
Radiuino – All Rights Reserved 2011
www.radiuino.cc Camada Net
• Endereço da base é a única informação da camada Net nesta versão 1.1
27
Radiuino – All Rights Reserved 2011
www.radiuino.cc Código do Sensor
• No sensor são implementadas as 5 camadas
– Phy
• Potência
• Canal
– MAC • Nenhum parâmetro de ajuste nesta versão
– Net • Endereço do sensor
– Transporte • Contador de pacotes
– Aplicação • Acionamento de relés e medidas de temperatura e luminosidade
28
Radiuino – All Rights Reserved 2011
www.radiuino.cc Pinagem Arduino x RFBee
Correspondência dos Pinos Arduino e RFBee
Função Pino Arduino BE900 Número do Pino BE900
ADC
AD0_PIN 0 PC0 15
AD1_PIN 1 PC1 13
AD2_PIN 2 PC2 12
AD3_PIN 3 PC3 11
AD4_PIN 4 PC4 20
AD5_PIN 5 PC5 19
IO
IO0_PIN 4 PD4 4
IO1_PIN 5 PD5 17
IO2_PIN 6 PD6 18
IO3_PIN 7 PD7 8
IO4_PIN 8 PB0 7
IO5_PIN 9 PB1 6
Serial TX 1DIO TX 2
RX 0DIO RX 3
29
Radiuino – All Rights Reserved 2011
www.radiuino.cc
Firmware da Aplicação no Sensor
• Definição dos pinos da mesma forma como é feito no Arduino
• Definição da função dos pinos
30
Radiuino – All Rights Reserved 2011
www.radiuino.cc Acionar LED e Relé
• Observar a facilidade de ligar ou desligar o led ou o relé
• O código é bastante simples bastando avaliar a posição do IO desejado se está 1 para ligar e 0 para desligar.
31
Radiuino – All Rights Reserved 2011
www.radiuino.cc Leitura do AD e Transmissão
• Leitura do AD é feita da mesma forma que no Arduino
• São 3 bytes: o primeiro é o tipo do sensor e outros dois o valor em dois bytes
• Para transmitir o pacote
32
Radiuino – All Rights Reserved 2011
www.radiuino.cc Software
• Docklight
• Python – Requisição
– Controle e requisição
• Java customizado
• C# (Novo!!!)
• ScadaBR
• HTTP
• SNMP
Radiuino – All Rights Reserved 2011
www.radiuino.cc Pacote montado no Docklight
34
ID Sensor
Liga Relé Liga Led
Radiuino – All Rights Reserved 2011
www.radiuino.cc Python
35
Radiuino – All Rights Reserved 2011
www.radiuino.cc Acionar Relé e Led
36
Radiuino – All Rights Reserved 2011
www.radiuino.cc Temperatura e Luminosidade
37
Radiuino – All Rights Reserved 2011
www.radiuino.cc Conheça!
38
Radiuino – All Rights Reserved 2011
www.radiuino.cc Colabore!
39
Radiuino – All Rights Reserved 2011
www.radiuino.cc Aplicação C#
40
Versão BETA ;)
Radiuino – All Rights Reserved 2011
www.radiuino.cc Gateway WiFi
41
Radiuino – All Rights Reserved 2011
www.radiuino.cc
42
ScadaBR - Radiuino
Radiuino – All Rights Reserved 2011
www.radiuino.cc
43
Aplicação REAL
Radiuino – All Rights Reserved 2011
www.radiuino.cc Quem fabrica?
44
www.spreadcom.com.br
Radiuino – All Rights Reserved 2011
www.radiuino.cc Onde Comprar?
45
www.robocore.net
www.radioit.com.br
Radiuino – All Rights Reserved 2011
www.radiuino.cc
46
Obrigado!
Omar Ferroni Branquinho www.radiuino.cc
@omarfb