website/_posts/teaching/2018-10-15-IOT.md
2025-03-27 22:57:31 +01:00

3.7 KiB

layout, title, categories, tags, excerpt, header, role, skills, duration
layout title categories tags excerpt header role skills duration
single IoT Practical Exercise teaching teaching iot mqtt python influxdb distributed-systems practical-course Designed/taught IoT practical (MQTT, Python) for ~200 students.
teaser
/assets/images/teaching/server.png
Practical Course Instructor/Designer Curriculum Design (Practical Exercise), IoT Protocols (MQTT), Time Series Databases (InfluxDB), Python Programming, Live Coding, Large Group Instruction Winter Semester 2018/19

Server Icon{: .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.
Diagram showing simulated sensors publishing via MQTT to a broker, which is subscribed to by an InfluxDB logger
Conceptual pipeline for the MQTT-InfluxDB practical exercise.

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.
This practical work provided direct experience related to the broader lecture themes of IoT connectivity, data handling, and application development.