Tuesday, June 22, 2010

How to set up an always-on webcam

photo by mofetos
Before you even read this post, let me make something clear: This is a very geeky project that will not be even remotely interesting to most of you. Save yourself the trouble and skip it.

Still with me? Okay, let's get started. 

This is a project I completed recently as a pure proof of concept. I wanted to see if I could do it and how hard it would be. The answers are "yes" and "surprisingly easy." Here's the idea: set up a dedicated PC somewhere in your house with a webcam that automatically takes snapshots every so many seconds and uploads them directly to an FTP server. There are many reasons why you might want this, from home security to pointless fun.

Personally, I wanted it for use with WorldTour, the Android app I mentioned in my previous post. This app automatically pulls an image from a webcam every 30 minutes and sets it as your homescreen wallpaper. I thought it might be cool to have my wallpaper display a current image from looking out the window at home. So my wallpaper would always be displaying a view out the window, as if I were at home. Nice idea, eh?

The Computer
To get started, you'll need a webcam and a computer. If you can use an existing computer, all the easier, skip to the webcam section below. Almost any computer will do, even an old one. I'm using an old Pentium 4 system with only 256MB of RAM running XP. All it really needs is a USB port for the webcam and a way to connect to the Internet. I used an old PCI WiFi card I had in my box of parts (finding the XP drivers for it was a little harder).

You can use a desktop or laptop, of course...just whatever you have laying around (most of you who are still reading this probably have an old computer in a closet somewhere). If you don't have one already, you can buy older systems quite inexpensively. Here's one for only $115.

Set up the computer wherever you want your webcam view. Remember that this system will be running 24/7, so pick a spot where it won't overheat or be annoyingly loud. Also, since it will be running constantly, do whatever you can to decrease its power use. My system, for example, doesn't have its own monitor...I just move my regular monitor into that room when I need to work on it. Also, don't leave a USB mouse or keyboard plugged in, even when not in use they draw small amounts of power.

The Webcam
The type of webcam you need depends on where you intend to set it up. Even the cheapest of the cheap will work nicely for still image capture, depending on lighting. If it will be in an area that's brightly lit 24/7, then even this $12 one from Walmart will work. The cheaper cameras suffer in two areas: video streaming and low-light performance.

If you're looking for a camera to stream video rather than taking still shots every few seconds, or one for setting up in an area that gets dark at night (like out the window), then you'll want a higher quality one. This $27 Microsoft Lifecam will work well but still not break the bank.

If you need a camera that can perform in total or near-total darkness, then a night-vision IP camera is a much better choice and this whole setup is unnecessary (skip to the IP camera section below).

The Software
There are lots and lots of free/paid programs available for both Windows and Mac that do basic webcam monitoring. Google is your friend when it comes to researching the various options available. For Windows, though, I recommend Yawcam. It's totally free and supports streaming/still image, FTP uploading at various intervals, local image storage, and even motion detection. I've been using it with my setup and it's easy to install, easy to set up, and works perfectly.

The FTP Server
One of the most important steps in this project is the server. FTP servers are (very unfortunately) not free. However, a project like this does require one to be truly useful. I use Hostica and have had no problems with their service. They're a full-featured domain/web hosting company and they have hosting plans starting at only $12 per year. That's the plan I have and it works perfectly for this project (and lots more!).  Heck, a dollar a month is less than I pay for coffee (and I buy my coffee at Walmart in bulk cans).

IP Cameras
This is by far the simplest option and negates pretty much everything I've already said. IP cameras work by connecting directly to the Internet (wired or wireless) and giving you a secure URL to view your camera feed. These cameras often feature very cool options like infrared night vision, remote pan/tilt/zoom control, etc. Of course, that comes at a price, but not unreasonable...here's one for $85.

My whole point in tackling this project was primarily to see if it could be done without spending any money. All the components (including the old computer), were things I already had on hand. And it turned out brilliantly for being a zero cost project. Any of you reading this who are thinking, "now that's just cool" know exactly what I mean.

Sure there are better ways of doing it (like the IP cameras I mentioned), but you just can't beat free. And there's definitely something to be said for doing a project like this "just because."

So what do you think? Will you be setting up an always-on webcam this weekend? Do you already use one? Let's hear about it in the comments.