Temario del curso
Módulo 0: Fundamentos y Ecosistema AWS IoT
-
Introducción a IoT
- Definición de IoT en 2024: Más allá de las "cosas" (Inteligencia en el borde, IA/ML en el borde, Sistemas ciberfísicos).
- Impulsores del crecimiento de IoT (Industrias, Casos de uso).
- Tendencias clave de IoT (Computación en el borde, Sostenibilidad, Integración de IA/ML, Seguridad mejorada).
- AWS IoT dentro del ecosistema general de AWS (Recursos de la Red de Socios de AWS - APN).
-
Panorama general de los servicios de AWS IoT
- AWS IoT Core (MQTT/Bridge, Jobs, Device Defender).
- AWS IoT Device Management (Incorporación de dispositivos, Gestión de configuración, Actualizaciones OTA).
- AWS IoT Analytics (Procesamiento, enriquecimiento y modelado de datos).
- AWS IoT Greengrass (Computación en el borde, ejecución local, conectividad segura).
- AWS IoT Button (Descripción conceptual para dispositivos sencillos).
- Conexión: AWS IoT Core -> Lambda/DynamoDB/OpenSearch/Step Functions/SageMaker.
Módulo 1: Arquitectura, Componentes y Seguridad de IoT
-
Arquitectura de IoT
- Capa de Dispositivo (Sensores, Actuadores, Dispositivos de borde como RP2013/Raspberry Pi/ESP32).
- Capa de Conectividad (MQTT, CoAP, HTTP, LPWAN - LoRaWAN, NB-IoT, Sigfox, IoT Celular).
- Capa de Integración con la Nube (AWS IoT Core, API Gateway, Lambda, Step Functions).
- Capa de Procesamiento y Análisis de Datos (DynamoDB, Timestream, OpenSearch, S3, Athena, SageMaker).
- Capa de Aplicación (Aplicaciones móviles y web usando AWS Amplify, Aplicaciones empresariales personalizadas).
- Importancia: Explicar el por qué detrás de las arquitecturas distribuidas (latencia, ancho de banda, potencia de cálculo, seguridad).
-
Análisis en profundidad de los componentes esenciales de IoT
- Hardware: Criterios de selección (MCU, conectividad, sensores), Elementos de seguridad (Entornos de ejecución confiables - TEEs).
- Computación en el borde (AWS Greengrass): Beneficios (baja latencia, reducción del tráfico en la nube, toma de decisiones local).
- Gestión de dispositivos: Incorporación (Over-the-Air - OTA, Aprovisionamiento previo), Configuración, Monitoreo, Depuración remota.
- Análisis en profundidad de la seguridad: Identidad del dispositivo, Autenticación y Autorización (Certificados X.509, JSON Web Tokens - JWTs), Cifrado de datos (en reposo y en tránsito), AWS IoT Device Defender (Servicio y Device Defender).
- Estandarización de la seguridad: Introducción a normas (por ejemplo, IEEE P2145, Open Connectivity Foundation - OCF) y cumplimiento (ISO/IEC 27001, SOC 2).
-
Funciones PaaS específicas de AWS para IoT
- AWS IoT Core (MQTT/Bridge seguro, Jobs para actualizaciones de firmware, Device Defender).
- AWS Lambda (Cálculo sin servidor para preprocesamiento de datos y activación de acciones).
- AWS Step Functions (Flujos de trabajo con estado para interacciones complejas de dispositivos).
- Amazon DynamoDB (Base de datos NoSQL para ingesta rápida de datos de IoT).
- Amazon OpenSearch Service (Búsqueda y análisis, manejo de series temporales).
- Amazon Timestream (Base de datos especializada en series temporales).
- Amazon S3 (Almacenamiento de lago de datos crudos).
- AWS IoT Device Defender (Monitoreo y evaluación de seguridad).
- AWS IoT Wireless (Conexión de dispositivos remotos LPWAN).
Módulo 2: Protocolos de Comunicación de Dispositivos IoT
-
MQTT (MQTT v5 y WebSockets)
- Características de MQTT 5.0 (Retención, banderas de sesión limpia, propiedades de usuario, temas con comodines).
- MQTT sobre WebSockets (Estandarización).
- Explicación de los niveles de Calidad de Servicio (QoS).
- Mejores prácticas del protocolo.
-
Protocolos alternativos
- CoAP (Protocolo de Aplicación Restringido) para dispositivos con recursos limitados.
- AMQP / MQTT sobre AMQP (Formatos estándar de intercambio de datos).
- HTTP (Para actualizaciones más simples y menos frecuentes).
- WebSockets (Comunicación full-duplex).
Módulo 3: Construcción de Aplicaciones IoT Robustas con AWS
-
Incorporación de dispositivos y conectividad segura
- Aprovisionamiento previo con AWS IoT Device Defender.
- Incorporación segura Over-The-Air (OTA) (por ejemplo, usando conceptos de AWS IoT Button).
- Gestión de certificados de dispositivo (ACM/PKI).
- Implementación de MQTT con TLS.
-
Ingesta, almacenamiento y procesamiento de datos
- Envío eficiente de datos desde dispositivos a AWS IoT Core.
- Elección del destino adecuado: Lambda (basado en eventos), Step Functions (orquestación), Timestream (series temporales), OpenSearch (búsqueda y análisis), S3 (datos crudos).
- Uso de AWS IoT Analytics para enriquecimiento y limpieza de datos antes del almacenamiento.
- Manejo de escenarios de alto rendimiento (Kinesis/Firehose).
-
Gestión y operaciones de dispositivos
- Uso de AWS IoT Device Management para la gestión de flotas.
- Implementación y gestión de actualizaciones OTA (usando AWS IoT Jobs).
- Monitoreo y configuración remota.
-
Construcción del backend de IoT
- API Gateway para crear APIs REST/GraphQL que interactúen con dispositivos y datos.
- AWS Lambda para lógica empresarial.
- AWS Step Functions para coordinar componentes distribuidos.
- Amazon SQS/SNS para mensajería asíncrona y activación de eventos.
Módulo 4: Computación en el Borde e Integración Avanzada
-
AWS IoT Greengrass
- Conceptos (Core, Dispositivo, Conector).
- Ejecución de funciones Lambda localmente en el dispositivo.
- Ejecución de código directamente en el dispositivo (C++, Python).
- Comunicación segura entre Greengrass Core y AWS/dispositivos IoT.
- Caso de uso: Filtrado local de datos, preprocesamiento o inferencia de IA en el borde.
-
Integración con IA/ML
- Uso de SageMaker para modelos complejos de ML en la nube.
- Ejecución de inferencia de ML en el borde con Greengrass ML Accelerator (GMA).
-
Visualización de datos e interfaces de usuario
- Uso de AWS IoT SiteWise para visualización de datos industriales.
- Creación de aplicaciones web con AWS Amplify (API, interfaz de usuario, autenticación).
- Paneles de control usando Amazon QuickSight o OpenSearch Dashboards.
Módulo 5: Seguridad, Gobernanza y Mejores Prácticas
-
Ciclo de vida de la seguridad de IoT
- Principios de diseño seguro (Defensa en profundidad).
- Prácticas de desarrollo seguro (OWASP IoT Top 10).
- Gestión de vulnerabilidades.
- Modelado de amenazas para IoT.
-
Servicios de seguridad de AWS para IoT
- AWS IoT Device Defender (Servicio y Device Defender).
- AWS Shield, AWS Identity and Access Management (IAM).
- AWS Config para verificaciones de cumplimiento.
- Integración de Módulos de Seguridad de Hardware (HSMs).
-
Privacidad de datos y gobernanza
- Manejo de datos sensibles (PII).
- Políticas de retención y eliminación de datos.
- Consideraciones de cumplimiento.
Módulo 6: Proyectos Prácticos y Proyecto Final
-
Laboratorios prácticos guiados
- Incorporación de dispositivos y comunicación MQTT.
- Implementación de ingesta segura de datos en AWS.
- Construcción de un panel de control IoT sencillo.
- Simulación de actualizaciones OTA.
- Introducción a AWS IoT Greengrass.
-
Proyecto Final
- Construir una solución completa de IoT que aborde un problema del mundo real (por ejemplo, Automatización del Hogar Inteligente, Monitoreo Ambiental, Hub de Sensores Industriales).
- Requisitos: Dispositivo seguro, ingesta de datos, procesamiento, visualización y componente de borde opcional.
- Utilizar los servicios de AWS cubiertos a lo largo del curso.
Requerimientos
Propósito:
Actualmente, cualquier desarrollo nuevo de IoT debe realizarse sobre infraestructura IoT PaaS (Plataforma como Servicio). Los principales sistemas PaaS de IoT incluyen Microsoft Azure, AWS IoT (Amazon), Google IoT Cloud y Siemens MindSphere, entre otros. También es fundamental que los desarrolladores conozcan las funciones PaaS asociadas necesarias para conectar los datos de IoT con otros ecosistemas. En este curso, los participantes recibirán formación práctica con una Raspberry Pi y una etiqueta sensora TI multi-sensor (que integra 10 sensores: movimiento, temperatura ambiental, humedad, presión, luxómetro, etc.). El alumno aprenderá los fundamentos de todas las funciones de IoT y cómo implementarlas en la nube PaaS de AWS IoT utilizando funciones Lambda.