IoT Practical Exercise
As part of the lecture Internet of Things (IoT): Devices, Connectivity, and Services, I was responsible for designing and conducting a practical programming exercise suitable for completion within one to two class sessions. This exercise targeted approximately 200 students during the Winter Semester 2018/19.
The goal was to provide hands-on experience with fundamental IoT communication patterns. The chosen approach involved:
- Communication Protocol: Implementing a typical publish/subscribe system using the MQTT protocol.
- Data Persistence: Storing simulated sensor data in an InfluxDB time-series database backend.
- Sensor Simulation: Generating high-frequency data streams to mimic real-world sensor behavior.
- Implementation Language: Requiring students to implement the entire pipeline from scratch using Python. Foundational Python skills were covered in a separate preparatory course.

The exercise aimed to solidify theoretical concepts discussed in the main lecture by applying them in a practical, albeit simulated, IoT scenario.
Practical Exercise Focus
The hands-on session concentrated specifically on:
- Understanding the MQTT Publish/Subscribe pattern.
- Implementing MQTT clients (publishers/subscribers) in Python.
- Interfacing with InfluxDB for time-series data storage using Python libraries.
- Simulating basic sensor data streams.
- Integrating components into a functional pipeline.
This practical work provided direct experience related to the broader lecture themes of IoT connectivity, data handling, and application development.