Instructables

Cheap, Easy, Internet Controlled Home Automation System

Featured
Picture of Cheap, Easy, Internet Controlled Home Automation System
home automation snap1.jpg
home automation.GIF
If you have pets/children and need to feed them or spank them via the internet this system may be of use to you. It's a very easy and cheap way to control motors, LEDs, etc. at home from any computer connected to the web.

All that's needed is a Webcam, Flashlight, Free Software, and about $15 worth of analog electronics that you can get from radio shack.

Project Overview:
This system allows remote control (via the internet) of actuators (motors, etc) at your home. It works by sensing changes in brightness at particular locations on your home computer screen (locations at which the sensors are taped). These changes in brightness are remotely controlled by you via a yahoo messenger webcam video feed between your work computer and your home computer.
For example: you're at work with a computer, a webcam, and yahoo messenger's video broadcasting activated. Your home computer is also running yahoo messenger and has a full screen view of your work computer's webcam video feed. At work you shine a flashlight into your webcam's field of view at specific locations. By varying where you shine the flashlight into your work computer's webcam you will be activating different sensors/motors at your home computer.
If this is confusing make sure to watch the video.

Advantages of this system over much more complicated systems:
= Optical isolation of PC from actuators (motors, etc)
= Uses only cheap analog components available from radioshack
= Allows control of as many actuators as desired.
= Does not require knowledge of computer programming, or server administration (i.e. PHP and Apache)
= More secure than remote desktop access software such as VNC, etc because yahoo messenger does not allow access to control your entire computer. (as far as I know,.....this last advantage might not be totally true :)

+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Video:

+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 
Remove these adsRemove these ads by Signing Up
shinea_xx3 years ago
hey lee, - didn´t know that you are doing such crazy things... ;o)
nice greetings from good old germany, your cousin a*****
ReCreate5 years ago
did you photoshop the cat to frown?
This cat wasn't made by the author its all over the internet!

http://www.google.com/images?hl=en&rlz=1C1GGGE_enGB373GB373&biw=1600&bih=799&q=internet+cat+serious+business+was+made+by&bav=on.2,or.r_gc.r_pw.&um=1&ie=UTF-8&source=og&sa=N&tab=wi

Dillon
Yep, i found that out about a year ago.
Colonel884 years ago
first, waste of energy. second, the screen is already really bright so it doesnt have much point. Third, and most important, when you "call" your home computer the home computer has to press a button named "Answer" how can you do that?
leevonk (author)  Colonel884 years ago
first, I didn't realize keeping a pet alive was a waste of energy. secondly, you second point doesn't actually make any sense, assuming you're using the english language. thirdly, this instructable doesn't mention anything about 'calling' and 'answering'. it uses webcams which can be set to allow anyone to connect to it. Once that's set up as instructed in the instructable you can control your home automation whenever you want.
No i mean that since the screen is really bright, it might set off the CDS sensor without the flashlight. and also when you put your Messenger on "Answer to everyone" you are risking your computer because someone could call you and see that noone is home
leevonk (author)  Colonel884 years ago
apparently you didn't see in the video that it obviously works and that the screen is not 'too bright'. On others' computers if the screen is too bright you just add a piece of paper in between the sensor and the screen (as mentioned in the instructable), or you use a potentiometer. As for your second point, the 'allow anyone to access my webcam' would be set on your work webcam, not your home webcam. And even if anyone did view your work webcam all they would see is blackness with occasional flashing lights.
amando965 years ago
thats pretty cool! tha cat made me lol
vince0865 years ago
realy good idea!! only problem is the practicality issue, sacrificing a computer, weeb cam needs to look at darkness and the computer screen in constanly on witch must use alot of power !
The cat is not amused...
Sorry, I had to...
ekim5 years ago
Very nice. I'm trying to think up some good applications! What if you marked the black cloth at work into a grid, so you knew which sections activated which photoresitor, then simply placed a white index card on the section when you wanted to activate it? Of course, this assumes you don't work in the dark...
MixMasterM5 years ago
The light sensor reading the intensity of a box on the screen is how the "teledildonics" that were released a few years ago worked. The brighter the light detected by the sensor, the faster a motor in a "marital assistance aid" would turn, thus allowing a sort of tele-presence.
eranox5 years ago
Great instructable! Really inventive, and I like that you did it without all the complex programming. This is something you could build in an afternoon, without reading a library's worth of books first. One suggestion, you could draw a grid on the black camera background and label each square to help you align the sensors on the home computer and to help you remember what does what when you're at work.
ReCreate5 years ago
That cat is...unusual
PS1185 years ago
That's pretty cool. Instead of messing with webcams and flashlights tho, it seems you could write a very quick Python server that adjusts the brigntness of given squares in response to CGI strings.

