HOWTO: Using Linux to simplify wildlife hunting
I have a 30 acre ranch outside of a little town called Hunt, TX, and the place is crawling with deer of all kinds, including
blackbuck antelope and
Since we love venison, and axis makes the most excellent venison sausage, we like to harvest deer from time to time out of this ranch. The problem is: during what part of the day are they coming around our feeders? If we make the 45 minute drive out there, will it be worth it? How can we know with certainty that deer will be around when we go? The traditional solution has been that you climb into a blind and wait several hours for them to show up. This being the modern day that it is, however, I figured there must be a better way.
As with most other problems, the solution is a Linux box. The ranch does have a house with power and a phone line, so we know that we can run a Linux box there, with a modem that can dial-out to send any data I need sent.
My wife's old Linux box (with a pink case!) was recently retired, so I chose it and purchased a D-Link DSB-C310 webcam, which uses the OV519 chipset, to provide the eye of this computer. The kernel drivers from Mark McClelland work great with this camera. Once the driver is built and installed, the camera is immediately available after doing a modprobe ov51x. Mark also supplied me with a small program (showvideo.c) that captures video from the device.
Once I was able to capture video in a screen, I knew I was in business. I hacked the program to cause it to write the image to disk every X seconds (configurable via command-line argument). At this point, I have a directory that is being filled with images that are taken every X seconds, and there is no limit to what I can do with this.
I started to experiment with motion detection, using pnmpsnr. That program takes two arguments: the old image and the new one, and it tells you how much the two images differ. By playing with the thresh-holds, I was able to cause the system to fairly accurately detect movement and mark the changed image as "interesting". Unfortunately, rapid changes in sunlight (clouds) or tree movement (wind) also triggered the motion detection, so there is more work I have to do in this area.
In the meantime, I am recording one image every 120 seconds (2 minutes) and processing them later. The system is comprised of 3 scripts, named after the time at which they will run:
Then, back at my home, I have a script that runs around 5am which downloads the images from the previous day off my server. When I arrive at my desk at 5:45am all the images from yesterday are there and ready for me to view. Using gqview it's easy to run through them all and look for anything interesting (like a deer or even a wild hog). Additionally, with all the images at my fingertips, I can use those images to refine my motion detection and perhaps even re-implement it at a later time, using my automatic script-download-and-execute script.
I now have images from all daylight hours, every 2 minutes, from the ranch in Hunt, and that makes me very happy. Soon I will be able to find patterns in the movement of the animals, and I will know exactly what time of day is best to arrive and prepare for a harvest. No more wasted trips out there, and a successful hunt is basically guaranteed. Happy!
|Subject||Topic Starter||Replies||Views||Last Post|
|Easy hunting?||GreyBeard||0||1,283||Sep 23, 2004 10:51 AM|
You cannot post until you login.