Embedded Systems e IoT: do baremetal à comunicação wireless segura. Pedro Bertoleti

Documentos relacionados
INTERFACE PARALELA. Área: Eletrônica Nível de conhecimento necessário: básico. Autor:

Data Sheet FBEE Kit V05

Curso de Sistemas de Informação 8º período Disciplina: Tópicos Especiais Professor: José Maurício S. Pinheiro V

Sistemas Distribuídos Capítulo 4 - Aula 5

FIQUE POR DENTRO DA INTERNET

- Campus Salto. Disciplina: Sistemas de Arquivos Docente: Fernando Santorsula

INTEGRAÇÃO JAVA COM ARDUINO

DESVENDADO O TCP/IP. Prof. Me. Hélio Esperidião

DISPOSITIVOS OPTOELETRÔNICOS Leds e Fotodiodos

Arquitetura de Computadores - Módulos de E/S. por Helcio Wagner da Silva

PROTÓTIPO DE SISTEMA DE CAPTURA DE DADOS MULTIPONTO WIRELESS PARA CONTROLE DE CONSUMO DE ÁGUA

Use o Menu Configuração para configurar diversos recursos da impressora. Selecione um item de menu para obter mais detalhes:

Introdução. Hardware (Parte III) Universidade Federal de Campina Grande Departamento de Sistemas e Computação. joseana@computacao.ufcg.edu.

O Sistema de Computação

OpenPDV: Sistema aberto para gerenciamento de restaurantes

Prof. Adilson Gonzaga. Interface com Displays

PONTIFÍCIA UNIVERSIDADE CATÓLICA DO PARANÁ CENTRO DE CIÊNCIAS EXATAS E TECNOLÓGICAS ENGENHARIA DA COMPUTAÇÃO SMARTGATE

Calor Específico. 1. Introdução

Use o Menu Configuração para configurar diversos recursos da impressora. Selecione um item de menu para obter mais detalhes:

FDCIO181-1 Módulo de entrada/saída Manual do Produto

MEDIDOR E MONITOR DE VAZÃO CALORIMÉTRICO

A B C D E F G H I J K L M N O P Q R S T U V W X Y Z

PAINEL DE ALARME MONITORÁVEL ACTIVE CENTER

BARRAMENTOS DE MICROCOMPUTADORES

Sistemas Embarcados:

CRONÔMETRO DIGITAL PROJETO

Arquitetura e Organização de Computadores

EMENTA. Curso de Projetos Microcontrolados utilizando Linguagem C.

Exercícios de Revisão Redes de Computadores Edgard Jamhour. SSL, VPN PPTP e IPsec

Direto. ao Ponto. Comunicação Inverter Protocol entre PLC FX e Inversor Série 700 N o. DAP-PLCFX-05. Rev. A

Telemetria para Aeromodelos

Aula 2 Projetos Mecatrônicos Visão Geral. Prof a. Michelle Mendes Santos

Sistemas Operacionais. Entrada e Saída. Edeyson Andrade Gomes.

TOKEN RING & TOKEN BUS

ONE TOONE CURSOS PARTICULARES ADOBE ACROBAT DC

SensorBlue Apresentação Técnica / Licenças / Preços

Microcontroladores XM 853 -

Lista 4 Introdução à Programação Entregar até 07/05/2012

Sistemas Digitais II. Interface com o mundo analógico. Prof. Marlon Henrique Teixeira Abril/2014

Voltar. Voltar. Voltar

ESPECIFICAÇÕES TÉCNICAS SISTEMA DE DETECÇÃO VEICULAR OVERHEAD

Guia de Instalação do Adaptador N150 Wireless Micro USB WNA1000M

GUIA DE INSTALAÇÃO MULTIBIO 700

CONFIGURANDO SERVIDOR SAT SS-1000

Arquiteturas para Sistemas Distribuídos I

Interface com Displays de 7 Segmentos. Interface com Displays

Hytronic Automação Ltda.

3.1 - Topologias de cablagem

SISTEMA OPERACIONAL - ios

Guia Rápido de Instalação

