Upload
amazon-web-services-latam
View
495
Download
2
Embed Size (px)
Citation preview
© 2016, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Henry Alvarado | AWS Solutions Architect
5 - Mayo - 2016
Todo sobre los servicios de
IOT de AWS
Publish / Subscribe
Soporte a protocolos standar
MQTT, HTTP, WebSockets
Conexiones de larga vida
Recibir señales de la nube
Seguro por defecto
Conexiones seguras vía X509
Certs y TLS 1.2 Client Mutual
Auth
Mensajes del Sensor
Soporte a protocolos estándar
MQTT, HTTP, WebSockets
Topic/channel
Control de la jerarquía de
enrutamiento, sobre el árbol
completo
Payload (JSON)
JSON payload definidos por el
usuario
Extraer valor de los mensajes
• Filtrar mensajes basados en algún
criterio
• Mover los mensajes otros tópicos
• Mover los mensajes a otros
sistemas
• Transformar el payload del mensaje
• Predecir mensajes basados en
tendencias
• Reacciones basadas en mensajes
AWS IoT SQL reference
SELECT DATA FROM TOPIC WHERE FILTER
• Como escaneando una base de datos
• Tópico MQTT es la fuente por defecto
Ejemplos:
• FROM mqtt(‘my/topic’)
• FROM mqtt(‘my/wildcard/+/topic’)
• FROM (‘my/topic’)
nuevo: Características Rules engine
• Versionamiento
• 2016-10-08 – Original version
• 2016-03-23-beta – Beta version released on specific date
• beta – Latest beta version (breaking changes!)
• lts – Latest long-term support version, automatically updated{
"sql": "expression",
"ruleDisabled": false,
"awsIotSqlVersion": "2015-03-23-beta",
"actions": [{
"republish": {
"topic": "my-mqtt-topic",
"roleArn": "arn:aws:iam::123456789012:role/my-iot-role"
}
}]}
nuevo: Características Rules engine
• Colecciones JSON
• get(array, int) – obtener el item en el índice de un arreglo
• get(string, int) – obtener el caracter en la posición de un
string
• get(object, key) – obtener el valor de una llave
• SUB SELECT de colecciones
• SELECT (SELECT v FROM e WHERE n = 'temperature') as
temperature FROM 'topic'
nuevo: Lifecycle events
• Información de enventos como:
• Conexión de un cliente
• Desconexión limpia de un cliente
• Desconexión por interrupción de un cliente
MetricsHistory
cycle,part-no,sm1,sm2,sm3,sm4,sm5,sm6,sm7,target1,2101,3.57276868714,4.77630915702,0.0697848635622,-2.03118692021,4.68416609149,2.6631801298,-0.0529875667114,023,2101,4.20865057781,5.09484887737,-0.501832274774,-0.0777811332648,6.71894975415,2.01272998888,-0.341100277082,1
1. Device publishes current state
2. Persist JSON data store
3. App requests device’s current state
4. App requests change the state5. Device shadow syncs
updated state
6. Device publishes current state 7. Device shadow confirms state change
Flujo del AWS IoT device shadow
AWS IoT device shadow: Simple yet powerful
{
"state" : {
“desired" : {
"lights": { "color": "RED" },
"engine" : "ON"
},
"reported" : {
"lights" : { "color": "GREEN" },
"engine" : "ON"
},
"delta" : {
"lights" : { "color": "RED" }
} },
"version" : 10
}
Device
Report its current state to one or multipleshadows
Retrieve its desired state from shadow
MobileApp
Set the desired state of a device
Get the last reported state of thedevice
Delete the shadow
Shadow
Shadow reports delta, desired, andreported
states along with metadata and version
AWS security operating principles
Separation of duties
Different personnel across service lines
Least privilege
Soporte mediante SDK para dispositivos
• Basado en estándares abiertos como
Eclipse Paho
• C
• Arduino (Yun)
• iOS (Swift)
• Android
• Soporte de WebSocket
• NodeJS
• JS SDK para sitios web estáticos
(WebSockets)