- Internet of Things Lab
- Summary
Course Syllabus
Obiettivi
L’obiettivo del corso è fornire allo studente i fondamenti architetturali e metodologici alla base della disciplina Internet of Things (IoT) attraverso lezioni teoriche e pratiche. Lo studente svilupperà competenze avanzate di protocolli di comunicazione in rete, integrazioni di dispositivi embedded, sensori, attuatori e piattaforme middleware per la realizzazione di sistemi IoT. Durante le lezioni pratiche saranno sperimentati diversi scenari applicativi, quali ad esempio quelli di home automation, manufacturing, metering.
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
The aim of the course is to teach the architectural and methodological foundations of the Internet of Things (IoT) discipline through theoretical and practical lessons. The student will develop advanced skills in network communication protocols, embedded device integrations, sensors, actuators and middleware platforms for the implementation of IoT systems. During the practical lessons, different application scenarios will be tested, such as those of home automation, manufacturing, metering.
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