Introduçao à Internet das Coisas com AWS IoT

51
© 2016, Amazon Web Services, Inc. or its Affiliates. All rights reserved. David Reis | Arquiteto de Soluções Eduardo Horai | Gerente Sr. Arquitetura de Soluções 02-Junho-2016 Introdução à Internet das Coisas com AWS IoT

Transcript of Introduçao à Internet das Coisas com AWS IoT

Page 1: Introduçao à Internet das Coisas com AWS IoT

© 2016, Amazon Web Services, Inc. or its Affiliates. All rights reserved.

David Reis | Arquiteto de Soluções

Eduardo Horai | Gerente Sr. Arquitetura de Soluções

02-Junho-2016

Introdução à Internet das Coisas

com AWS IoT

Page 2: Introduçao à Internet das Coisas com AWS IoT

A “Internet das Coisas”

(plural)

Page 3: Introduçao à Internet das Coisas com AWS IoT
Page 4: Introduçao à Internet das Coisas com AWS IoT

Coisas NÃO são recursos estáticos

Page 5: Introduçao à Internet das Coisas com AWS IoT
Page 6: Introduçao à Internet das Coisas com AWS IoT
Page 7: Introduçao à Internet das Coisas com AWS IoT
Page 8: Introduçao à Internet das Coisas com AWS IoT

O cliente tem várias identidades

Page 9: Introduçao à Internet das Coisas com AWS IoT
Page 10: Introduçao à Internet das Coisas com AWS IoT
Page 11: Introduçao à Internet das Coisas com AWS IoT

A casa é a empresa de alguém

Page 12: Introduçao à Internet das Coisas com AWS IoT
Page 13: Introduçao à Internet das Coisas com AWS IoT

Demo

http://bit.ly/iotawssp

Page 14: Introduçao à Internet das Coisas com AWS IoT

AWS IoT

Page 15: Introduçao à Internet das Coisas com AWS IoT

Ruído de Roteamento

Page 16: Introduçao à Internet das Coisas com AWS IoT

Device Gateway

Page 17: Introduçao à Internet das Coisas com AWS IoT

Publish / Subscribe

Suporte a Protocolos Padrões

MQTT, HTTP, WebSockets

Conexões de Longa Duração

Receber sinais da nuvem

Seguro por Padrão

Conecte com segurança usando

certificados X509 e TLS 1.2

com Autenticação Mútua

Page 18: Introduçao à Internet das Coisas com AWS IoT

Mensagens dos Sensores

Suporte a protocolos padrão

MQTT, HTTP, WebSockets

Tópico/canal

Hierarquia para roteamento das mensagens

Controle total da árvore

Conteúdo (JSON)

JSON customizado

Page 19: Introduçao à Internet das Coisas com AWS IoT

Encontrando os Sinais

Page 20: Introduçao à Internet das Coisas com AWS IoT

Extraindo o Valor das Mensagens

• Filtrar mensagens usando um critério

• Mover mensagens para outros tópicos

• Mover mensagens para outros sistemas

• Transformar o conteúdo das mensagens

• Predizer mensages usando tendências

• Reagir baseado nas mensagens

Page 21: Introduçao à Internet das Coisas com AWS IoT

Motor de Regras (Rules Engine)

Page 22: Introduçao à Internet das Coisas com AWS IoT

AWS IoT SQL – Referência

SELECT DATA FROM TOPIC WHERE FILTER

• Similar a ler uma tabela de um banco de dados

• A origem padrão é um tópico MQTT

Exemplos:

• FROM mqtt(‘meu/topico’)

• FROM mqtt(‘meu/coringa/+/topico’)

• FROM (‘meu/topico’)

Page 23: Introduçao à Internet das Coisas com AWS IoT

Motor de Regras

• Funções

• Manipulação de strings (suporte a expressões regulares)

• Operações matemáticas

• Funções auxiliaries baseadas em contexto

• Suporte a criptografia

• UUID, timestamp, rand, etc.

• Executar ações em paralelo

Page 24: Introduçao à Internet das Coisas com AWS IoT

novo: Funcionalidades do Motor de Regras

• Versionamento

• 2016-10-08 – Versão original

• 2016-03-23-beta – Versão beta lançada em uma

determinada data

• beta – Última versão beta (mudanças com quebras!)

• lts – Última versão estável, atualizada automaticamente{

"sql": "expression",

"ruleDisabled": false,

"awsIotSqlVersion": "2015-03-23-beta",

"actions": [{

"republish": {

"topic": "my-mqtt-topic",

"roleArn": "arn:aws:iam::123456789012:role/my-iot-role"

}

}]}

Page 25: Introduçao à Internet das Coisas com AWS IoT

novo: Integração com Elasticsearch

Page 26: Introduçao à Internet das Coisas com AWS IoT

Demo

Page 27: Introduçao à Internet das Coisas com AWS IoT

novo: Ciclo de Vida de Eventos

Page 28: Introduçao à Internet das Coisas com AWS IoT

novo: Função de Predição

Page 29: Introduçao à Internet das Coisas com AWS IoT

Fluxo básico para usar predição

• Gerar dados

• Use uma regra do AWS IoT para enviar dados para o S3

• Construa o seu modelo no Amazon Machine Learning

usando o S3 como fonte de dados

• Habilite as predições em tempo-real no Amazon ML

• Use uma regra do AWS IoT para validar o valor predito

com o Amazon ML

• Adicione outras ações

Page 30: Introduçao à Internet das Coisas com AWS IoT

Blog de Manutenção Preditiva:

http://bit.ly/aws-iot-aml-blog

Page 31: Introduçao à Internet das Coisas com AWS IoT