ELIPSE POWER AUTOMATIZA A SUBESTAÇÃO PADRE FIALHO DA ENERGISA

TDR-500 Transmissor de temperatura microprocessado USB 4~20mA

Aparelhos de medida. São sete as unidades de base do SI, dimensionalmente independentes entre si, definidas para as

NORMA PARA CERTIFICAÇÃO E HOMOLOGAÇÃO DE TERMINAL DE ACESSO PÚBLICO

Credenciamento. e manual de instalação Magento. Credenciamento. Configurações

PROTOCOLO DE COMUNICAÇÃO 5

Internet das Coisas com Intel A3 Métodos de programação.

Arquitetura TCP/IP. Apresentado por: Ricardo Quintão

Características. Conteúdo. Ligações. Tabela de Revisões

Resistência térmica de contato

Engenharia de Software. Ciclos de Vida do Software. 1. Sistemas

Concurso Público para Cargos Técnico-Administrativos em Educação UNIFEI 13/06/2010

Funções para limitação de velocidade do veículo

3 Redes de Comunicação 3.1. SDH Hierarquia Digital Síncrona

Manutenção total aplicada em ferramentarias

Protótipo de um túnel de vento com Controle de Vazão e Temperatura em ambiente LabVIEW

Prova de Valor (SIB)

CURSO DE MOLDES EM MÓDULOS OU COMPLETO

BC1424 Algoritmos e Estruturas de Dados I Aula 02: Ponteiros, estruturas e alocação de memória

AVALIAÇÃO DE DESEMPENHO OPERACIONAL DO PRIMEIRO SISTEMA FOTOVOLTAICO CONECTADO À REDE ELÉTRICA E INTEGRADO À EDIFICAÇÃO DA AMAZÔNIA BRASILEIRA

ANEXO TÉCNICO REQUERIMENTOS DE INFRAESTRUTURA BEMATECH GEMCO NFC-e

HARDWARE. Prof. Luciano Bertini

Família de Microcontroladores AVR

FAQ Extratos Eletrônicos. FAQ Extratos Eletrônicos

Luzes de sinalização comunicativas

PROTEÇÃO NA ORIGEM Vantagens do começo ao fim CARLOS EDUARDO SANTOS

Atualização do Cartão Nacional de Saúde para o Siscan


Glossário de Aprendizagem Motora

Conceitos de Segurança

Painel Gráfico No-Break Conception Multi Ativo Innovation

Informática Aplicada

ESTAÇÃO DE COLETA DE DADOS AMBIENTAIS ON-LINE BASEADA NO MICROCONTROLADOR ESP8266

1. MODELO DE DECLARAÇÃO ABASTECIMENTO DE ÁGUA PREFEITURA MUNICIPAL MACAÉ AGÊNCIA MUNICIPAL DE VIGILÂNCIA SANITÁRIA DEPARTAMENTO DE ARQUITETURA

ELETRÔNICA DIGITAL. Parte 6 Display, Decodificadores e Codificadores. Prof.: Michael. 1 Prof. Michael

BARRAMENTO. Caminho de Dados

Emax 2 O Disjuntor Aberto Inteligente de Baixa Tensão Acessório: Bobina de abertura e fechamento YO / YC / YO2 / YC2

Matriz de Compatibilidade de Segurança da Camada 2 e Camada 3 do Controller de LAN Wireless

ELETRICIDADE INDUSTRIAL. Professor: Robson Vilela

EFICIENERGY EDIFÍCIOS EFICIENTES

BOLETIM TÉCNICO MAGNETI MARELLI BY TEXA

Dimensionamento de um sistema fotovoltaico. Fontes alternativas de energia - dimensionamento de um sistema fotovoltaico 1

Rastreador RST - VT. Configuração de Hodômetro

Transcrição:

Embedded Systems e IoT: do baremetal à comunicação wireless segura Pedro Bertoleti

Pedro Bertoleti Engenheiro eletricista Mais de 10 anos de experiência em Dev (incluindo sistemas embarcados) Engenheiro de firmware na Toledo do Brasil Ind. de Balanças Articulista do portal Embarcados (www.embarcados.com.br)

