About the Web Cam

We are blessed with such a nice view from this location on Sacandaga Lake that I wanted a way to enjoy it while away. I also wanted a way to "keep an eye on the place". Since my background is in digital cameras, and my current job deals with remote data acquisition over networks, a web cam seemed a natural thing to try.

The web cam implementation has actually been much more challenging than originally anticipated. The overriding factor in the implementation was cost, since the automation of Eagle Shore is just a hobby. This has lead to the conclusion that there is no good web cam available on the market that can provide remote, reliable, high quality pictures at a reasonable cost. What follows is description of how the web cam was implemented, the trade-offs made, and what might be done in the future.

Frame Grabber Selection

The initial selection for web cam technology was the "Snappy". This device attaches to the parallel port of a computer and provides a frame grabber that can capture images from any device producing an NTSC video signal, including a VCR, camcorder or TV. Since I already had a camcorder, the $99 cost for the Snappy was the cheapest way for me (at the time) to get a digital image into a computer. The Snappy also provides very high image resolution, but the video signal input must support the higher resolution. As I later found out, the video signal from the camcorder must have resolution that corresponds to VHS resolution (~300 x 200 pixels), since the image resolution from the digitized camcorder signal (not the taped signal) is not that great. The other advantage of the Snappy is that there is a fair amount of web cam software that supports the Snappy, but that gets into the computer selection.

Web cam Computer and Software Selection

Computer selection for most people is not a problem; just use the one you've got. However, Eagle Shore is a second home in a remote location. It did not have its own computer, and I wasn't about to invest $800-$1500 to get one. I would rather put the money into other "toys", like boat hardware. However, there was an old Thinkpad 755C laptop that GE was no longer using. It ran Windows 3.1, which is why no one wanted it (Windows 95 is the only MS OS currently supported at GE CRD). So I signed-out the laptop, and proceeded to search for web cam software.

However, when you look for web cam software, 99% of it requires Windows 95. Well, I did find some web cam software that runs on Windows 3.1, but it required Snappy 1.0. Of course, I had Snappy 2.0. So I asked Play Inc. for a "down-grade", which they gladly sent me. I then downloaded version 1.0 of Ksnap, which implements the web cam. This program works reasonable well, but the demo version of Ksnap does not implement the ftp upload capability or jpg file storage. It also has a limited ability to specify when images are taken. Before I invested in a registered copy of Ksnap, I wanted to see if the system as a whole would work, so I found a work-around for the Ksnap limitations. There is a public domain program called "Wcron", which allows a windows or dos program to be initiated at specified times. I got ws_ftp to use as the ftp program, and another public domain program, "alchemy", which performs image conversions.

Version 1 of the Web cam

So, version 1 of the web cam uses the following hardware and software.

The camera operates as follows.

Ksnap has a feature that allows it to start and stop taking pictures at a set time. The start time is 8:00am, the stop time is 5:00p, and the interval between pictures is set to 4 hours. Therefore, images are taken at 8:00am, 12:00 noon, and 4:00pm. The images are stored as "PCX" files.

Running with Ksnap is Wcron. Wcron has runs two tasks. The "JPG" task kicks-off at 8:03am, 12:03pm and 4:03pm, and runs alchemy, which converts the PCX file to a JPG file. The "ftp" task kicks-off at 8:05am, 12:05pm, and 4:05pm and runs ws_ftp, which kicks-off Trumpet to dial the ISP. After connection, ws_ftp uploads the jpg image to the website, which completes the posting of the image. Images are 640x480 pixels and are typically 30-40kbytes in size. The image upload takes well under a minute with a 14.4kbps modem. The biggest problem I have had with this setup is getting a reliable connection to the ISP.

Internet Service Provider (ISP) Selection

Obtaining images from a remote location also has implication on the ISP selection. As it turns out, I have not been able to find an ISP that has local access in at my primary residence, and at Eagle Shore. For a while, I was making the long distance call from Eagle Shore to my home ISP, Global2000. It really doesn't cost much more to make the long distance call since the connection time is under a minute (about $.10 local, $.14 long distance). The biggest problem with the long distance call was the unreliable connection. For some reason, the modem at Global2000 would not reliably initiate the connection process about 30% of the time. The phone would answer (incurring the $.14 cost), but the modem would be silent. Rather than struggle with Global2000 trying to find the problem, I decided to investigate getting an ISP within a local phone call of Eagle Shore.

As luck would have it, there happens to be an ISP, Klink.net, within 2 miles of Eagle Shore. Klink has a very economical service for what I want; 5 hours-of-access/month for $6.95/month, complete with web page and mailbox. This would allow me to upload over 8 images/day with time to spare for weekend web-surfing at Eagle Shore. Klink also has very economical domain hosting, and it was about this time that I was considering getting my own domain (it was just getting too difficult to explain to friends and relatives what a tilde and underscore were for the Global2000 web page). So I went ahead and registered the domain "eagleshore.com" through Klink.

I then realized that this was going to get expensive because I was getting unlimited internet access with the Klink domain hosting that would not be used. However, I needed unlimited access at home. So I did some more searching for an ISP at home that would provide economical domain hosting.

This can be an exhaustive task, but for the heck of it I decided to checkout an old work partner, Dick St. Peters, who I heard runs an ISP in the area. I had not considered Dick's business, netheaven, before since I heard the price was $30/month for unlimited access, and there are certainly better deals that exist today. However, that price does not tell the whole story. Included in that price is your web page hosted with a registered domain name. And there is no distinction between personal and business use, which is exactly what I was looking for.

