This course looks at the Internet of Things (IoT) as the general theme of physical/real-world things becoming increasingly visible and actionable via Internet and Web technologies. The goal of the course is to provide students with a comprehensive understanding of the IoT.
By looking at real-world application scenarios, the students will understand the most important IoT technologies and the fundamental Web architectural principles. The students will have the opportunity to apply these technologies to develop some real-world use cases, using hardware (Arduino) and software (Node.JS) open-source platforms for implementing prototypes and testing them as running applications.
The aim of the course is to provide the basis for the design and development of hardware / software systems that includes data from sensors and persistent storage in the cloud. The student is introduced to the API REST approach and supported through an extensive exercise during all the lectures. The teaching aims to train a professional figure capable of designing and implementing software applications on different devices, from sensors to the cloud.
The students should have basic kwolegde of programming and electronic digital design.
The course is composed of a set of frontal lessons and a set of practice sessions. During the frontal lesson, the teacher presents the topics providing also examples of live code that are tested on a real tool chain. Students can use their own laptops during the lecture in order to reproduce what is proposed by the teacher. During the practice sessions, the students have to face up with real problems that they should solve by applying the techniques learnied during the lectures.
The titles of the main contents discussed during frontal lessons are provided in the following list. Each title is associated with a relevatn link where it is possible to obtain the lecture notes:
01 - Introduction to IoT, WoT and Physical Computing [LINK] 02 - The Arduino Platform [LINK] 03 - Serial Communication [LINK] 04 - Sensors [LINK] 05 - JavaScript and HTTP [LINK] 06 - NodeJS [LINK] 07 - REST API [LINK] 08 - Implementing Web Things [LINK] 09 - Interoperability and Semantic [LINK] 10 - Sharing & Securing [LINK]
Ricevimento: Appointments. Writing to riccardo.berta@unige.it
RICCARDO BERTA (President)
ALESSANDRO DE GLORIA
FRANCESCO BELLOTTI (President Substitute)
The exam is an oral examination on the theoretical topics covered during lectures. In particular, the student has to provide fluency in the description of the main concept of RESTful APi design approach.
During the oral exam, the teacher asks the student to illustrate some concepts learned in class. For each concept, the student has to present the definition, the conditions of applicability and pros/cons in relation to other approaches. During the examination, the teacher verifies that the concepts have been learned at a level of knowledge that allows the student to apply them in real cases.