Skip to content

SentriPi — Edge Computing Cluster

Welcome to the documentation for the SentriPi edge computing cluster — a fault-tolerant, Raspberry Pi-based system for real-time threat detection at the edge.

Overview

SentriPi is a cluster of single-board computers that detects threats (smoke, mask, person, weapon, fire) via object detection on a sensor node, stores event data in a distributed file system resistant to single-node failure, and provides real-time monitoring through a web frontend. System health is tracked via Prometheus and Grafana, while sensitive events are pushed to a Telegram bot for instant notification.

The cluster's raw compute performance was evaluated using HPL LINPACK (GFLOPS), and its parallel scaling characteristics were analyzed using MPI and non-MPI (Task Distributor) approaches to validate Amdahl's and Gustafson's laws.

Hardware

Each team received an aluminum case containing the following hardware:

Component Quantity Role
Raspberry Pi 5 (8 GB) 1 Master / PXE + NFS server
Raspberry Pi 4 1 Sensor / camera node
Raspberry Pi 3 8 Worker nodes
Raspberry Pi AI Camera Module 1 On-device object detection
Raspberry Pi AI HAT+ 1 Edge AI accelerator
Raspberry Pi Camera Module 1+ Camera input
Smart Gigabit Ethernet switch 1 Cluster networking
500 GB NVMe SSD (external) 1 High-speed storage
Raspberry Pi Flash Drive USB 3.0 128 GB 1 Additional storage
MicroSD cards (32 GB) 10 Boot / OS per node
Raspberry Pi 27W USB-C PSU 1 Pi 5 power
Raspberry Pi 15W USB-C PSU 1 Pi 4 power
Anker USB power supplies (60 W / 40 W) 1–2 Pi 3 power
Micro USB power cables 8 Pi 3 power cables
RJ45 patch cables 10+ Network connections
HDMI + Micro-HDMI cables + adapters 2 Display connections
USB 3.0 card reader 1 SD card flashing
SD/MicroSD card adapters 2 Card compatibility
Spacer bolts M2.5 Assorted Case mounting
Power strip 1 Central power

Software Stack

Layer Technology
Operating System Raspberry Pi OS (workers PXE-booted from master)
Container Orchestration Docker Compose
Distributed Storage SeaweedFS (S3-compatible object storage)
Object Detection YOLO (Ultralytics) — custom-trained model
Monitoring & Alerting Prometheus + Grafana + Node Exporter
Database MongoDB (event metadata)
Notifications Telegram Bot API
API Communication RESTful (JSON over HTTP)

Architecture

System Architecture

The sensor node (Pi 4 with AI Camera) captures frames and runs YOLO inference. Detection events are sent via REST to the backend on the Pi 5, which stores snapshots in SeaweedFS (distributed across Pi 3 workers) and event metadata in MongoDB. Images are served directly via a REST URL for the frontend to display. The frontend polls the REST API at a fixed interval and provides a live map with timestamps and evidence images. Prometheus scrapes Node Exporters on every node for health metrics, and a Telegram bot alerts on threat detections and infrastructure anomalies.