The IOT course provides a comprehensive illustration of emerging Internet of Things (IoT) systems, by focusing on both methodological and applicative/industrial aspects, and including both theory classes and laboratorial activities.
In brief, the course program follows a data-centric approach (it can be summarised with the sentence: from sensors to knowledge), by presenting the data-path from the sensor acquisition till the “data valorisation” through machine-learningand analytics techniques, and considering all the intermediate phases of data communication via emerging Machine-to-Machine (M2M) communication standards, streaming, storage on public/private clouds, and integration through Web semantic approaches.
More in details, after a short introduction to pervasive computing and the emerging applications (e.g. Industry 4.0, domotics, intelligent transportation systems, smart energy, etc.) the course will provide an exhaustive illustration of the enabling components of IoT systems. These include: wireless standardsfor short and long M2M communication (e.g. BLE, 6LoWPAN, LoRa, NB-IoT, …) among sensor edge-devices, languages and boardsfor the development of prototypal WSAN, WPAN, WLAN sensor networks (e.g. Arduino, STM32 Nucleo, RaspberryPI, …), and IoT network stacks and protocols (e.g. CoAP, MQTT, AMQP, …) From the data transmission, we move to architectures and tools for data storage and processing, including sensor time-series database (e.g. InfluxDB) and fog/cloud approaches and services (e.g. Amazon AWS IoT, ThingSpeak). Finally, the course will explore techniques for the valorisation of sensor data and knowledge extractionfrom large IoT deployments and crowd-sensing environments, through the application of machine-learning and data-analytics techniques (e.g. time-series prediction, classification, clustering, anomaly detection, etc.). Current open issues, like scalability, data interoperability (with a special focus on Web-of Things approaches) and energy-efficiency will be largely discussed.
- Sensors and actuators, sketchy illustration of design principles of electronic circuit boards, sensing and data acquisition policies.
- Microcontrollers and System on Chip (SoC) prototypes' programming (e.g. Arduino, STM32 Nucleo, ESP8266, etc.)
- Machine-to-machine (M2M) communication technologies for WPAN (BLE, IEEE 802.15.4, etc.), WLAN and LPWAN (LoRA)
- 6LowPAN and RPL protocols
- Non-IP Stacks (Zigbee, Dash-7, Z-Wave)
- Session layer protocols: XMPP, CoAP, MQTT, AMQP, WebSocket, etc
- The Web of Things and Semantic Web approaches for M2M and IoT
- Architectures for IoT data storage and processing: cloud/fog/edge computing
- Time-series database (INFLUXDB, OPEN TSDB)
- Time-series analytics and forecasting via Machine learning techniques
- IoT cloud platforms (AWS IoT, Watson IoT, ThingSpeak, etc.)
Regarding the teaching methods, the course includes: in-class lessons, laboratorial activities(around 50% of the total hours) and seminars from industries. The lab lessons will be performed at the Digital Cosando Lab. Finally, the course will include research seminars, scheduled in the last month of teaching and held by companies working on IoT systems and Industry 4.0.