Make a motion-sensing camera with the Raspberry Pi
The low-cost Raspberry Pi microcomputer made headlines earlier this year when the Zoological Society of London and the Kenya Wildlife Service joined forces to produce a network of remote cameras to monitor animals and catch poachers.
Although it’s unlikely poachers are a problem in your garden, you can use the same technology to keep an eye on the comings and goings of wildlife in your back yard – albeit with rather more footage of squirrels, and fewer lions.
If you haven’t used a Raspberry Pi before, you’ll need to install the Raspbian OS to your SD card and make sure it’s up to date.
What you’ll need
For this project, you’ll need:
– a Raspberry Pi Model A or Model B
– a Raspberry Pi camera module
– a case with a camera mount
– an SD card with an up-to-date Raspbian installation
– a monitor, keyboard and network connection to set up the software
The first step is to attach the Raspberry Pi Camera Module into the Camera Serial Interface (CSI) port on the top of the Raspberry Pi. This small slot-like port is found on the bottom right of the board’s top surface, between the HDMI port and the Ethernet port.
Pull the tab gently up, then push the bare end of the Camera Module’s ribbon cable into the slot, with the silver contacts on the cable facing towards the left of the board. When the cable is at the bottom of the slot, hold it in place with one hand while pushing the tab back down with the other hand to secure it in place.
Connect the Pi to a monitor, keyboard and network with internet access. If you have a Model A, you’ll need to use a USB to Ethernet or Wi-Fi dongle in order to download the required software, but this can be removed when the camera is in use.
When the Pi has booted, log in using the “pi” account and load the Raspberry Pi Software Configuration Tool by typing:
Scroll down the list to the Enable Camera option and select it with the Enter key. Choose “Enable” in the menu that appears, then choose Finish and then Yes when asked to reboot.
When the Pi has rebooted, log in and install the software that will drive the motion-sensing camera – a Python module for performing image analysis and manipulation, plus a tool for keeping the script running – by typing:
sudo apt-get install python-
Then download the PiCam Python script, which has been developed by Raspberry Pi community members and shared on the official forums:
Finally, create a directory for the script to store its images:
With the software installed, you can disconnect your Pi from the network and position it ready to capture images. To run the capture software, first make it executable by typing:
chmod +x picam.py
Then run it by typing:
The Python script works by continuously taking low-resolution images, and comparing them to one another for changes caused by something moving in the camera’s field of vision. When a change is detected, the camera takes a higher-resolution snapshot and then goes back to look for changes.
The software can need fine-tuning, especially if you place it close to plants, which can move in the wind: open the script in a text editor and experiment with the various options in order to adjust sensitivity or remove areas from being analysed.
Images captured are placed in the “picam” folder (only the higher-resolution images; the lo-res images are discarded). To stop the script, press Ctrl+C on the keyboard.
If you’re placing your camera in an inaccessible location, you can use a wireless network dongle to control it over the network. Find your Pi’s IP address by typing:
Connect to this address using an SSH client such as PuTTY for Windows, and run the script using the Screen utility to prevent it from closing when you disconnect:
Since the Pi is low power, you can truly untether it by connecting it to a battery pack, which can be charged using solar power.
Combined with a waterproof case, such as the PiCE from Elson Designs, it’s possible to turn the humble Pi into a powerful wildlife camera that can take extremely impressive images – even in urban gardens.
Click here to return to the main 21 tech projects page