81683 - INTERNET OF THINGS

Anno Accademico 2023/2024

  • Docente: Luciano Bononi
  • Crediti formativi: 6
  • SSD: INF/01
  • Lingua di insegnamento: Inglese

Conoscenze e abilità da conseguire

Al termine dell'attività formativa, lo studente comprende le architetture e le metodologie alla base dell'Internet delle Cose (IoT) seguendo un approccio che pone al centro i dati. Lo studente ha una comprensione profonda dei protocolli di rete, dell'integrazione di dispositivi mobili e pervasivi, di piattaforme middleware per sistemi IoT M2M, di principi di computazione edge/distribuita/gateway, di nuovi servizi, di piattaforme di servizio e di scenari applicativi innovativi.

Contenuti

Il corso viene tenuto in lingua Inglese (negli anni precedenti in Italiano). Il corso introduce le tecnologie abilitanti, i protocolli, le architetture software e le applicazioni legate al paradigma emergente dell’Internet of Things (IoT). Dopo una breve introduzione alle tematiche del pervasive computing ed ai suoi campi di utilizzo emergenti (Industry 4.0, domotica, intelligent transportation systems, dispositivi wearable, etc), il corso fornisce una panoramica esaustiva degli elementi abilitanti di un sistema IoT dal punto di vista delle tecnologie per la comunicazione wireless tra dispositivi, delle tecniche di processamento dati, e dei linguaggi per lo sviluppo di applicazioni e la programmazione di prototipi (Arduino, Nucleo STM32, etc). In particolare, le componenti di un tipico sistema IoT vengono illustrate seguendo un percorso data-oriented: dalla generazione dei dati provenienti da sensori, alla loro trasmissione wireless all’interno di una rete WSAN/WLAN/WPAN, al cloud streaming e storage, fino al processing ed integrazione all’interno di un sistema software.

Segue un elenco sommario dei contenuti del corso:

Introduzione ai sistemi IoT: definizioni, applicazioni, tecnologie abilitanti

Componenti IoT: dai sensori al gateway

  • Sensori e attuatori, elementi di progettazione di circuiti elettronici (cenni), politiche di sensing e acquisizione dati
  • Tecnologie di comunicazione senza fili e codifiche per IoT
  • Comunicazione Machine-to-machine (M2M) tra dispositivi: tecnologie wireless abilitanti per reti WPAN (BLE, IEEE 802.15.4, Z-Wave, etc.), WLAN e WSAN (LoRA, Dash7, Spirit, etc.)
  • Architetture di rete e routing (6LoWPAN, RPL)
  • Programmazione di prototipi mediante microcontrollori & SoC (Arduino, Nucleo ST32, ESP8266, etc.)

    Componenti IoT: dal gateway al cloud

  • Protocolli di acquisizione dati: XMPP, CoAP, MQTT, AMQP, WebSocket, etc.
  • Architetture di storage/processamento dati: approcci cloud/fog/edge computing
  • Piattaforme IoT: AWS IoT, Watson IoT, ThingSpeak, etc.
  • IoT & Big-data

    Componenti IoT: dal cloud alle applicazioni

  • Web of Things e Semantic Web 3.0 Standard for M2M and IoT
  • Principi di machine-learning (classificazione, clustering, regressione, anomaly detection, etc.) ed applicazioni legate al contesto dell’analisi di dati di sensori
  • Framework per sviluppo integrato di applicazioni IoT: AllJoyn, Google Thing, Apple HomeKit, etc.

    Criticità ed Open Issues

  • Privacy e gestione della sicurezza
  • Efficienze energetica dei dispositivi e tecniche di power-saving
  • Scalabilità.

Testi/Bibliografia

Slides del docente, link a capitoli di libro, articoli scientifici ed a risorse online indicate sul sito del corso.

Testo consigliato: Riccardo Melen, Vittorio Trecordi, "IoT Networking", Pearson, ISBN 8891931934, ISBN13 978-8891931931, 336 pp. (cover price 34 EUR).

Metodi didattici

Il corso prevede lezioni frontali ed esercitazioni svolte in aula, mediante l'ausilio di PC e proiettore da parte del docente.

In considerazione della tipologia di attività e dei metodi didattici adottati, la frequenza di questa attività formativa richiede la preventiva partecipazione di tutti gli studenti ai Moduli 1 e 2 di formazione sulla sicurezza nei luoghi di studio, [https://elearning-sicurezza.unibo.it/ ] in modalità e-learning.

Modalità di verifica e valutazione dell'apprendimento

L'esame del corso prevede:

(i) una prova orale, consistente in domande aperte su tutto il programma del corso e su un seminario che lo studente dovrà svolgere su argomenti pertinenti al programma del corso e concordati con i docenti; La valutazione del seminario e dell'orale incide per il 60% della valutazione.

(ii) un progetto, su traccia proposta dai docenti o dagli studenti (previa autorizzazione e definizione concordata del progetto). La valutazione del progetto e della sua discussione incide per il 40% della valutazione.

Strumenti a supporto della didattica

Il materiale didattico (slides, codice) presentato a lezione viene messo a disposizione dello studente attraverso la pagina web del corso ufficiale su piattaforma Virtuale (https://virtuale.unibo.it). La pagina contiene inoltre: link a strumenti software utilizzabili per lo svolgimento del progetto, e puntatori a sorgenti di informazioni (es. forum, articoli scientifici) correlate agli argomenti del corso.

E' possibile anche visualizzare altre eventuali informazioni utili a questo link:

https://site.unibo.it/iot

Orario di ricevimento

Consulta il sito web di Luciano Bononi

Consulta il sito web di Marco Di Felice

SDGs

Istruzione di qualità Energia pulita e accessibile Imprese innovazione e infrastrutture Città e comunità sostenibili

L'insegnamento contribuisce al perseguimento degli Obiettivi di Sviluppo Sostenibile dell'Agenda 2030 dell'ONU.