AWS IoT Device Shadow

Page 32: Introduçao à Internet das Coisas com AWS IoT

AWS IoT Device Shadow

Page 33: Introduçao à Internet das Coisas com AWS IoT

1. Dispositivo publica o estado atual

2. Persiste no repositório de dados JSON

3. Aplicativo solicita o estado

atual do dispositivo

4. Aplicativo solicita atualização

no estado

5. Device shadow sincroniza

o estado atualizado

6. Dispositivo publica o

estado atual

7. Device shadow confirma a

mudança do estado

AWS IoT Fluxo de uso do Device Shadow

Page 34: Introduçao à Internet das Coisas com AWS IoT

AWS IoT Device Shadow: Simples e Poderoso

{

"state" : {

“desired" : {

“luzes": { "cor": “VERMELHO" },

"motor" : "LIGADO"

},

"reported" : {

“luzes" : { "cor": “VERDE" },

„motor" : "LIGADO"

},

"delta" : {

“luzes" : { "cor": "VERMELHO" }

} },

"version" : 10

}

Dispositivo

Reporta o estado atual para uma ou mais device

shadows

Obtém o estado desejado da shadow

Aplicação Móvel

Determina o estado desejado do dispositivo

Obtém o último estado reportado pelo dispositivo

Apaga a device shadow

Shadow

Shadow informa a diferença (delta),

estado desejado (desired) e reportado (reported)

incluindo o metadado e versão

Page 35: Introduçao à Internet das Coisas com AWS IoT

Demo

http://bit.ly/iotawssp

Page 36: Introduçao à Internet das Coisas com AWS IoT

Segurança

Page 37: Introduçao à Internet das Coisas com AWS IoT

Princípios de Segurança da AWS

Separação de Papéis

Pessoal diferente para cada função

Privilégio mínimo

Page 38: Introduçao à Internet das Coisas com AWS IoT
Page 39: Introduçao à Internet das Coisas com AWS IoT

Segurança nos Dispositivos

Page 40: Introduçao à Internet das Coisas com AWS IoT

Autenticação Mútua usando TLS

• Criar um CSR

• Criar um certificado X.509 a partir do CSR

• Ativar o certificado

• Criar uma policy

• Anexar a policy ao certificado

* Certificado precisa ser emitido pelo AWS IoT

Page 41: Introduçao à Internet das Coisas com AWS IoT

novo: Traga o seu próprio Certificado

• Use os certificados emitidos pela sua própria AC

• Aproveitar a Infraestrutura de emissão atual

• Usar certificados que já estão embarcados

• Acesso limitado a internet na linha de montagem/fábrica

• Provisionamento simplificado de dispositivos

• 8 chamadas novas de API para suportar o

gerenciamento dos certificados

Page 42: Introduçao à Internet das Coisas com AWS IoT

Exemplo de Policy publish/subscribe

"Effect": "Allow",

"Action": [

"iot:Publish"

],

"Resource": [

"arn:aws:iot:us-east-1:123456789012:topic/foo"

]

},

{

"Effect": "Deny",

"Action": [

”iot:Subscribe"

],

"Resource": [

"arn:aws:iot:us-east-1:123456789012:topic/bar"

]

Permite acesso a

topic/foo

Nega acesso a

topic/bar

Page 43: Introduçao à Internet das Coisas com AWS IoT

AWS IoT policies

• Resultado (Effect)

• Permitir (Allow) ou Negar (Deny)

• Ação (Action)

• "iot:Publish" – publicar em um tópico MQTT

• "iot:Subscribe" – inscrever em um tópico MQTT

• "iot:UpdateThingShadow" – Atualizar uma thing shadow

• "iot:GetThingShadow" – Obter uma thing shadow

• "iot:DeleteThingShadow - Apagar uma thing shadow

• Recurso (Resource)

• Cliente

• ARN do tópico ou do filtro do tópico

Page 44: Introduçao à Internet das Coisas com AWS IoT

Protegendo o acesso aos recursos da AWS

Page 45: Introduçao à Internet das Coisas com AWS IoT

Criando um relação de confiança com AWS IoT

P P

PRole

{

"Version": "2012-10-17",

"Statement": [

{

"Sid": "",

"Effect": "Allow",

"Principal": {

"Service": “iot.amazonaws.com”

},

"Action": "sts:AssumeRole"

}

]

}

Page 46: Introduçao à Internet das Coisas com AWS IoT

Protegendo acesso aos recursos da AWS

Page 47: Introduçao à Internet das Coisas com AWS IoT

Protegendo acesso dos usuários

• WebSockets suporta autenticação

Signature Version 4

• IAM roles e policies

• Pool de Identidade do Amazon Cognito

• Acesso anônimo ao iot:Subscribe

• Use o seu próprio padrão de autenticação no nível de

aplicação

Page 48: Introduçao à Internet das Coisas com AWS IoT

SDKs para Dispositivos

Page 49: Introduçao à Internet das Coisas com AWS IoT

Suporte ao SDK para Dispositivos

• Baseado em padrões abertos como Eclipse Paho

• C

• Arduino (Yun)

• iOS (Swift)

• Android

• Suporte a WebSocket

• NodeJS

• JS SDK para sites estáticos (WebSockets)

Page 50: Introduçao à Internet das Coisas com AWS IoT

Resumo

• AWS IoT

• novo Ciclo de Vida de Eventos

• novo Funcionalidades do Motor de Regra

• Elasticsearch

• Amazon ML como função de predição

• novo Traga o seu próprio certificado

Page 51: Introduçao à Internet das Coisas com AWS IoT

Muito Obrigado!David Reis | [email protected]

Eduardo Horai | [email protected]