Mais conteúdo relacionado Semelhante a Construyendo aplicaciones para IoT con AWS (20) Mais de Amazon Web Services LATAM (20) Construyendo aplicaciones para IoT con AWS2. © 2017, Amazon Web Services
• ¿Qué es IoT y cuáles son los patrones que están haciendo que sea
utilizado?
• Ejemplo de la evolución de una solución en un hospital con IoT
• Ejemplo de la evolución de una solución en un hospital con IoT + Polly
+ Lex
• Ejemplo de la evolución de una solución en un hospital con IoT +
Greengrass
¿Qué esperar de esta sesión?
8. © 2017, Amazon Web Services
¿En qué consiste AWS IoT?
Seguridad
• Todo el tráfico desde y hacia AWS IoT debe ser cifrado
sobre Transport Layer Security (TLS)
• Certificados administrados por AWS
• Certificate Signing Request (CSR)
• Registro Just-in-time (JIT)
• Protege tus certificados
• chroot
• Security Enhanced Linux (SELinux)
• One-Time Programmable (OTP) Fuses
• Trusted Platform Modules
• Smartcards
• Locks and Boxes
• FIPS-style hardware
9. © 2017, Amazon Web Services
¿En qué consiste AWS IoT?
• Thing Gateway
10. © 2017, Amazon Web Services
¿En qué consiste AWS IoT?
• Thing Gateway
Protocolos soportados
HTTPS, Websockets, Secure MQTT
¿Qué es MQTT?
Es un protocolo pub/sub ligero, diseñado para minimizar el uso del ancho de banda y
los requerimientos de recursos del dispositivo. MQTT suporta TLS para cifrado.
11. © 2017, Amazon Web Services
¿En qué consiste AWS IoT?
• Thing Gateway
var device = awsIot.device({
keyPath: 'private_key.pem',
certPath: 'certificate.pem',
caPath: 'root.pem',
clientId: clientId,
region: 'us-east-1' });
var button = new groveSensor.GroveButton(6);
function readButtonSensorValue() {
var buttonState = button.value();
if (buttonState == 1) {
device.publish(topic, JSON.stringify({
SubmitTime: (new Date()).toJSON()}));
}
}
setInterval(readButtonSensorValue, 100);
12. © 2017, Amazon Web Services
¿En qué consiste AWS IoT?
• IoT Rules Engine
Amazon
Kinesis
Amazon S3
bucket
13. © 2017, Amazon Web Services
¿En qué consiste AWS IoT?
IoT Rule Engine • Recepción de datos aumentada o filtrada desde un dispositivo
• Recepción de datos escritos desde un dispositivo a una base de datos
Amazon DynamoDB.
• Guardar un archivo a Amazon S3.
• Enviar un ”push notification” a todos los usuarios utilizando
Amazon SNS.
• Publicar datos a un queue de Amazon SQS.
• Invocar una función Lambda para extraer los datos.
• Procesar mensajes de un largo número de dispositivos utilizando
Amazon Kinesis.
• Enviar datos al servicio de Amazon Elasticsearch.
• Capturar una métrica a Amazon CloudWatch.
• Cambiar una alarma en Amazon CloudWatch.
• Enviar datos al Amazon Machine Learning para hacer predicciones en
base a modelos de Amazon ML.
14. © 2017, Amazon Web Services
¿En qué consiste AWS IoT?
IoT Rule Engine
{
"sql": "SELECT * FROM 'Sensor/DispensingSensor'",
"ruleDisabled": false,
"actions": [
{
"kinesis": {
"roleArn": "arn:aws:iam::XX:role/sensor_status_role",
"streamName": "sensor_status_stream",
"partitionKey": "${ClientID}"
}
}]
}
15. © 2017, Amazon Web Services
¿En qué consiste AWS IoT?
• Thing Registry
• Asociación de MQTT Client IDs
• Asociación de certificados
• Especificación hasta de 3 atributos
personalizados
16. © 2017, Amazon Web Services
¿En qué consiste AWS IoT?
• Thing Registry
{
"version": 3,
"thingName": "PortableDispenser",
"defaultClientId": "abc123",
"thingTypeName": "Dispenser",
"attributes": {
"model": "123",
"dispensingVolume": "75"
}
}
17. © 2017, Amazon Web Services
¿En qué consiste AWS IoT?
• Thing Registry
response = client.update_thing(
thingName=PortableDispenser',
attributePayload={
'attributes': {
'dispensingVolume': '150'
},
},
expectedVersion=2,
)
18. © 2017, Amazon Web Services
¿En qué consiste AWS IoT?
• Thing Shadow
• Almacena y recupera el estado actual y futuro de un
“thing”
• Documento en JSON simple
• Obtiene y fija el estado de un “thing” a través de
MQTT o HTTP
• Acceso al “shadow” sin importar si el “thing” está
conectado a Internet
19. © 2017, Amazon Web Services
¿En qué consiste AWS IoT?
• Thing Shadow
{
"state" : {
“desired" : {
"sensor" :
"ON"
},
"reported" : {
"sensor" :
"OFF"
},
"delta" : {
"sensor" : "ON"
} },
"version" : 10
}
20. © 2017, Amazon Web Services
¿En qué consiste AWS IoT?
• Thing Shadow
data = {
"state" : {
"desired" : {
"switch" : "on"
}
}
}
response = client.update_thing_shadow(
thingName = PortableDispenser',
payload = mypayload
)
21. © 2017, Amazon Web Services
Otros servicios en una arquitectura escalable de IoT
• Amazon Kinesis
•Streams están creados de Shards
•Cada Shard ingesta datos hasta por 1 MB/sec, y hasta 1000 TPS
•Cada Shard emite hasta 2 MB/sec
•Todos los datos son almacenados por 24 horas – 7 días
•Escala Kinesis streams dividiendo o fusionando Shards
•Recrea datos dentro de las siguiente ventana de 24hrs -7días
22. © 2017, Amazon Web Services
Otros servicios en una arquitectura escalable de IoT
• Amazon DynamoDB
• Servicio rápido de base de datos NoSQL totalmente
administrado
• Capaz de administrar cualquier cantidad de datos
• Duradero y altamente disponible
• Todo el almacenamiento SSD
• Sencillo y económico
23. © 2017, Amazon Web Services
Otros servicios en una arquitectura escalable de IoT
• AWS Lambda
• Ejecuta código en respuesta a disparadores como carga en
de S3, actualizaciones de DynamoDB, flujos de Kinesis y
solicitudes de API Gateway
• Escalado automático
• Sólo tiene que proporcionar el código; no hay ninguna
infraestructura que administrar
• El rango de duración va de los 100 ms a 5 minutos
• Pague sólo lo que utilice
25. © 2017, Amazon Web Services
Propuesta arquitectura IoT
IoT MQTT
protocol
IoT certificate
IoT
rule
IoT
topic
Amazon Kinesis AWS
Lambda Amazon
DynamoDB
Amazon
SNS
Alexa
Dispositivos de monitoreo
en hospitales
Backend del hospital
Node.js
AWS
Lambda
AWS
Lambda
26. © 2017, Amazon Web Services
Amazon Polly
Text to Speech alimentado por “Deep Learning”
27. © 2017, Amazon Web Services
Amazon Polly
“La temperatura en México
es de 20º centígrados”
“La temperatura en México
es de veinte grados
centígrados”
Amazon Polly
28. © 2017, Amazon Web Services
Amazon Polly
Regresa un stream
de audio en MP3
Play ilimitado
Respuestas
rápidas
Totalmente
administrado
29. © 2017, Amazon Web Services
Escenario de IoT en un hospital + Polly
30. © 2017, Amazon Web Services
Propuesta arquitectura IoT + Polly
IoT MQTT
protocol
IoT certificate
IoT
rule
IoT
topic
Amazon Kinesis AWS
Lambda Amazon
DynamoDB
Amazon
SNS
Alexa
Dispositivos de monitoreo
en hospitales
Backend del hospital
Node.js
AWS
Lambda
AWS
Lambda
AWS
Lambda
Amazon
Polly
31. © 2017, Amazon Web Services
Natural Language Understanding (NLU) &
Automatic Speech Recognition (ASR) Powered By Deep Learning
Amazon ALEXA
(Lo que está dentro de Alexa)
32. © 2017, Amazon Web Services
Amazon Lex
“¿Cuál será la temperatura
en México?”
Amazon Lex
Reconocimiento automático del habla
Entendimiento lenguaje natural
Pronóstico del tiempo
33. © 2017, Amazon Web Services
Amazon Lex
“¿Cuál será la temperatura
en México?”
Amazon Lex
Pronóstico del tiempo
“Estará soleado a veinte
grados centígrados”
Amazon Polly
34. © 2017, Amazon Web Services
Amazon Lex
Desarrollo
integrado en la
consola
Detona
funciones
Lambda
Conversaciones
multi-paso
Continuamente
mejorando
modelos ASR &
NLU
Conectores
empresariales
Totalmente
administrado
36. © 2017, Amazon Web Services
Propuesta arquitectura IoT + Lex
IoT MQTT
protocol
IoT certificate
IoT
rule
IoT
topic
Amazon Kinesis AWS
Lambda Amazon
DynamoDB
Amazon
SNS
Alexa
Dispositivos de monitoreo
en hospitales
Backend del hospital
Node.js
AWS
Lambda
AWS
Lambda
Amazon
Lex
AWS
Lambda
Amazon
Polly
37. © 2017, Amazon Web Services
AWS Greengrass
Cómputo integrado con Lambda (& otros servicios AWS) dentro de
Dispositivos Conectados
Utiliza el mismo modelo de programación AWS en los dispositivos y la nube
Prueba limitada
38. © 2017, Amazon Web Services
AWS Greengrass: Cómputo local, mensajería
y caché de datos
Cómputo local Comunicación
segura
Caché de datos
locales
Mensajería local
39. © 2017, Amazon Web Services
AWS Greengrass: Cómo funciona
Integrado en los
dispositivos
desde su
fabricación
Instalador de
Greengrass
runtime
Funciones
Lambda en AWS
y dispositivos
Administrador
desde la consola
de AWS
Mismo modelo
de programación
Comunicación y
orquestación
local
40. © 2017, Amazon Web Services
Escenario de IoT en un hospital + Greengrass
41. © 2017, Amazon Web Services
Propuesta arquitectura IoT + Greengrass
IoT MQTT
protocol
IoT certificate
IoT
rule
IoT
topic
Amazon Kinesis AWS
Lambda Amazon
DynamoDB
Amazon
SNS
Alexa
Dispositivos de monitoreo
en hospitales
Backend del hospital
Node.js
AWS
Lambda
AWS
Lambda
Greengrass