81683 - INTERNET OF THINGS

Academic Year 2017/2018

  • Moduli: Luciano Bononi (Modulo 1) Marco Di Felice (Modulo 2)
  • Teaching Mode: Traditional lectures (Modulo 1) Traditional lectures (Modulo 2)
  • Campus: Bologna
  • Corso: Second cycle degree programme (LM) in Computer Science (cod. 8028)

Learning outcomes

Students will learn the architectures and methodologies at the basis of the Internet of Things (IoT), and will develop advanced competences about network protocols, integration of mobile and pervasive end-devices in a Machine-to-Machine (M2M) paradigm. Devices considered for integration will include sensors and actuators as well as more complex boards. Middleware platforms for M2M-based IoT systems will be illustrated as well as edge/distributed/gateway computing principles. New services, service platforms and application scenarios will be illustrated, designed and experimented, with high emphasis on advanced and visionary services.

Course contents

During the A.Y. 2017/18 the classes will be in Italian, and in the next years the classes will be kept in english. The class will introduce the enabling technologies, protocols, software architectures and applications for the development of the emerging Internet of Things (IoT) paradigm. After a short introduction to pervasive computing and the emerging fields of applications (e.g. Industry 4.0, domotics, intelligent transportation systems, wearable devices, etc.) the class will provide a exhaustive illustration of the enabling components of IoT systems. These will include wireless communications among end-devices and towards infrastructures, data processing, languages for the development of applications and prototypes (Arduino, STM32 Nucleo, etc.). Specifically, the components of typical IoT system will be illustrated by following a data-oriented approach: from data generation on behalf of sensors to data transmission in WSAN, WPAN, WLAN, up to cloud streaming and storages, and including the data processing and integration in complex software systems.

A short summary of the course contents includes:

Introduction to IoT systems: definitions, applications, enabling technologies

IoT components: from sensors to gateway.

  • Sensors and actuators, sketchy illustration of design principles of electronic circuit boards, sensing and data acquisition policies.
  • Machine-to-machine (M2M) communication among devices: wireless technologies for WPAN (BLE, IEEE 802.15.4, Z-Wave, etc.), WLAN and WSAN (LoRA, Dash7, Spirit, etc.)
  • Network architectures and routing (6LoWPAN, RPL)
  • Microcontrollers and System on Chip (SoC) prototypes’ programming (e.g. Arduino, STM32 Nucleo, ESP8266, etc.)

IoT components: from gateway to cloud.

  • Data acquisition protocols: XMPP, CoAP, MQTT, AMQP, WebSocket, etc.
  • Architectures for data storage and processing: cloud/fog/edge computing
  • IoT platforms: AWS IoT, Watson IoT, ThingSpeak, etc.
  • IoT & Big-data

IoT components: from cloud to applications.

  • Web of Things and Semantic Web 3.0 Standard for M2M and IoT
  • Machine learning principles (classification, clustering, regression, anomaly detection, etc.) and applications for sensor data analysis.
  • Frameworks for integrated development of IoT applications: AllJoyn, Google Thing, Apple HomeKit, etc.

IoT Open Issues and bottlenecks.

  • Privacy and Security management;
  • Energy efficiency for end-devices and power saving techniques;
  • Scalability.

 

Readings/Bibliography

Slides, link to book chapters, scientific papers, online resources indicated on the course's website.

Teaching methods

Lessons and experimental classes with PC and projectors.

During the A.Y. 2017/18 the classes will be in Italian (slides in english), and in the next years the classes will be kept in english.

Assessment methods

The final assessment will include:

(i) the oral exam, with questions on the whole program, and a seminar on behalf of each student on a topic relevant for the IoT and course program, to be agreed with the teaching staff;

(ii) a project, based on proposed lines provided by teaching staff or students themselves (in the latter case it is mandatory to have a preliminary definition and approval agreed with the teaching staff).

Teaching tools

The material (slides and code) illustrated in the lessons will be made available to students on the website of the course. The website will also contain: links to SW tools available for the development of the project, links to sources of information (e.g. forums, scientific papers, etc.) related to the topics of the classes.

COURSE WEBSITE: http://www.cs.unibo.it/iot/

Links to further information

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

Office hours

See the website of Luciano Bononi

See the website of Marco Di Felice