81683 - INTERNET OF THINGS

Scheda insegnamento

Anno Accademico 2017/2018

Conoscenze e abilità da conseguire

Lo studente apprenderà i fondamenti architetturali e metodologici alla base dell'Internet of Things (IoT) e svilupperà competenze avanzate di protocolli di comunicazione di rete, integrazione di dispositivi pervasivi e mobili (end devices) secondo il paradigma Machine-to-Machine (M2M), inclusi sensori e attuatori e boards, e piattaforme middleware per la realizzazione di sistemi IoT basate su comunicazione M2M, edge/distributed/gateway computing. Saranno inoltre progettati e studiati servizi secondo il paradigma dell'Internet of Things. Saranno infine sperimentate diverse piattaforme e scenari applicativi orientate ai servizi utente avanzati.

Programma/Contenuti

Per l'A.A. 2017/18 il corso viene tenuto in lingua italiana e dagli anni successivi in lingua inglese. 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
  • 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

Metodi didattici

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

N.B. Per l'A.A. 2017/18 il corso viene tenuto in lingua italiana e dagli anni successivi in lingua inglese.

Modalità di verifica dell'apprendimento

Il corso prevede:

(i) una prova orale, consistente in domande aperte su tutto il prorgamma del corso e su un seminario che lo studente dovrà svolgere su argomenti pertinenti al programma del corso e concordati con i docenti;

(ii) un progetto, su traccia proposta dai docenti o dagli studenti (previa autorizzazione e definizione concordata del progetto).

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. 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.

SITO WEB DEL CORSO: http://www.cs.unibo.it/iot/

Link ad altre eventuali informazioni

http://www.cs.unibo.it/projects/iot/

Orario di ricevimento

Consulta il sito web di Luciano Bononi

Consulta il sito web di Marco Di Felice