- Area di Scienze
- Corso di Laurea Magistrale
- Informatica [F1802Q - F1801Q]
- Insegnamenti
- A.A. 2025-2026
- 2° anno
- Laboratorio Internet of Things
- Introduzione
Syllabus del corso
Obiettivi
Conoscenza e comprensione
Lo studente acquisirà conoscenze fondamentali sui concetti, le architetture e i protocolli della disciplina Internet of Things (IoT), con particolare attenzione alle tecnologie di comunicazione, ai protocolli di messaggistica (quali MQTT e HTTP), ai sensori/attuatori e ai modelli architetturali del Web of Things.
Capacità di applicare conoscenza e comprensione
Lo studente sarà in grado di progettare e implementare prototipi funzionanti di sistemi IoT, integrando sensori, attuatori e dispositivi embedded con piattaforme middleware, in scenari applicativi reali (es. domotica, smart manufacturing, metering), anche attraverso l’utilizzo di schede hardware come Arduino ed ESP.
Autonomia di giudizio
Lo studente svilupperà la capacità di valutare criticamente le tecnologie e i protocolli adottati per una soluzione IoT, analizzandone efficacia, scalabilità, interoperabilità e adeguatezza rispetto allo scenario applicativo.
Abilità comunicative
Lo studente sarà in grado di descrivere in modo chiaro ed efficace le soluzioni IoT sviluppate, documentandone il funzionamento, le scelte progettuali e i risultati, sia attraverso presentazioni orali che relazioni tecniche e repository online.
Capacità di apprendimento
Lo studente maturerà la capacità di approfondire in autonomia nuove tecnologie IoT emergenti e aggiornarsi su standard e strumenti in continua evoluzione, anche grazie all’esperienza pratica acquisita durante il corso.
Contenuti sintetici
L’insegnamento è costituito da una parte teorica e una parte di esercitazioni. La parte teorica ha come scopo quello di esplorare i principali architetture e protocolli di comunicazione in ambito IoT e esplorare le principali tecnologie che definiscono l’ecosistema cosiddetto Web of Things (WoT). La parte di esercitazioni ha lo scopo di approfondire l’ecosistema IoT e WoT da un punto di vista pratico: reti di sensori smart, embedded systems, protocolli di rete.
Programma esteso
- IoT Introduction: Overview of IoT concepts, applications, and potential impacts on society and industry.
- Internet Principles: Fundamental internet technologies that underpin IoT including TCP/IP protocols and DNS.
- Communication Technologies: Exploration of various communication technologies used in IoT such as WiFi, ZigBee, and cellular networks.
- Messaging Protocols: Detailed study of IoT messaging protocols including MQTT, CoAP, and HTTP.
- The Web of Things: Integration of IoT devices with the web; understanding how devices can use web protocols to interact.
- IoT Boards for Prototyping: Hands-on sessions with popular IoT boards like Arduino and ESP8266 for developing prototypes.
- Sensors and Actuators: Practical work with various sensors and actuators to collect data and trigger actions.
- Data Management and Analytics: Techniques for managing and analyzing data from IoT devices, including the use of databases and data analytics tools.
Prerequisiti
Nozioni di reti di calcolatori, stack internet, linguaggi di programmazione C/C++, programmazione web.
Modalità didattica
L’insegnamento prevede una parte di lezioni teoriche e una parte di esercitazioni in laboratorio e/o in aula e che richiederanno l’uso del proprio PC. La parte esercitativa e di laboratorio prevede lezioni pratiche, del tipo “hands on”, durante le quali lo studente può sperimentare con le proprie mani alcuni scenari applicativi configurati appositamente dal docente. Entrambe le parti saranno basate sia su didattica erogativa che interattiva.
Questa parte dell'attività è funzionale a comprendere nozioni di base di Internet of Things e dei Embedded Systems.
Si prevede la condivisione di tutto il materiale didattico necessario per lo studio degli argomenti dell’insegnamento e la preparazione della prova d'esame attraverso strumenti di elearning.
Il corso verrà erogato in lingua italiana, eccetto che per i termini inglesi che saranno in inglese ed è obbligatoria la frequenza.
Materiale didattico
- Internet of Things: A Hands-on Approach, by Arshdeep Bahga and Vijay Madisetti, 2015, Publisher: Universities Press, ISBN: 978-8173719547 ()
- Building the Web of Things - With examples in Node.js and Raspberry Pi, by Dominique D. Guinard and Vlad M. Trifa, 2016, Publisher: Manning, ISBN: 9781617292682 ()
- GitHub del corso (https://github.com/)
- Dispense fornite dai docenti durante le lezioni (http://elearning.unimib.it/).
Periodo di erogazione dell'insegnamento
Secondo semestre
Modalità di verifica del profitto e valutazione
Esame prevede la progettazione e realizzazione di un progetto assegnato dai docenti. Il progetto sarà discusso con una prova orale che potrà comprendere anche domande sulla parte teorica del corso.
Orario di ricevimento
Flavio De Paoli, Mercoledi dalle 10 alle 12
Paolo Napoletano, Lunedi dalle 14 alle 16
Davide Marelli, Lunedi dalle 14 alle 16
Sustainable Development Goals
Aims
Knowledge and understanding
The student will acquire fundamental knowledge of the concepts, architectures, and protocols in the Internet of Things (IoT) domain, with particular focus on communication technologies, messaging protocols (such as MQTT and HTTP), sensors/actuators, and architectural models of the Web of Things.
Applying knowledge and understanding
The student will be able to design and implement working prototypes of IoT systems by integrating sensors, actuators, and embedded devices with middleware platforms in real-world application scenarios (e.g., home automation, smart manufacturing, metering), including the use of hardware boards such as Arduino and ESP.
Making judgements
The student will develop the ability to critically assess the technologies and protocols adopted in an IoT solution, analyzing their effectiveness, scalability, interoperability, and suitability to the specific application context.
Communication skills
The student will be able to clearly and effectively present the developed IoT solutions, documenting their functionality, design choices, and results through oral presentations, technical reports, and online repositories.
Learning skills
The student will develop the ability to independently explore emerging IoT technologies and keep up to date with evolving standards and tools, supported by the hands-on experience gained during the course.
Contents
The course consists of a theoretical part and a part of exercises. The theoretical part aims at exploring the main IoT communication architectures and protocols and exploring the main technologies that define the so-called Web of Things ecosystem (WoT). The part of the exercises aims to deepen the IoT and IoWT ecosystem from a practical point of view: smart sensor networks, embedded systems, network protocols.
Detailed program
- IoT Introduction: Overview of IoT concepts, applications, and potential impacts on society and industry.
- Internet Principles: Fundamental internet technologies that underpin IoT including TCP/IP protocols and DNS.
- Communication Technologies: Exploration of various communication technologies used in IoT such as WiFi, ZigBee, and cellular networks.
- Messaging Protocols: Detailed study of IoT messaging protocols including MQTT, CoAP, and HTTP.
- The Web of Things: Integration of IoT devices with the web; understanding how devices can use web protocols to interact.
- IoT Boards for Prototyping: Hands-on sessions with popular IoT boards like Arduino and ESP8266 for developing prototypes.
- Sensors and Actuators: Practical work with various sensors and actuators to collect data and trigger actions.
- Data Management and Analytics: Techniques for managing and analyzing data from IoT devices, including the use of databases and data analytics tools.
Prerequisites
Foundations of computer networks, internet stack, programming languages C/C++, web programming
Teaching form
The teaching includes a part of theoretical lectures and a part of exercises in the lab and/or classroom and will require the use of one's own PC. The exercise and laboratory part will involve hands-on, hands-on type of lectures, during which the student can experiment with his or her own hands some application scenarios specially configured by the lecturer. The two parts will be based both on delivery mode and interactive mode.
This part of the activity is functional to understand basic notions of Internet of Things and Embedded Systems.
It is expected to share all the necessary teaching materials for the study of the teaching topics and the preparation of the exam through elearning tools.
The course will be delivered in Italian, except for the English terms which will be in English and attendance is mandatory.
Textbook and teaching resource
- Internet of Things: A Hands-on Approach, by Arshdeep Bahga and Vijay Madisetti, 2015, Publisher: Universities Press, ISBN: 978-8173719547 ()
- Building the Web of Things - With examples in Node.js and Raspberry Pi, by Dominique D. Guinard and Vlad M. Trifa, 2016, Publisher: Manning, ISBN: 9781617292682 ()
- GitHub of the course (https://github.com/)
- Teachers' slides (http://elearning.unimib.it/).
Semester
Second Semester
Assessment method
The exam consists in the design and realization of project assigned by the teachers. The project will be discussed as oral presentation and teachers can ask questions about theoretical parts of the course program.
Office hours
Flavio De Paoli, Wednesday from 10 to 12
Paolo Napoletano, Monday from 14 to 16
Davide Marelli, Monday from 14 to 16
Sustainable Development Goals
Scheda del corso
Staff
-
Davide Marelli
-
Paolo Napoletano