Pedro Bertoleti Áreas de interesse: Sistemas embarcados bare-metal Sensoriamento remoto IoT

Tópicos desta palestra IoT e sensoriamento remoto Bare-metal no sensoriamento remoto O papel da Central / nó IoT Projeto-exemplo: arquitetura Projeto-exemplo: aquisição de dados Projeto-exemplo: publicação de dados Projeto-exemplo: segurança (hardware e software) Demonstração

IoT = tudo conectado a tudo!

IoT Então, porque não monitorar tudo, tonando nossas cidades e vidas mais inteligentes?

IoT e sensoriamento remoto Para isso, é preciso sensoriar / medir tudo o que for possível!

Caminho: Do bare-metal a IoT Internet??

IoT e sensoriamento remoto Objetivos: 1) Qualidade de vida: monitorar grandezas de grande relevância financeira e ambiental Exemplos: consumo de água, consumo de energia elétrica, poluição sonora, poluição atmosférica, etc. 2) Motivo comercial: formar uma base de dados para traçar comportamentos e tendências do consumidor Exemplo: obter hora de pico de consumo de água e energia elétrica e suas variáveis relacionadas (temperatura ambiente, níveis de chuva, período do ano,...) para, assim, conseguir melhor tarifar o uso destes recursos.

IoT e sensoriamento remoto Como fazer?

Bare-metal no sensoriamento remoto Internet Bare Metal?

Bare-metal no sensoriamento remoto O que é bare-metal? Modalidade de software embarcado na raça (sem S.O.) Linguagens envolvidas: C e Assembly (eventualmente C++) Usa o microcontrolador em baixo nível Permite a maior performance de um software embarcado Nesta camada, trabalha um desenvolvedor com maior experiência de back-end

Bare-metal no sensoriamento remoto Por que utilizar? Exige um microcontrolador com menos recursos Permite uso de microcontroladores mais baratos (principalmente quanto a economia em memória Flash). Lida muito bem com grande número de interrupções sem comprometer performance final Maior número de proteções de software e hardware aplicáveis Brown-out detection, Watchdog, saber o exato motivo de um reset, etc. Permite maior eficiência na comunicação com sensores (comunicação com periféicos de forma direta) Funcionamento mais rápido e ágil. Software embarcado dedicado à sua aplicação Modalidade de software embarcado compatível com qualquer microcontrolador do mercado

Bare-metal no sensoriamento remoto Em suma: Permite o desenvolvimento de um software altamente robusto Permite uso de um hardware mais modesto Tem excelente performance e confiabilidade Bare-metal: sistema projetado para ser ligado e esquecido (manutenção zero)

O papel da Central / nó IoT Internet Bare Metal Central / Nó

Foi visto que: O papel da Central / nó IoT Fazer sensoriamento remoto é relevante tanto comercialmente quanto para aumento da qualidade de vida O sensoriamento começa no bare-metal Mas, e para enviar estes dados para a Internet? O que fazer? Qual é o elo faltante?

Central / nó IoT Nesta camada, o uso de um sistema operacional é bem vindo Por baixo peço e alta disponibilidade de hardwares compatíveis e preço nulo de licença de uso, o Linux e suas distribuições mais compactas representa a maior parcela de S.O. embarcado. A central / nó IoT é capaz de se comunicar com sistemas bare-metal E comunicar-se com a Internet. É responsável por disponibilizar os dados lidos para a Internet de forma adequada.

Central / nó IoT Aqui, trabalha um desenvolvedor com maior experiência de front-end Nesta camada, fala-se em IoT e derivados: MQTT, HTTP, Socket Connection, 3G/HSPDA/4G, etc. Pode ser ou não headless

Projeto-exemplo Internet Consumo e fluxo de água Luminosidade Bare Metal Central / Nó Temperatura

Projeto-exemplo: arquitetura Consumo e fluxo de água Bare-metal Luminosidade Bare-metal Central-nó / IoT Internet Temperatura Bare-metal Rede de sensoriamento com topologia em estrela

