|
MARCO PICONE
Ricercatore t.d. art. 24 c. 3 lett. B Dipartimento di Scienze e Metodi dell'Ingegneria Docente a contratto Dipartimento di Ingegneria "Enzo Ferrari"
|
Insegnamento: Intelligent Internet of Things
Ingegneria informatica (D.M.270/04) -Sede di Mantova (Offerta formativa 2020)
Obiettivi formativi
In termini di conoscenza e comprensione, gli obiettivi del corso sono i seguenti:
● Fornire allo studente una conoscenza di base dei principali principi di funzionamento di sistemi Internet of Things, con particolare attenzione ai protocolli di comunicazione, architetture distribuite e principi di progettazione e sviluppo;
● Fornire allo studente una conoscenza applicata basata sull'utilizzo di un testbed e dispositivi IoT in laboratorio
● Fornire una visione sui trend tecnologici e di ricerca che riguardano il mondo dell’Internet of Things ed Edge Computing
Prerequisiti
Nessun prerequisito obbligatorio
Fortemente consigliati:
● Fondamenti di programmazione
● Internet, Web e Cloud
Programma del corso
Il corso è suddiviso in una parte di didattica frontale ed una parte di laboratori ed esercitazioni pratiche. La prima parte è dedicata all'introduzione all'Internet of Things (IoT), con descrizione dei principali protocolli di comunicazione, paradigmi e approcci architetturali, tematiche legate al Web of Things e all’interoperabilità e argomenti relativi al rapporto tra IoT, Cloud ed Edge Computing. La seconda parte è invece dedicata al laboratorio e alla sperimentazione diretta delle tecnologie IoT. Gli studenti verranno introdotti ai principali sistemi operativi, protocolli, linguaggi e librerie di programmazione e ai tool di sviluppo di livello applicativo.
La parte di laboratorio termina con l'assegnazione di un progetto (singolo o di gruppo), che consiste nel design e nello sviluppo di un'applicazione IoT completa (sfruttando anche i nodi e i device del laboratorio) e nella successiva stesura di una relazione di progetto. Il voto finale è un valore medio (pesato) dei voti di una prova scritta del progetto.
Metodi didattici
Il corso è bilanciato tra lezioni frontali e lezioni pratiche (hands on) in laboratorio sia singole che in gruppo. In aggiunta sono previste due lezioni a carattere seminariale legate al mondo delle aziende che operano nel settore IoT e alla visione futura dei prossimi sviluppi tecnologici.
Le lezioni del corso (sia per quanto riguarda la parte di didattica frontale che di laboratorio) verteranno sull'uso di slide (fornite regolarmente agli studenti), con materiale esclusivo per il corso e anche con i riferimenti precisi ai libri di testo e ad altri articoli/materiale didattico adottato.
Testi di riferimento
- J. P. Vasseur and A. Dunkels, “Interconnecting Smart Objects with IP,” Morgan Kaufmann, 2010
- S. Cirani, G. Ferrari, M. Picone, and L. Veltri, “Internet of Things: Architectures, Protocols and Standards”, Wiley 2018.
- Vengono forniti numerosi altri articoli di letteratura e altri testi di riferimento.
- Dispense delle lezioni
Verifica dell'apprendimento
L’esame è costituito dalle seguenti prove:
● Esame scritto (tipicamente 4 domande) sugli aspetti teorici e progettuali legati al mondo IoT e agli argomenti presentati a lezione.
● Realizzazione di un progetto (singolo e/o in gruppo) partendo da una lista di progetti e argomenti presentati a lezione, con relazione e discussione della stesso in sede di esame
Il voto finale è un valore medio (pesato) dei voti nella prima prova e nel progetto.
Risultati attesi
1. Introduzione: Definizione, storia, il concetto di Smart Object, sfide ed innovazione, standardizzazione, trend tecnologici e sviluppo del mercato
2. IoT Physical/Link Layer: IEEE 802.3, IEEE 802.11, IEEE 802.15.4 e ZigBee, LoRa e LoRaWAN, LowPower WiFi, Bluetooth e BLE, Powerline Communication
3. IoT Network e Transport Layer: IPv4, IPv6, UDP, TCP, confronto stack tradizionale e IoT, 6LoWPAN
4. IoT - Application Layer & Paradigmi di Comunicazione: Introduzione ai protocolli Applicativi per l’IoT (HTTP, CoAP, AMQP, MQTT), Representational State Transfer (REST), Web of Things, Publish/Subscribe communications
5. Constrained Application Protocol (CoAP): IETF CoRE WG RFCs, Internet drafts, characteristics of CoAP, message format, CoAP options, CoAP extensions (resource observation, block-wise transfer, group communications)
6. MQTT (MQ Telemetry Transport): Il protocollo, architettura e componenti, paradigmi di comunicazione, esempi applicativi
7. Resource & Service Discovery: Introduzione ai concetti di Resource e Service Discovery, CoAP Resource Discovery e Directory, WebLinking, CoRE Link Format, Protocolli per la Service Discovery sia Locale che Distribuita e Geografica.
8. CoRe Interfaces & IoT Media Types: Introduzione al protocollo CoRE Interfaces, Analisi delle principali interfacce e scenari di utilizzo, Media Types per Sensor Markup Language, SENML, combinazione di CoRE Interfaces e SENML.
9. IoT Hub & Gateways: Il ruolo di Hub e Gateway in architetture IoT, funzionalità, modelli ed esempi di IoT Hub & IoT Gateway
10. Virtual Objects & Digital Twins: Il ruolo della virtualizzazione nell’IoT, Smart Object e Hub virtualizzati, il concetto e il ruolo del Digital Twin nell’IoT.
11. IoT & Cloud: Evoluzione IoT e Cloud Computing, Caratteristiche fondamentali dei servizi Cloud IoT, Punti di forza e limiti dell’IoT in Cloud, Overview delle principali piattaforme Cloud IoT (es: Bosch IoT Suite, Google Cloud IoT, AWS IoT, Azure IoT ecc ...)
12. IoT & Edge Computing: Principi e pattern dell’Edge/Fog Computing, IoT ed Edge Computing, Cloud/Edge e Architetture Ibride
13. Interoperabilità, Sistemi Legacy e Standardizzazione: Gestione di oggetti e protocolli non standard, approcci architetturali per la standardizzazione, protocol translation, HTTP-CoAP Mapping, CoAP & MQTT
14. Interazione tra Persone e Oggetti: IoT e ambienti pervasivi, Smart Object e Dispositivi Mobili, Wearable Computing ed IoT
15. Architetture Monolitiche e a Microservizi per l’IoT: Approcci per lo Sviluppo Software di soluzioni IoT, principi di architetture basate sui microservizi, virtualizzazione e container, Service Mesh e scalabilità
16. IoT Security & Privacy: Minacce e contromisure; IP layer security (IPSec,HIP); transport layer security (TLS, DTLS); application layer security (S/MIME, SRTP); key agreement and distribution; algoritmi di crittografia, sicurezza per API e Microservizi
17. IoT Hardware & Software: Panoramica sulle principali piattaforme Hardware per la realizzazione di progetti IoT dalla prototipazione alla produzione. Analisi e studio dei principali Sistemi Operativi, Software, Linguaggi di programmazione e librerie Software per l’IoT.
18. IoT Data Processing & Analytics: L’importanza e il valore dei dati in applicazioni IoT, eterogeneità in termini di formati e modelli di trasmissione. Analisi e azionabilità del dato sia storicizzato che in tempo reale. Approcci architetturali di supporto all’analisi dei dati.