Raspberry Pi Surveillance Camera Project: Setup and Code
You can create a surveillance camera project on a Raspberry Pi using the
picamera library to control the camera module and capture video or images. The project involves setting up the camera hardware, writing Python code to record or stream video, and optionally saving footage for later review.Syntax
The basic syntax to use the Raspberry Pi camera with Python involves importing the picamera module, creating a camera object, and using methods like start_preview(), capture(), and start_recording() to control the camera.
Key parts:
picamera.PiCamera(): Creates the camera object.start_preview(): Shows a live preview on the screen.capture('filename.jpg'): Takes a photo and saves it.start_recording('filename.h264'): Starts video recording.stop_recording(): Stops video recording.
python
from picamera import PiCamera from time import sleep camera = PiCamera() camera.start_preview() sleep(5) # Preview for 5 seconds camera.capture('image.jpg') # Take a photo camera.stop_preview()
Example
This example shows how to record a 10-second video using the Raspberry Pi camera and save it as video.h264. It demonstrates starting the preview, recording, and stopping the recording.
python
from picamera import PiCamera from time import sleep camera = PiCamera() camera.start_preview() sleep(2) # Let camera adjust camera.start_recording('video.h264') sleep(10) # Record for 10 seconds camera.stop_recording() camera.stop_preview()
Output
A 10-second video file named 'video.h264' is saved in the current directory.
Common Pitfalls
Common mistakes when building a Raspberry Pi surveillance camera include:
- Not enabling the camera interface in Raspberry Pi settings.
- Forgetting to install the
picameralibrary. - Not giving enough time for the camera to adjust before capturing.
- Using incorrect file extensions for video files (use
.h264or convert to.mp4). - Not handling permissions or storage space for saving videos.
python
from picamera import PiCamera # Wrong: Not starting preview or waiting before capture camera = PiCamera() camera.capture('image.jpg') # May result in dark or blank image # Right: Start preview and wait before capture from time import sleep camera.start_preview() sleep(2) camera.capture('image.jpg') camera.stop_preview()
Quick Reference
Summary tips for Raspberry Pi surveillance camera:
- Enable camera in Raspberry Pi Configuration.
- Install
picamerawithpip install picamera. - Use
start_preview()and wait before capturing. - Save videos as
.h264or convert to.mp4for compatibility. - Ensure enough storage and proper file permissions.
Key Takeaways
Enable the Raspberry Pi camera interface before starting your project.
Use the picamera Python library to control the camera and capture images or videos.
Always start a preview and wait a few seconds before capturing for better image quality.
Save video files in supported formats and manage storage space carefully.
Test your setup step-by-step to avoid common mistakes like missing permissions or wrong file extensions.