MATEMATICA E INFORMATICAInformaticaAnno accademico 2024/2025
9796004 - INTERNET OF THINGS
Docente: FEDERICO FAUSTO SANTORO
Risultati di apprendimento attesi
- Conoscenza e capacità di comprensione (knowledge and understanding). Il corso di "Internet of Things" si prefigge l'obiettivo di fornire agli studenti le conoscenze sui principi, modelli, tecniche e strumenti per la programmazione e progettazione di sistemi e architetture IoT.
- Capacità di applicare conoscenza e comprensione (applying knowledge and understanding). Attraverso l'analisi di diversi casi di studio e tramite esercitazioni in laboratorio, il corso consente allo studente di ottenere le capacità di applicare le tecniche acquisite durante le lezioni teoriche nei contesti applicativi dove è richiesto l'utilizzo di tecnologie per l'IoT.
- Autonomia di giudizio (making judgements). Le lezioni del corso e soprattutto le attività di laboratorio sono organizzate in modo da includere un'analisi critica di casi di studio, delle soluzioni impiegate, delle possibili varianti e dei pro e contro di queste ultime, al fine di consentire allo studente di acquisire un'adeguata autonomia di valutazione delle scelte tecniche.
- Abilità comunicative (communication skills). Le abilità comunicative dello studente saranno considerate soprattutto durante le varie esercitazioni e esame finale con progetto annesso, in cui lo studente è chiamato ad esporre le scelte implementative adottate e motivandole opportunamente.
- Capacità di apprendimento (learning skills). Le capacità di apprendimento degli studenti saranno valutate durante le esercitazioni di laboratorio, le quali hanno l'obiettivo di testare quanto e come gli studenti abbiano compreso il funzionamento delle tecnologie introdotte durante il corso.
Modalità di svolgimento dell'insegnamento
Le lezioni sono tenute in aula con l'ausilio di slide, messe a disposizione degli studenti sul portale Studium. Le lezioni frontali teoriche sono intervallate da esercitazioni pratiche, svolte nella stessa aula di lezione o laboratorio adeguato. Gli studenti sono invitati a formare piccoli gruppi di lavoro (massimo 2-4 persone) per lo svolgimento delle esercitazioni proposte.
Il corso prevede delle ore aggiuntive di Didattica integrativa, durante le quali vengono tipicamente svolti approfondimenti sugli argomenti già trattati nelle ore di esercitazione di gruppo.
Prerequisiti richiesti
Altamente consigliabile:
Programmazione a microcontrollori
Programmazione 2
Reti di Calcolatori
Frequenza lezioni
La frequenza delle lezioni è obbligatoria
Contenuti del corso
Contenuti del Corso
Introduzione ai sistemi IoT
Cos’è l’IoT
Elementi di un ecosistema IoT
Tecnologie e business per l’IoT
Applicazioni IoT e implicazioni
Componenti IoT
Dai sensori ai Gateway
Microcontrollori (Esp8266, Esp32, STM32, Arduino, Raspberry)
Sensoristica
Sistemi Embedded (Raspberry, Pi Zero)
Frameworks (Arduino, FreeRTOS, Gobot, etc)
Reti e Connettività
Tecnologie wireless per l’IoT
RFID
Le reti LoWPAN
Introduzione ai protocolli LoWPAN per l’IoT (non-IP) (Bluetooth, BLE, 802.15.4)
Introduzione ai protocolli WLAN per l’IoT (Wi-Fi, 6LoWPAN)
Introduzione ai protocolli WSAN per l’IoT (LoRa)
Comunicazione attraverso Internet
Progettazione di una soluzione Gateway based
Protocolli di comunicazione per l’IoT
HTTP
MQTT
WebSockets
Integrazione dei sistemi IoT
Integrazione con il Web
Progettazione e sviluppo di una soluzione complessa
Introduzione a LoRaWAN
Introduzione a Chirpstack
Introduzione a Docker
Realizzazione di una soluzione LoRaWAN
Machine learning applicato all’IoT
Introduzione a Keras
Introduzione a TensorFlow Lite
Introduzione a TensorFlow JS
Realizzazione ed utilizzo di un modello di rete neurale su dispositivi IoT
Testi di riferimento
Il docente fornirà il materiale
Programmazione del corso
| Argomenti | Riferimenti testi |
1 | IoT Introduction | |
2 | IoT Components | |
3 | IoT Communication | |
4 | IoT Integration | |
5 | IoT IA | |
6 | IoT Security | |
Verifica dell'apprendimento
Modalità di verifica dell'apprendimento
La verifica delle competenze acquisite viene effettuata tramite esame scritto e colloquio orale. La valutazione complessiva tiene conto della successiva prova progettuale. Il colloquio orale è da intendersi integrativo alla prova scritta, con risultato almeno sufficiente.
Tutte le prove di cui sopra sono obbligatorie.
Il progetto è obbligatorio e potrà essere richiesto esclusivamente dopo il superamento della prova scritta e orale (se richieste). Il progetto assegnato dovrà essere consegnato entro 45 giorni dall'assegnazione e potrà essere proposto dallo studente o dal gruppo di persone.
Il progetto dovrà essere poi pubblicato in maniera PUBBLICA sul repository ufficiale del corso (https://github.com/UniCT-Internet-of-Things).
Il voto è attribuito secondo il seguente schema:
- Non approvato: lo studente non ha acquisito i concetti di base e non è in grado di rispondere ad almeno il 60% delle domande né di svolgere gli esercizi teorici e pratici.
- 18-20 : lo studente dimostra una padronanza appena sufficiente dei concetti base, e/o riesce ad impostare gli esercizi teorico/pratici con molta difficoltà e con vari errori.
- 20 - 25 : lo studente ha superato con successo la prova scritta ed orale, dimostrando una buona padronanza dei contenuti del corso
- 25 - 29: lo studente ha affrontato la prova progettuale
- 29 - 30 e lode : lo studente ha affrontato tutte le prove d'esame, riuscendo inoltre a progettare e a sviluppare un progetto IoT senza problemi.
Esempi di domande e/o esercizi frequenti
Realizzare una soluzione IoT per monitorare una coltivazione di piante
English version