Edge-Computing Monitoring
An edge-computing system that detects people and threats — fire, smoke — at the edge on a Raspberry Pi cluster, and surfaces events through a live web frontend and Telegram notifications. This site documents all ten seminar tasks: what was built and how it works.
What the system does
Compute is split across two layers. Hardware nodes — a camera-equipped Raspberry Pi and a Hailo AI accelerator — run as host services directly on the Pis, because they're bound to physical devices. Everything else runs as a Kubernetes (k3s) workload: the backend API, object storage, database, MQTT broker, frontend, and the Telegram notifier. See System Architecture for the full breakdown and the end-to-end event flow.
The ten tasks
Ten tasks from the course brief, each mapped to where it lives in this repository.
Infrastructure
PXE-diskless Raspberry Pi cluster: Pi 5 control plane, eight Pi 3 workers netbooting over TFTP/NFS.
Performance Benchmarking
HPL (LINPACK) GFLOPS measurements across 1, 2, 4, and 9-node configurations.
MPI Deployment & Scalability
OpenMPI across the Pi 3 workers; Amdahl and Gustafson demonstrated with two custom MPI apps.
Scaling Laws (non-MPI)
POV-Ray row-split rendering harness demonstrating Amdahl's and Gustafson's Laws without MPI.
System Monitoring
Prometheus + Grafana, Node Exporter on every Pi, ten alert rules piped to Telegram.
Object Detection Model
Custom-trained YOLOv8n on a 30k-image fire/person/smoke dataset — not a pretrained model.
Backend
FastAPI on k3s, 3 replicas, replicated PostgreSQL (CloudNativePG) + distributed MinIO.
Frontend
React app with a live, MQTT-pushed event log of detections and evidence images.
Telegram Notifications
Telegram bot service with subscriber self-registration and dry-run mode for testing.
Documentation & Risk Register
This site, plus an unusually candid honesty document about what the HA design does and doesn't survive.
Repository layout
| Path | What | Task |
|---|---|---|
PXE-Boot/ | Diskless PXE network-boot setup for the Pi 3 workers | 1 |
HPL/ | High-Performance LINPACK GFLOPS benchmark | 2 |
MPI/task_3/ | MPI benchmark tutorial + Amdahl/Gustafson results | 3 |
PovRay/ | Non-MPI scaling-law demo (POV-Ray render split) | 4 |
MonitoringPIs/ | Prometheus + Grafana monitoring stack | 5 |
ai-model/ | YOLOv8n fire / person / smoke model: training + detection | 6 |
backend/, cluster/ | FastAPI backend, k3s manifests, MinIO + PostgreSQL | 7 |
frontend/ | React/Vite web UI | 8 |
telegram-bot/ | Telegram notifier service | 9 |
docs/, pages/ | Architecture docs, risk register, this site | 10 |
sensor-node/, inference-node/ | Camera streamer + Hailo inference — host services on the Pis | 1, 6 |
Every page here is written from the module README.md files and the design
docs already in this repository (docs/architecture.md,
docs/storage.md, docs/flow.md, docs/weaknesses.md,
plus each subtask's own README).