A simple webcam interface for ESP-32 CAM. Built using Docker, Flask, and Python scripts. It features a video feed and motion-triggered text messaging.
ESP-32 CAM (you can buy these anywhere, I got mine from the link and they work well)
A server, raspberry pi's work well but you can use anything
git clone git@github.com:AustinReese/FreeSecure.git
cd FreeSecure
Edit the values in .env, I recommend changing the default passwords. Twilio credentials are optional, you can sign up for twilio here. They offer a free trial.
cd FreeSecure
docker compose build
docker compose up
- In your Arduino IDE, go to File> Preferences
- Add https://dl.espressif.com/dl/package_esp32_index.json to additional board manager URLs and click ok
- Go to Tools > Board > Boards Manager
- Search for esp32 and install the package by Espressif Systems
- In Tools > Board > ESP32 Arduino > AI Thinker ESP32-CAM
- Open FreeSecure/arduino/connect_to_server/connect_to_server.ino in Arduino IDE
- Replace <YOUR_NETWORK_SSID>, <YOUR_NETWORK_PASSWORD>, and <HOST_SERVER_IP> with the proper values
- Upload the sketch to your ESP32-CAM, the serial monitor should indicate a successful connection. The video stream can be found at http://localhost
Backend service logs are automatically saved to /tmp/*.log, they will also appear in the Docker console