IoT Practical Exercise

Designed and taught an IoT practical exercise using MQTT and Python for approximately 200 students.

IoT Practical Exercise 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.

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.
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.

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.