Computer Science · intermediate

Distributed Edge IoT Monitoring System

A system that collects simulated IoT sensor data, processes it at the edge via Docker, and sends only critical alerts to a dashboard.

Project overview

As cloud costs rise, "Edge Intelligence" is becoming a massive field. This project shows you understand the hardware-software interface and how to build efficient, low-latency systems.

Real-world use case

A manufacturing plant monitoring machine health to predict failures before they happen, saving millions in downtime.

Tools and technologies

Skills you can demonstrate

Distributed Systems, Edge Computing, MQTT

Build roadmap

  1. Design the sensor simulators
    Python scripts that mimic vibration, temperature, and pressure sensors publishing to MQTT at realistic rates, with injected anomalies you can trigger on demand.
  2. Set up the MQTT broker
    Run Mosquitto in Docker and confirm messages flow with MQTT Explorer. Define a topic hierarchy per site and sensor so the edge processor can subscribe by wildcard.
  3. Build the edge processor
    A container that subscribes to all sensor topics, runs a TensorFlow Lite anomaly model on a sliding window, and forwards only critical events. Measure its memory footprint.
  4. Store time-series data
    Add InfluxDB to the Compose file. Write normal readings to a bucket with short retention and alerts to one kept longer. Query both to prove the split works.
  5. Build the Grafana dashboard
    Live sensor panels, anomaly rate over time, and a health row showing broker and processor status. Trigger an injected anomaly and watch it arrive on the dashboard.
  6. Package with Docker Compose
    One command starts the broker, three sensors, the edge processor, InfluxDB, and Grafana. Record a clean start from nothing to a live dashboard for the README.

Ways to extend the project

Use a local LLM (via Ollama) at the edge to summarize sensor logs into human-readable "Status Reports" every hour.

How to showcase your work

Open this project in BuildersBenchBrowse Computer Science projects