IoT Master Lab Course (IN2106)
Prof. Dr. Michael Gerndt, M.Sc Isaac Nunez
Dates: | Mondays, 10:15 - 11:45. |
Premeeting: | Tuesday, July 2nd, 18:00 - 18:30 Meeting ID: 217-694-4321 Password: 738086 |
First meeting: | 21.10.2024 |
ECTS: | 10 |
Language: | English |
Type: | Master Lab Course, 6P |
Moodle course: | Available Soon |
Registration: | Registration is through the matching system |
Goals & Objectives
This course will immerse students in novel sensing workflows with the Internet of Things (IoT) technologies. Throughout the semester, the course will provide hands-on experience in sensing, modeling, and forecasting behavior patterns for Senior Homecare and the necessary infrastructure to support these tasks. For example, by using cameras, a Digital Twin of the senior would learn their daily movement patterns, and through anomaly analysis, a monitoring system could alert their caretaker of changes in their habits. For this, you will develop solutions suitable for microcontrollers while integrating them into edge and cloud platforms.
To achieve this, the course has the following objectives:
- Provide the space and tools to gather knowledge on how to program sensors.
- Enable the students to discover which aspects are relevant when designing and deploying an IoT application.
- Motivate the students to dive into the field of IoT and its interdisciplinary applications.
Prerequisites
For successful participation on this course, it is most important to be enthusiastic about developing IoT Applications. It is also helpful to have some background on microcontroller programming, web technologies or data analysis techniques. Furthermore, it is advantageous to have some experience in some of the following topics:
- Programming in C/C++ (focused on embedded devices)
- Programming in Python or NodeJS
- ML frameworks, e.g, TensorFlow or Pytorch
- Docker
Description
Internet of Things (IoT) provides rich platforms with distributed and lightweight applications that have transformed businesses of companies such as Apple, BMW, Siemens, Huawei, and many others. The main idea of IoT is to collect data from devices and its surrounding environment through sensors. Likewise, privacy concerns on data transfer, storage, and processing has pushed to rely more on edge systems since they are close to where the data is generated. Then, this requires the development of efficient and privacy-aware IoT Platforms.
To understand these scenarios, students will develop a monitoring system for Senior Homecare. We will mainly focus on modeling via a Digital Twin. For this, students will work in groups to develop and deploy an infrastructure that allows family members to monitor their seniors remotely. The final solution will be deployed at the edge using a custom cluster with hardware acceleration. Each group will perform a given task from porting our existing IoT Platform to evaluating the generated models with different behavior parameters.
As to evaluate the system, students will also develop a virtual apartment. The goal of the virtual apartment is to simulate a real-life scenario of a senior at home. Then, the Monitoring System would react accordingly to the generated signals.
Organization
The course is organized in two parts: On the first, we will explore the fundamentals of programming microcontrollers with the help of ESP32s and ESP-IDF v5.0. Additionally, we will introduce the concept of an IoT Platform and the important parts that compose it. And finally, we will explore the basis of event-driven programming on microcontrollers.
On the second part, the students will work in groups. Each group is will be tasked with implementing one part of the Monitoring system. The groups will be based on your topic interest. The implementation schedule follows four phases in an agile-like format:
- First phase: the groups will provide a clear definition of expected results for their given task.
- Second phase: for this phase, the students will design and implement a prototype of their assigned task. At the beginning of the phase, each group will present expected outcomes of the prototype.
- Third phase: at the beginning of this phase, the groups will define a Minimum Viable Product (MVP). To achieve their desired MVP, the groups will extend their prototype to meet the defined goals. Here, the groups are also expected to present representative metrics to evaluate their system, e.g., reliability, availability, response time. For this phase, we will also provide an expected sequence of events that the system should handle.
- Fourth phase: this is the final phase and it serves as the evaluation phase for the system. Here, we will use an unknown sequence that still follows the same structure as the one given for the third phase. For this phase, the groups must document their system to detail.
We will have weekly or bi-weekly meetings to check your progress.
Grading
The course will use a weighted average grading scheme between the four phases, the given tasks during the theoretical classes and a group oral evaluation at the end of the semester. Further details will be given during the semester.
Further Opportunities
Further options to go deeper into this field are available as Master Thesis. We also offer our lecture and seminar on Cloud Computing or Guided Research.