A security camera script for the Raspberry Pi Zero 2 W using the Waveshare RPi Camera (F).
The script will start recording a video when the magnetic reed switch is triggered (the door is opened) and the smartphone is not connected to the Raspberry Pi (bluetooth and/or WiFi). The recording will stop when the magnetic reed switch is triggered again (the door is closed).
Integrations:
- Magnetic Reed Switch: Integration with a magnetic reed switch to detect door open/close events and trigger recording accordingly.
- WIFI Detection: Integration with WiFi Access Point to allow user to use bluetooth or WiFi to not trigger recording. Allows user to view recorded videos in the web interface when outside of the home network.
- Bluetooth Detection: Integration with Bluetooth to allow user to use bluetooth to not trigger recording.
- Real Time Clock: Integration with a Real Time Clock to keep track of the time when the Raspberry Pi is powered off.
- Web Dashboard: A web dashboard to view the status of the Raspberry Pi and the recorded videos.
- Raspberry Pi Zero 2 W (or Raspberry Pi Zero 2 WH)
- Headers for the Raspberry Pi Zero 2 W if you did not choose a Raspberry Pi Zero 2 WH (if you do not feel comfortable soldering the headers you can use solderless headers such as these here)
- Waveshare RPi Camera (F) or another compatible camera module
- Flexcable adapter for the camera module
- Bluetooth-enabled device (e.g., a smartphone) to pair with the Raspberry Pi
- KY-025 module (Magnetic reed switch)
- a bunch of Dupont Jumper Wires
- Breadboard (optional)
- DS3231 Real Time Clock Module
Follow the instructions in our documentation to set up the hardware and find out how to use it.
- Web Interface: A user-friendly interface to view recorded videos. WIP.
- Captive Portal: Captive portal to open Web Interface when connecting to the Raspberry Pi's WiFi.
- System Monitor: A system monitor to view the status of the Raspberry Pi (e.g., CPU temperature, CPU usage, RAM usage, etc.). WIP (included in the dashboard).
- Improved Error Handling: Improved error handling to prevent the script from crashing, server from freezing, etc.
This section will be populated with common issues and their solutions as they are identified.
If you'd like to contribute to this project, please follow the guidelines in the CONTRIBUTING.md file.
This project is licensed under the MIT License. Please see the LICENSE
file for more details.