Projeto-exemplo: arquitetura Protocolo de comunicação dos dispositivos sensores e central / nó IoT [STX] [ENDEREÇO] [OPCODE] [TAMANHO] [CHECK-SUM] [BUFFER] 0x02 1 byte 1 byte 1 byte 1 byte Max. 255 bytes Onde o Checksum é calculado por: Checksum = (~SomaDeTodosOsBytes) + 1 Os dados sempre são requisitados pela central IoT (ou seja, os módulos bare-metal funcionam sob demanda) Cada dispositivo de sensoriamento (bare-metal) possui um endereço Dispositivo Medidor de água Medidor de luminosidade Medidor de temperatura Endereço 0x01 0x02 0x03 Iternet

Projeto-exemplo: arquitetura O sistema bare-metal comunica-se com a central IoT via ZigBEE (comunicação wireless), usando a encriptação AES 128-bit do próprio chip XBEE. A central IoT comunica-se com a Internet via MQTT, com payload encriptado em uma criptografia simétrica desenvolvida por mim. Iternet

Projeto-exemplo: aquisição de dados - Medidor de água: calibração Conta os pulsos Sinal do sensor de água Microcontrolador Início Fim Volume de controle vazio Iternet Volume de controle cheio

Projeto-exemplo: aquisição de dados - Medidor de água: uso Microcontrolador Sinal do sensor de água 1- Conta os pulsos 2- Converte número de pulsos contados em volume 3- Calcula medições

Projeto-exemplo: aquisição de dados - Medidor de luminosidade: uso LDR (sensor de luminosidade) Sinal do sensor de luminosidade Microcontrolador Converte leitura analógica em uma leitura relativa da luminosidade, capaz de dizer se é dia ou noite.

Projeto-exemplo: aquisição de dados - Medidor de temperatura: uso Protocolo de comunicação síncrono Microcontrolador Conversa (através de um protocolo proprietário) com o sensor e obtém o valor da temperatura medida.

Projeto-exemplo: publicação de dados - A central IoT publica os dados para o mundo exterior via MQTT - O payload é criptografado via criptografia proprietária - Os dados enviados ao Broker são, necessariamente, interpretáveis somente por quem possui a chave certa de criptografia. - No exemplo em questão, há uma maneira de modificar, quando desejado, a chave de criptografia

Dispositivos finais devem conhecer a chave para entender a infromação Projeto-exemplo: publicação de dados Centralnó / IoT Payload MQTT (payload criptografado) Internet Criptografia simétrica proprietária MQTT

Projeto-exemplo: segurança Software - Criptografia do payload (MQTT e da rede sensorial), com chave conhecida somente pelos elementos da comunicação (quem envia e quem recebe). Isso minimiza as chances de burlar a comunicação com sensores e com broker, garantindo que somente as partes interessadas terão acesso aos dados - Os microcontroladores devem ter proteção contra leitura de código. - A central IoT deve ter acesso restrito (atenção a senha de acesso root e sempre bloquear acesso via terminal serial / USB CDC nas placas de produção!!!)

Projeto-exemplo: segurança Hardware - Não utilizar cartões SD para imagem do sistema da central-iot. Utilizar EMC (equivalentes a memórias flash soldadas na placa). - Após gravação dos softwares (seja no lado bare-metal ou central-iot), colocar resina sobre os circuitos integrados principais (microcontroladores e memórias-flash) - Somente colocar identificação de pontos de prova estitamente necessários (alimentação, por exemplo). - Pintar a superfície dos circuitos integrados restantes (para dificultar identificação dos mesmos por alguém que queira clonar o hardware) - Na etapa de produção, retirar todas as interfaces seriais de comunicação e debug utilizadas no desenvolvimento. - Utilizar cases prensados para comportar as placas

Demonstração Acesse agora o site da demonstração!! http://www.pjapps.qlix.com.br/qconsp2016/ Iternet

Download / colaboração do projeto GitHub: https://github.com/phfbertoleti/projetoqcon2016 Iternet

Final da palestra Muito obrigado pela presença! Facebook.com/pedro.bertoleti @pedro_bertoleti Pedro Bertoleti Iternet In embedded we trust!