5. Meetup Emerging Technologies
¿Qué es IoT?
Es la interconexión de dispositivos físicos
(cosas) y el intercambio de datos para crear una
integración completa entre mundo físico y
virtual.
‘‘
7. Meetup Emerging Technologies
Principales retos
Convivencia del mundo físico y virtual
Dispositivos deslocalizados
Garantizar la seguridad
Sistemas complejos y poblados
8. Meetup Emerging Technologies
¿Qué podemos hacer con IoT?
Tesla autopilot
Más de 30 sensores al servicio
de la conducción autónoma
para recabar información y
tomar decisiones.
“Todos los vehículos de Tesla funcionan
como una red, cuando un coche aprende
algo, todos los demás también”
Elon Musk
9. Meetup Emerging Technologies
Amazon Go
Entra, coge tus productos y sal
por la puerta en apenas
segundos.
“Sin colas, sin cajas! (No, en serio)”
Amazon Inc.
¿Qué podemos hacer con IoT?
11. Meetup Emerging Technologies
Recogida de Basuras
Recoge la basura sólo cuando esté
el contenedor lleno.
Pero… y, si además, ¿en base a
otros barrios, a la información
demográfica, pudiéramos inferir
que debemos lanzar una campaña
de concienciación?
¿Qué podemos hacer con IoT?
13. Meetup Emerging Technologies
¿Cómo se puede hacer todo esto?
Son una parte esencial de IoT, capaces de recoger información y ejecutar acciones
Sensores
Recogen y envían información precisa a nuestro
sistema para extraer conocimiento.
Tipología de sensores:
- Físicos: velocidad, presión, clinómetro...
- Químicos: gases, de humo...
- Ambientales: temperatura, humedad,
presión…
- Eléctricos: Detector de metal, detector de
voltaje…
- Ópticos: Colorímetro, fotodiodo...
Actuadores
Dispositivos físicos capaces de recibir “órdenes” y
ejecutar acciones concretas.
Algunos ejemplos:
- Brazos mecánicos
- Indicadores lumínicos
- Cintas de transporte
- Conmutadores
Las “cosas”
14. Meetup Emerging Technologies
¿Cómo se puede hacer todo esto?
Los protocolos de comunicación han evolucionado para adaptarse a las
necesidades de IoT
Comunicaciones de bajo coste,
consumo energético y corto alcance.
Ideales para
comunicaciones de largo
alcance con consumos
bajos de energía
Comunicaciones de largo
alcance pero con
consumos moderados
2G / 3G / 4G
LTE
Comunicación entre dispositivos
15. Meetup Emerging Technologies
¿Cómo se puede hacer todo esto?
Concentrador de señales
Recoge las señales de los dispositivos
cercanos y se comunica con la plataforma IoT.
Es un dispositivo que sirve de conexión entre la infraestructura IoT y los
dispositivos
Procesador de señales
Puede realizar operaciones sobre los datos
que generan los dispositivos conectados.
Gestión de la comunicación
Es capaz de gestionar pérdidas de
conectividad.
Seguridad
Provee una capa extra de seguridad al
encriptar y proteger las comunicaciones y la
información que maneja
Gateway o Edge Computing
16. Meetup Emerging Technologies
¿Cómo se puede hacer todo esto?
Hay un ecosistema muy rico que provee los elementos necesarios para implantar
IoT para cualquier caso de uso
Plataformas IoT
Open Source Cloud pública
19. Meetup Emerging Technologies
¿Cómo se puede hacer todo esto?
¿Qué proporciona AWS IoT?
Gestión de dispositivos
Alta / baja / tipado / búsqueda / shadow
Analíticas
Métricas agregadas sobre estado de los dispositivos y operaciones
ejecutadas
Seguridad
Comunicación segura online, auditoría, monitorización
Ejecución basado en reglas
Sobre los mensajes recibidos, para envío selectivo a otros sistemas
o servicios de AWS
¿Qué proporciona GreenGrass?
Respuesta a eventos
En modo de funcionamiento Gateway puro, incluso de forma local
Posibilidad de funcionamiento offline
Lógica dentro del gateway con sincronización
Seguridad
Comunicación segura, de forma local y online
Programación / lógica sincronizada
Ejecución de funciones ‘serverless’ de forma local para actuación
sobre los dispositivos
22. Meetup Emerging Technologies
Caso de uso
Aparcamiento
Plazas disponibles
Planta 1
Planta 2
Planta 3
22
59
78
GG
Plaza
Vacía / llena
Plazas ocupadas
por planta
23. Meetup Emerging Technologies
Caso de uso
Aparcamiento
Plazas disponibles
Planta 1
Planta 2
Planta 3
22
59
78
GG
AWS
Plaza
Vacía / llena
Plazas ocupadas
por planta
Gestión de los dispositivos,
seguridad y su estado
24. Meetup Emerging Technologies
Caso de uso
Aparcamiento
Plazas disponibles
Planta 1
Planta 2
Planta 3
22
59
78
GG
AWS
Plaza
Vacía / llena
Plazas ocupadas
por planta
Gestión de los dispositivos,
seguridad y su estado
Plazas ocupadas totales
25. Meetup Emerging Technologies
Caso de uso
GreenGrass / AWS IoT - Alta de dispositivo
El alta de dispositivo supone los siguientes pasos:
- Creación del dispositivo ‘virtual’
- Creación de los certificados
- Despliegue de los cambios sobre GreenGrass
- Instalación del software del dispositivo
Plazas disponibles
Planta 1
Planta 2
Planta 3
22
59
78
GG
AWS
26. Meetup Emerging Technologies
Caso de uso
GreenGrass / AWS IoT - Comunicación
AWS IoT permite la comunicación en base a distintos protocolos:
- MQTT (certificado de cliente)
- HTTP (certificado de cliente o SigV4)
- MQTT sobre WebSockets (SigV4)
Sobre estos mecanismos de comunicación GreenGrass establece un
conjunto de flujos de trabajo:
- Descubrimiento / alta nuevos dispositivos
- Actualización de estado
- Ejecución de jobs (ej: actualización de software)
Para que sea posible la comunicación es necesario definir
suscripciones individualizadas por comunicación que se quiera
realizar.
Plazas disponibles
Planta 1
Planta 2
Planta 3
22
59
78
GG
AWS
27. Meetup Emerging Technologies
Caso de uso
Estado del
dispositivo
Plaza
Vacía / llena
Plaza
Vacía / llena
GreenGrass / AWS IoT - Shadow
Tópicos
De dispositivo a cloud:
$aws/things/Parking_sensor_4/shadow/update
De cloud a dispositivos:
$aws/things/Parking_sensor_4/shadow/update/delta
$aws/things/Parking_sensor_4/shadow/update/accepted
$aws/things/Parking_sensor_4/shadow/update/rejected
GG
28. Meetup Emerging Technologies
Caso de uso
Estado del
dispositivo
Plaza
Vacía / llena
Plaza
Vacía / llena
GreenGrass / AWS IoT - Shadow
Cloud → Dispositivo
$aws/things/Parking_sensor_4/shadow/update/delta
Dispositivo → Cloud
$aws/things/Parking_sensor_4/shadow/update
Cloud → Dispositivo
$aws/things/Parking_sensor_4/shadow/update/accepted
o
$aws/things/Parking_sensor_4/shadow/update/rejected
GG
29. Meetup Emerging Technologies
Caso de uso
Estado del
dispositivo
Plaza
Vacía / llena
Plaza
Vacía / llena
GreenGrass / AWS IoT - Shadow
Dispositivo → Cloud
$aws/things/Parking_sensor_4/shadow/update
Cloud → Dispositivo
$aws/things/Parking_sensor_4/shadow/update/accepted
o
$aws/things/Parking_sensor_4/shadow/update/rejected GG
30. Meetup Emerging Technologies
Caso de uso
Plaza
Vacía / llena
Plaza
Vacía / llena
GreenGrass / AWS IoT - Comunicación local
Cualquier dispositivo puede suscribirse a un tópico siempre y
cuando tenga permiso.
Dispositivo → Cloud
$aws/things/Parking_sensor_4/shadow/update
GG
Plazas disponibles
Planta 1
Planta 2
Planta 3
22
59
78
31. Meetup Emerging Technologies
Caso de uso
GreenGrass / AWS IoT - Ejecución local
Greengrass permite la ejecución local de código, sincronizado con
el código alojado en AWS.
El código ejecutado en local puede acceder a ciertos componentes
del sistema (puertos, sistema de ficheros…) y puede ser
disparado por mensajes recibidos desde tópicos.
AWS proporciona el servicio AWS lambda para la gestión de este
código.
El código se sincroniza con cada despliegue.
GG
Plazas disponibles
Planta 1
Planta 2
Planta 3
22
59
78
32. Meetup Emerging Technologies
Caso de uso
GreenGrass / AWS IoT - Jobs
AWS IoT / Greengrass incluye otro tipo de flujos para realizar
acciones programadas bajo el nombre ‘jobs’.
Los jobs están pensados para la ejecución de procesos pesados (o
duraderos). Pueden servir para por ejemplo la actualización de
software de dispositivo.
Un job puede tener un documento asociado que se recibe en la
descripción del job con información sobre el trabajo a realizar. El
documento se puede almacenar en S3 (bajo securización a través
de roles).
$aws/things/thing_id/jobs/notify
$aws/things/thing_id/jobs/notify-next
$aws/things/thing_id/jobs/start-next
$aws/things/thing_id/jobs/start-next/accepted
$aws/things/thing_id/jobs/start-next/rejected
$aws/things/thing_id/jobs/get
$aws/things/thing_id/jobs/get/accepted
$aws/things/thing_id/jobs/get/rejected
$aws/things/thing_id/jobs/jobId/update
$aws/things/thing_id/jobs/jobId/update/accepted
$aws/things/thing_id/jobs/jobId/update/rejected
aws iot create-job
--job-id jobID
--targets "arn:arn1..." "arn:arn2..." "arn:arn3...-"
--document-source https://s3-eu-west-1.amazonaws.com/bucket/document-deploy.json
--presigned-url-config "{"roleArn":"arn:aws:iam::role","expiresInSec":3600}"
--region eu-central-1
38. https://kahoot.it
Se el más rápido y consigue una de las
dos licencias de JetBrains
Accede a la siguiente URL y responde a las
siguientes preguntas.