camera

🎯 MVP: Scalable IoT Camera System (CammyCam)

build Coverage license Current Version

Supports standalone ESP32 camera operation and optional hub aggregation (Docker, Pi, or bare metal).

✈️ Table of Pages

Below is a quick reference table of the main documentation pages.

Page Description
What Sets it Apart Why you should just do it yourself and the cost
MVP High level project goals and summary
Status Tracker Feature progress table
Unit Testing Test and coverage instructions
Build It Yourself Clone & Docker setup guide
Firmware Firmware API reference
Hub Guide Hub API reference
Communication Methods Communication and architecture

πŸ“¦ Project Summary

This project builds a modular, scalable IoT camera system using Seeed Studio XIAO ESP32 S3 Sense boards and an optional hub (e.g. Raspberry Pi 5 or any Docker-capable host).

See Status Tracker for up-to-date progress on these features.


πŸ–Ό UI Style and Vibe

All UI interfaces follow the Cozy Cabin Style Guide, featuring warm, woodgrain-inspired themes with relaxing, friendly components.


βš™οΈ Hardware Inventory

Cameras

Hub/Server (Optional)

Power


🧠 Core Architecture

Mode Description
Standalone ESP32 starts in Soft AP mode with full local UI and config
Hub Mode ESP32 connects to user-provided SSID and syncs with a hub server
Hub Runs FastAPI backend (on Pi, Docker, or metal) to manage cameras

🎯 MVP Features

ESP32 Camera (Standalone & Fallback)


Hub Mode (Optional Pi/Docker Aggregator)

Not hardware-dependent: can run on Raspberry Pi, bare metal, or inside Docker.


πŸ“‘ Communication & Streaming

Type Protocol Notes
Video Stream WebSocket Real-time, low-latency MJPEG or raw
Commands REST API JSON-based control and config
File Sync HTTP/POST ESP32 can push videos/snapshots to hub

πŸ”’ Security & Networking


πŸ”‹ Power Management


πŸ”„ Deployment & Updates


πŸ‘€ Users & Roles


πŸ” Diagnostics & Logging


❓ What’s Not Finalized Yet (TBD)


🧱 Stack

Component Stack
ESP32 Arduino/C++, CameraWebServer, WebSocket+REST
Hub Python 3.12+, FastAPI, async, OpenAPI docs
Frontend Vite, Vue, Cozy Cabin UI
Media MP4 (video), JPEG (snapshots)

πŸ›  Development & Next Steps