An ESP32-CAM-based security camera project with internal web hosting, real-time clock integration, camera management, and custom configuration storage. This project demonstrates how to efficiently combine hardware modules on limited resources, manage multiple devices, and provide a web interface for real-time monitoring.
- Internal Web Server: Fully custom HTTP server to manage the device through a web interface (
homepage.html). - Real-Time Camera & RTC Management: Handles camera module and real-time clock simultaneously using a custom initialization/deinitialization mechanism to resolve pin conflicts.
- Custom Embedded Database: Lightweight storage for device configuration.
- SD Card Support: Supports SD cards up to 32GB, storing captured images in JPEG format with compression.
- WiFi Access Point Mode: Works as an AP, allowing other devices to connect directly for camera management.
- Modular Library Structure: Clean separation of functionality into libraries for camera, WiFi, HTTP routes, SD card handling, printer, sleep modes, and website rendering.
- Lightweight and Efficient: Optimized for ESP32 memory constraints, ensuring reliable operation for continuous monitoring.
- Efficient Module Management: Camera and RTC share pins. Uses dynamic initialization/deinitialization to switch modules based on runtime needs.
- Storage & Compression: Images are stored as JPEG on SD card with configurable compression.
- Web Interface: HTML-based interface for monitoring camera feed, device configuration, and SD card contents.
- Custom Embedded Database: Stores device settings and preferences persistently on the ESP32 module.
- Scalable SD Card Support: Tested with up to 32GB SD cards.
- WiFi AP Mode: Devices can connect directly to the ESP32 without a router.
- ESP32-CAM module
- Micro SD card (up to 32GB)
- Arduino IDE or PlatformIO for building and uploading firmware
- USB-to-Serial adapter for initial programming
- Clone the repository:
git clone https://github.com/yourusername/esp32-cam-security.git
cd esp32-cam-security