Just type in firefox...
"http://myhouse/automation?lamp:255" Viola! Lamp sensor square goes white, lamp goes on.
leevonk (author)  PS1185 years ago
yeah, I had thought of something similar but wanted to keep this as simple (technically) as possible though. So with python you can send a command from the work computer and have it change the screen of the home computer?
PS118 leevonk5 years ago
A CGI app is dirt simple. It gets the address bar parameters passed in on the command line. Whatever you print gets sent back as the "webpage".
http://en.wikipedia.org/wiki/Common_Gateway_Interface

I guess technically you also need a cgi "web server" to run it, but don't let that scare you. It's also quite simple and free source abounds. Here's a good, solid python one in only about 200 lines of code:
http://code.activestate.com/recipes/511454/
leevonk (author)  PS1185 years ago
cool, looked into it, looks like that would work too. I'm going to post another instructable soon that shows how to set up an apache web server and use PHP to allow internet control of a variable speed motor connected to the server's serial port. It only allows one motor to be controlled, and requires coding and server set up but some people might prefer a less hardware oriented solution :)
Batryn5 years ago
I was wondering if you put a solar panel in a box with a slit in it, then will the sun hit the panel during a specific time and activate some motor?
leevonk (author)  Batryn5 years ago
Would sort of work, but not very well, would have very limited applicatons. Unless you charge a very large capacitor from the solar panel the motor would move in little twitches, bit by bit. The bigger the motor, the more time between each twitch. Also, you'de have to recalibrate the thing every couple weeks according to new positions of the sun in different seasons.
If you want to experiment with solar panels and motors check out this solar powered 'robot' I made: http://www.instructables.com/id/Cheap-Easy-Solar-Powered-Robot/

what would work better would be to put the photoresistors I used for this project in a box, and when the sun shines in at the right angle it would activate a photoresistor just like they are activated by the flashlight via webcam.
micromuffin5 years ago
lol
Omegas5 years ago
Heh, there was an article in a Finnish computer mag called MikroBitti that described a similar setup in 1986. I built it and controlled things like a stereo set using my Spectravideo SVI-328 and a simple BASIC program. Good ol' times...
Good concept; circuit seems a little complicated to me. Anyway, I think it would be simpler to use LogMeIn.com and then control which USB ports to turn on and off. You can then relay those USB ports to do something else. I like your concept, just thought I'd give you some new ideas. I never actually used LogMeIn for home automation, but I'm sure you would be creative and think of some cool uses of it. :)
logmein is AWESOME at school!! Even though its deleted as soon as the computer is restarted....
Oops, I forgot to say, the best part about LogMeIn is that all you'd really need are some relays - so its REALLY cheap.
The best part of this is that you don't need a specific software in order to make it work. Its a better hack than using someone's software already made for remote control. This leaves open the possibility to control more devices that can be untethered from the USB ports.
Actually, I have this whole week off from school!!!!, mabye I'll try to think of some useful home automation things and use LogMeIn, then post an instructable. I'll say your instructable inspired me to do mine.
fwjs285 years ago
pretty sweet.....4/5
cyrozap5 years ago
Quite a workaround way to do that, but it looks like it will get the job done. This Instructable confused me at first, but when I saw the video I understood it. Nice
jasonT5 years ago
I remember doing this with my Commodore 64 about 20 year ago! Of course mine wasn't controlled from the internet, I just used it for running a little robot through a few preprogrammed actions.