Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Introducao à Internet das Coisas com AWS IoT

2,467 views

Published on

Introducao à Internet das Coisas com AWS IoT
Angelo Carvalho
Arquiteto de Soluções

Published in: Technology
  • Be the first to comment

  • Be the first to like this

Introducao à Internet das Coisas com AWS IoT

  1. 1. © 2016, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Angelo Carvalho | Arquiteto de Soluções 22 de Setembro de 2016 Introdução à Internet das Coisas com AWS IoT
  2. 2. A “Internet das Coisas” (plural)
  3. 3. Coisas NÃO são recursos estáticos
  4. 4. O cliente tem várias identidades
  5. 5. A casa é a empresa de alguém
  6. 6. AWS IoT
  7. 7. Demo
  8. 8. Ruído de Roteamento
  9. 9. Device Gateway
  10. 10. 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
  11. 11. 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
  12. 12. Encontrando os Sinais
  13. 13. 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
  14. 14. Motor de Regras (Rules Engine)
  15. 15. 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’)
  16. 16. Motor de Regras • Funções • Manipulação de strings (suporte a expressões regulares) • Operações matemáticas • Funções auxiliares baseadas em contexto • Suporte a criptografia • UUID, timestamp, rand, etc. • Executar ações em paralelo
  17. 17. 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" } }]}
  18. 18. novo: Integração com Elasticsearch
  19. 19. novo: Ciclo de Vida de Eventos
  20. 20. novo: Função de Predição
  21. 21. 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
  22. 22. AWS IoT Device Shadow
  23. 23. AWS IoT Device Shadow
  24. 24. 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
  25. 25. 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
  26. 26. Segurança
  27. 27. Princípios de Segurança da AWS Separação de Papéis Pessoal diferente para cada função Privilégio mínimo
  28. 28. Segurança nos Dispositivos
  29. 29. 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
  30. 30. 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
  31. 31. 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
  32. 32. 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
  33. 33. Protegendo o acesso aos recursos da AWS
  34. 34. Criando um relação de confiança com AWS IoT P P P Role { "Version": "2012-10-17", "Statement": [ { "Sid": "", "Effect": "Allow", "Principal": { "Service": “iot.amazonaws.com” }, "Action": "sts:AssumeRole" } ] }
  35. 35. Protegendo acesso aos recursos da AWS
  36. 36. 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
  37. 37. SDKs para Dispositivos
  38. 38. Suporte ao SDK para Dispositivos • Baseado em padrões abertos como Eclipse Paho • Embedded C • JavaScript • Arduíno Yún • Java • Python • iOS • Android
  39. 39. 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
  40. 40. Muito Obrigado! Angelo Carvalho | carvaa@amazon.com

×