So I transferred the domain from klink to netheaven, which took (3) emails of a modification form to the Internic. Normally it only takes one, but you must email the form while logged in to the ISP of record, which was klink. I must have been logged in to the wrong ISP (I had three of them at this point; Global2000, klink, and netheaven), so I had to re-send the form. Eventually the domain was transferred, but that wasn't the end of the problems.

The issue was how to get the image from klink to the web page on netheaven. When the web page was on Global2000, I just logged into klink and the image file was sent via ftp directly to the Global2000 server. Netheaven was a little different. Their default mode is to only allow ftp while logged into netheaven. This is actually the safer way to go from a security standpoint, and I am definitely in favor of tighter security. So instead of moving to the less secure server in netheaven, I simply ftp the file to the klink server, and link the web page on the netheaven server to the image on the klink server. We are on a network after all.

Future Possibilities

There are some cameras coming on the market that include the computer and software to enable a network interface. These include the Axis camera, and a camera by DCN. This is definitely a step in the right direction, however these cameras are still pricey ($800), not including the modem and bandwidth costs. And for the Eagle Shore application, they are really overkill. We really don't need more than hourly updates of the image file, and would prefer a camera that was "wireless" so it could easily be installed outside.

Since I have built digital cameras before (back in the late '70s), I decided to see what might be possible today. A little investigation into current imagers, embedded processors, and wireless devices makes me think that a wireless (battery operated, 900 MHz communication) camera would cost less than $200 and last 6 months at 8 images/day. My next project will be to build and test such a camera. The ultimate objective is a $50 web cam that is complete, i.e., does not require anything else to get images on the internet except a phone line within 1/4 mile of the camera.

Another change that will be made soon is the software. I finally bit-the-bullet and upgraded the laptop to Windows 95. I would love to use Linux, but I can't find a Linux driver for the Snappy. The OS upgrade will allow me to use the software from weatherstation that allows upload of Snappy images and data from the Davis weatherstation.

7/99, Update on the Web Hardware/Software

The web cam described above was not very reliable, or rather, it was very reliable in crashing every 3-4 days. I switched from wcron to wincron, the later being designed to run on Windows 95. Wincron is very similar to the Unix cron program in that it uses a crontab file to define the times at which the data is uploaded to my ISP. One benefit of this is that I can transfer a copy of the crontab file from the ISP server to my laptop every time I upload the camera data, and thereby change the upload schedule from anywhere on the Internet. Unfortunately, the system still crashed consistently every 3-4 days.

I also had a lot of problems getting the weatherstation software to run on the old 486 laptop, mostly because I didn't have an easy way to load the Snappy driver into the computer (no CDROM drive). I finally decided to buy my own laptop (Gateway 2500) for the webcam, running Windows 98. Originally, I used the wincron/ws_ftp programs to upload the data generated from the weatherstation software, but again, the system would only stay running for 3-4 days. However, if the weatherstation scheduler and ftp program are used, the system is much more reliable. Unfortunately, I lose the ability to modify the upload schedule from the Internet, and I cannot have independent control of the web camera and weather station data schedule. But for now, I like the fact that the system will run for weeks at a time, handling any upload related error (busy signal, etc).

1/00, Upgrade of the web camera

The web site www.x10.com was running a special on wireless solid-state TV cameras ($69), so went ahead and bought one to upgrade from the broken camcorder I was using. The advantage with the new camera is that I can mount it outside, and use a 2.4 GHz wireless connection to get the video back to the Snappy. It will also continue to run after a power failure, unlike the camcorder, which needed a manual power-up after a power failure. The downside of the new camera is a poorer lens, no date and time on the video, and a color balance problem. I had to significantly increase the brightness on the Snappy controls, and decrease the red. I also increased the green, but overdid it on the first try. The new camera is mounted outside, just below the room line on the front of the cottage.

5/00, Upgrade of the web camera

I just couldn't live with the poor picture from the X10 camera, and the power failure problems with the camcorder camera. So I purchased a Super Circuits color CCD video camera, along with an auto-iris lens and outdoor enclosure. This will also give a wider field-of-view of the shore, and better performance in low-light conditions.

1/02, Remote reset of the laptop

I've always wanted a remote reset of the laptop that drives the web cam. Although the weatherstation software is relatively reliable, Microsoft software being what it is always seems to hang at some point. The problem is that there is no electrical way to initiate a restart of the laptop. If you cycle power (either battery or AC power), you still need to push the on/off button to get the computer to boot. I took apart the laptop to see if I could get at the terminals on the on/off switch, but the switch is too hard to access. I practically took the whole laptop appart, and it was hopeless unless I wanted to do some major cutting on the laptop. So I went looking for a mechanical way to push the on/off button remotely. I ended up taking apart an old toy robot that had a motor that drives a cam. The cam is used to push the button, and an X10 relay is used to turn the motor on and off through the same phone control that controls the heat and outside lights. The only problem was how to ensure that the button only gets pushed once for each relay closure. I installed a momentary, normally on push button switch thats inline with the cam. This switch turns off the motor after one revolution of the cam, as long as the X10 relay is off. Turning on and off the X10 relay will start the cam rotation. Two revolutions of the cam are required to reset the laptop; one to turn the laptop off, and one to turn it on again.

Below is a picture of the setup.

Go back to webcam