5.4 KiB
{: .align-left style="padding:0.1em; width:5em" alt="Server/Network Icon"}
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.
Associated Lecture Topics
- Arduino and Raspberry Pi
- Wearables & Ubiquitous Computing
- Edge/Fog/Cloud Computing
- Scalable Algorithms
- Spatial Data Mining
- Blockchain & Digital Consensus
- Predictive Maintenance
- Smart IoT Applications
- Cyber Security
- Web of Things
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.
{: .align-left style="padding:0.1em; width:5em"}
In the context of the lecture Internet of Things (IoT), my task was to come up with a practical exercise which could be implemented in the scope of 1-2 classes. We went with a typical MQQT based communication approach, which incooperated an InfluxDB backend, while simulating some high frequency sensors.
The task was to implement this all from scratch in Python, which was tought in seperate lecture.
{:style="display:block; margin-left:auto; margin-right:auto; padding: 2em;"}
This practical course was held in front of about 200 students in winter 2018.
Contents
The general topics of the lecture included: 1) Arduino and Raspberry Pi, 2) Wearables and ubiquitous computing, 3) Metaheuristics for optimization problems, 4) Edge/fog/cloud computing and storage, 5) Scalable algorithms and approaches, 6) Spatial data mining, 7) Information retrieval and mining, 8) Blockchain and digital consensus, 9) Combinatorial optimization in practice, 10) Predictive maintenance systems, 11) Smart IoT applications, 12) Cyber security & 13) Web of Things
d0fa738f (rebase from mnml mistakes source)