Struttura del corso
Modulo 0: Fondamenti ed Ecosistema AWS IoT
-
Introduzione all'IoT
- Definizione di IoT nel 2024: oltre le "Cose" (Intelligenza al bordo, AI/ML al bordo, Sistemi Ciber-Fisici).
- Fattori trainanti della crescita dell'IoT (Settori industriali, Casi d'uso).
- Principali tendenze IoT (Edge Computing, Sostenibilità, Integrazione AI/ML, Sicurezza potenziata).
- AWS IoT nell'ampio ecosistema AWS (Risorse della rete di partner AWS - APN).
-
Panoramica del panorama dei servizi AWS IoT
- AWS IoT Core (MQTT/Bridge, Jobs, Device Defender).
- AWS IoT Device Management (Registrazione dispositivi, Gestione configurazione, Aggiornamenti OTA).
- AWS IoT Analytics (Elaborazione dati, arricchimento, modellazione).
- AWS IoT Greengrass (Elaborazione al bordo, esecuzione locale, connettività sicura).
- AWS IoT Button (Panoramica concettuale per dispositivi semplici).
- Connessione: AWS IoT Core -> Lambda/DynamoDB/OpenSearch/Step Functions/SageMaker.
Modulo 1: Architettura, Componenti e Sicurezza IoT
-
Architettura IoT
- Livello Dispositivo (Sensori, Attuatori, Dispositivi Edge come RP2013/Raspberry Pi/ESP32).
- Livello Connettività (MQTT, CoAP, HTTP, LPWAN - LoRaWAN, NB-IoT, Sigfox, IoT cellulare).
- Livello Integrazione Cloud (AWS IoT Core, API Gateway, Lambda, Step Functions).
- Livello Elaborazione e Analisi Dati (DynamoDB, Timestream, OpenSearch, S3, Athena, SageMaker).
- Livello Applicativo (App mobili e web con AWS Amplify, Applicazioni aziendali personalizzate).
- Importanza: Spiegare il perché alla base delle architetture distribuite (latenza, larghezza di banda, potenza di calcolo, sicurezza).
-
Approfondimento dei componenti essenziali dell'IoT
- Hardware: Criteri di selezione (MCU, connettività, sensori), Elementi di sicurezza (Ambienti di esecuzione attendibili - TEE).
- Edge Computing (AWS Greengrass): Vantaggi (bassa latenza, riduzione del traffico cloud, decisioni locali).
- Gestione Dispositivi: Registrazione (Over-the-Air - OTA, Pre-provisioning), Configurazione, Monitoraggio, Debug remoto.
- Approfondimento sulla sicurezza: Identità del dispositivo, Autenticazione e Autorizzazione (Certificati X.509, JSON Web Tokens - JWT), Crittografia dei dati (a riposo e in transito), AWS IoT Device Defender (Servizio e Device Defender).
- Standardizzazione della sicurezza: Introduzione agli standard (es. IEEE P2145, Open Connectivity Foundation - OCF) e alla conformità (ISO/IEC 27001, SOC 2).
-
Funzioni PaaS specifiche di AWS per l'IoT
- AWS IoT Core (MQTT/Bridge sicuro, Jobs per aggiornamenti firmware, Device Defender).
- AWS Lambda (Calcolo serverless per pre-elaborazione dati e attivazione azioni).
- AWS Step Functions (Workflow con stato per interazioni complesse tra dispositivi).
- Amazon DynamoDB (Database NoSQL per ingestione rapida di dati IoT).
- Amazon OpenSearch Service (Ricerca e analisi, gestione dati time series).
- Amazon Timestream (Database specializzato per serie temporali).
- Amazon S3 (Archiviazione data lake grezzo).
- AWS IoT Device Defender (Monitoraggio e valutazione della sicurezza).
- AWS IoT Wireless (Connessione di dispositivi LPWAN remoti).
Modulo 2: Protocolli di Comunicazione dei Dispositivi IoT
-
MQTT (MQTT v5 e WebSockets)
- Funzionalità di MQTT 5.0 (Flag Retain, Clean Session, Proprietà utente, Argomenti wildcard).
- MQTT su WebSockets (Standardizzazione).
- Livelli di Quality of Service (QoS) spiegati.
- Best practice per il protocollo.
-
Protocolli Alternativi
- CoAP (Constrained Application Protocol) per dispositivi con risorse limitate.
- AMQP / MQTT su AMQP (Formati standard di scambio dati).
- HTTP (Per aggiornamenti più semplici e meno frequenti).
- WebSockets (Comunicazione full-duplex).
Modulo 3: Costruzione di Applicazioni IoT Robuste con AWS
-
Registrazione Dispositivi e Connettività Sicura
- Pre-provisioning con AWS IoT Device Defender.
- Registrazione Over-The-Air (OTA) sicura (es. utilizzando concetti legati ad AWS IoT Button).
- Gestione certificati dei dispositivi (ACM/PKI).
- Implementazione di MQTT con TLS.
-
Ingestione, Archiviazione ed Elaborazione Dati
- Invio efficiente dei dati dai dispositivi ad AWS IoT Core.
- Scelta della destinazione corretta: Lambda (guidata da eventi), Step Functions (orchestrazione), Timestream (serie temporali), OpenSearch (ricerca e analisi), S3 (dati grezzi).
- Utilizzo di AWS IoT Analytics per l'arricchimento e la pulizia dei dati prima dell'archiviazione.
- Gestione di scenari ad alto throughput (Kinesis/Firehose).
-
Gestione e Operazioni dei Dispositivi
- Utilizzo di AWS IoT Device Management per la gestione della flotta.
- Implementazione e gestione degli aggiornamenti OTA (tramite AWS IoT Jobs).
- Monitoraggio e configurazione remota.
-
Costruzione del Backend IoT
- API Gateway per la creazione di API REST/GraphQL per interagire con dispositivi e dati.
- AWS Lambda per la logica di business.
- AWS Step Functions per coordinare componenti distribuiti.
- Amazon SQS/SNS per messaggistica asincrona e attivazione di eventi.
Modulo 4: Edge Computing e Integrazione Avanzata
-
AWS IoT Greengrass
- Concetti (Core, Dispositivo, Connettore).
- Esecuzione di funzioni Lambda localmente sul dispositivo.
- Esecuzione di codice direttamente sul dispositivo (C++, Python).
- Comunicazione sicura tra Greengrass Core e AWS/dispositivi IoT.
- Caso d'uso: Filtraggio locale, pre-elaborazione dei dati o inferenza AI al bordo.
-
Integrazione con AI/ML
- Utilizzo di SageMaker per modelli ML complessi nel cloud.
- Esecuzione di inferenze ML al bordo con Greengrass ML Accelerator (GMA).
-
Visualizzazione Dati e Interfacce Utente
- Utilizzo di AWS IoT SiteWise per la visualizzazione di dati industriali.
- Creazione di applicazioni web con AWS Amplify (API, UI, Autenticazione).
- Dashboard con Amazon QuickSight o OpenSearch Dashboards.
Modulo 5: Sicurezza, Governance e Best Practice
-
Ciclo di Vita della Sicurezza IoT
- Principi di progettazione sicura (Difesa a strati).
- Pratiche di sviluppo sicuro (OWASP IoT Top 10).
- Gestione delle vulnerabilità.
- Modellazione delle minacce per l'IoT.
-
Servizi di Sicurezza AWS per l'IoT
- AWS IoT Device Defender (Servizio e Device Defender).
- AWS Shield, AWS Identity and Access Management (IAM).
- AWS Config per verifiche di conformità.
- Integrazione con Hardware Security Modules (HSM).
-
Privacy e Governance dei Dati
- Gestione di dati sensibili (PII).
- Politiche di conservazione ed eliminazione dei dati.
- Considerazioni sulla conformità.
Modulo 6: Progetti Pratici e Progetto Finale
-
Laboratori Pratici Guidati
- Registrazione dispositivi e comunicazione MQTT.
- Implementazione di ingestione sicura dei dati verso AWS.
- Costruzione di una dashboard IoT semplice.
- Simulazione aggiornamento OTA.
- Introduzione ad AWS IoT Greengrass.
-
Progetto Finale (Capstone)
- Costruire una soluzione IoT completa che affronti un problema reale (es. Automazione Domotica, Monitoraggio Ambientale, Hub di Sensori Industriali).
- Requisiti: Dispositivo sicuro, ingestione dati, elaborazione, visualizzazione e opzionale componente edge.
- Utilizzare i servizi AWS trattati durante il corso.
Requisiti
Scopo:
Attualmente, qualsiasi nuovo sviluppo IoT deve essere realizzato su infrastrutture PaaS (Platform as a Service). Tra i principali sistemi PaaS per l'IoT figurano Microsoft Azure, AWS IoT (Amazon), Google IoT Cloud e Siemens MindSphere, tra gli altri. È inoltre fondamentale che gli sviluppatori conoscano le funzioni PaaS associate necessarie per collegare i dati IoT ad altri ecosistemi. In questo corso, il partecipante seguirà un percorso pratico con un Raspberry Pi e un chip multi-sensore TI Sensor Tag (dotato di 10 sensori integrati: movimento, temperatura ambiente, umidità, pressione, luxmetro, ecc.). Il discente apprenderà i fondamenti di tutte le funzioni IoT e il loro utilizzo nell'ambiente cloud PaaS di AWS IoT mediante l'impiego di funzioni Lambda.