Sunday, January 20, 2008

"Mind" -> The Web Cam

I want to know who is showing up at our front door, what type of traffic is running down our front street, and if the neighbor's dog is in our front yard. You can do all of this with a web camera. The one that is to the right is what I have.

So let's spend a moment describing how I have this set up:

a. I have it pointed toward our front street.

b. It is wireless, but there is an electrical cord that runs along the baseboard, which I'm sure my "Better Homes And Gardens" niece would pretty up somehow.

c. It is a "computer within a computer" therefore it can mail off messages without any other PC on.

d. It will capture motion and send you an email if something changes.

This last version is particularly cool, and while there is a bit of a lag, it is good enough for what I want.

video
For example, yesterday, my youngest daughter walked out the front door, then decided that she wanted to do a somersault, then walk back in again. While is cut off about three seconds, the camera saw her movement. It recorded a 5 second snip. It then mailed this 5 second snip in an ASF format to a Google Gmail account I have set up for this purpose. Each five seconds take about 200K of storage.

(A bit of warning, the version that I have requires a SMTP mail account that is not SSL enabled. Cox, our internet provider, is great because it has a SMTP server at smtp.west.cox.net, but not everybody may have the same ease of use.)

I also have this set up so I can see it over the internet.

To do this, you need a couple of things.

a. You need to have high bandwidth connection. This is not something you would want to do over a telephone wire.

b. You need to have a static IP address.

What is a static IP address?

Each computer on a network is given a unique number. This number consists of four digits, or something like 129.168.0.1, which you can think of as a bit of a phone number. The number above may be your personal computer's address, because 129.168.0.1 is a very popular address inside of a home. Now, you may ask, "Wait a minute, how can all home computers have the same number?"

It is analogous to going to two towns, both that a "Main Street." The way that you know there is one Main Street versus the other Main Street in the computer world is by saying "go to the main street by the I-5 freeway, NOT the I-405 freeway."

So what is the freeway in our case? The freeway is the router that you have hooked to the outside world. Right now, my router has an address of 64.4.171.3, which my cable provider gave it when my router started up. The problem is that the cable company changes the names of the freeways (or the router) every once in a while. Therefore, if I want to get to my camera today, I would go to 64.4.171.3, but the cable company may change my address tomorrow, and I may not be able to find my camera.

This is future complicated by the fact that normally your don't want a series of numbers for your address, what your want is a name like "theoblogic.blogspot.com" so you can just type in the worlds. You probably have heard of this, this is called a Universal Resource Locater (or URL). Therefore, the internet has a "directory naming service" or DNS to turn the name into your current number.

So how do you fix this? You can work with a series of companies that will quiz your computer once in a while to make sure that you have told the internet what your number is for the day. Some of the people that do this for free are:

a. www.dyndns.com
b. www.no-ip.com

These are the two biggest companies offering free service, and they both seem to do it pretty well. These companies offer these features so that you'll maybe buy more stuff. In this case, you'll normally download a little program to your computer that will "push" your current router address out to the either dyndns or no-ip. In turn, these services will update the internet update table (amazing that this is all done for you) so that everybody on the internet will be able to find you.

So, if you sign up with dyndns, they will ask:

a. What is the name that you would like for you IP address?
b. Will you please download a piece of software to your PC so I can update the tables on an hourly basis?

I have done this, so I can simply type in a URL, and it will give the right address. This is because the URL that I signed up for is now being updated on a constant basis at the world wide DNS services that run the internet.

Now, let's say that you have four computers, and one router. If all of your computers have the same router with one address, how do I know to go to the web camera?

I didn't tell you about this, but every address has a bunch of mail boxes: 64,0000 of them! Most of these mailboxes are being used, but many are open. In the camera software, I can say "I want you to get any request that shows up at mailbox 8080 (this isn't the port, but it is close enough).

This is called "port forwarding." I tell my router that I want my web camera's address to be "port forwarded" to the router's address of 64.4.171.3 and mailbox 8080. My web camera is listening at this port, and if a request comes in at this mailbox, then it will answer.

As a matter of fact, most routers today won't even tell you if you don't come to them without message. Hackers can climb inside of your system if they can find you. If you don't answer their calls, they can't get to you as easy. Therefore, if you want a web camera to be found on the internet, you need to allow a special "pass through" so that the web camera can be seen.

In this case, if you come to my web address (and I'm not giving it to you, since I don't want a bunch of people tying up my camera), you must come to a special post office, or my router won't answer at all.

In our example, you would need to come to 64.4.171.3:8080 and this is something that you can enter into your web address bar. If you get a URL from No-IP, you would type myweb.selfip.com:8080 right into your web browser, and if you had the right address, it would bring up my camera!

However, my camera isn't listening at the other ports, so if you simply type "myweb.selfip.com," you won't find my camera.

Because the camera is wireless, you can move it anywhere in the house and it hooks up. Since it is intelligent, you don't even need a computer to be on, although your router needs to be on.

It will be working all the time, just like when we drove away to church today. I returned home to find a nice little video in my email.



video

1 comment:

paula said...

Impressive...most impressive. (Next time I come down, I'll have to have a go at those cords.)