The project started with that i had 2 remotes to control 6 outlets in my apartment. But i wanted to get rid of the remotes and control the light with my iPhone and in my web-browser on my computer.
I figured i could use an Arduino with Ethernet shield to do that. I already had an Arduino uno so i bought an Ethernet shield on ebay.
Update 27-9 2015:
I will soon start working on making a login system so you dont need to worry about people getting your ip if you use it on the internet. and make an updated parts list as it will then use the arduino mega(more memory)
Update 28-10 2015:
I have now added a version with authentication, check it out and let me know what you think.
Teachers! Did you use this instructable in your classroom?
Add a Teacher Note to share how you incorporated it into your lesson.
Step 1: Remote
I took one of the remotes apart and found out that i could just short the buttons to ground, to push them. but the remote was running on a 12v battery, and the arduino dont do well with 12v so i used some optocoupler to isolate the 12v from the arduino.
Step 2: Parts Needed
the parts that are needed
1x Arduino uno (can be any arduino)
1x Ethernet shield (it should be the one with the w5100 chip)
1x mixro sd card
1x 5v to 12v stepup
1x 433mhz transmitter
1x 3d printed box (stl provided)
some 433 mhz controllable wall outlets
i used 5 and one relay module connected to another system that i will add here later when it is finished
Step 3: Interface
The interface i made in HTML.
the first 2 pictures is an older version of the interface, where i started to have buttons, but they didnt work that great on my phone, so i went for iPhone styled checkboxes.
the text in the last 4 pictures is in danish because i am from denmark. but the first function is used to turn off all of the outlets, and the second one is used to control the first 4 lights.
there is some mistakes in the pictures, but there is an updated version index. file here.
the index.htm file should be put on an sd card and put into the Ethernet shield
the index.htm file is inside this zip file in the last step.
Step 4: Arduino Code
the arduino code is based on the webserver example.
but the code have gotten very complicated so i will not go into detail here, but fell free to ask questions
the arduino code can be found in the zip file in the last step. if you have any questions about it feel free to ask.
Step 5: 3D Printed Case
i used a 3D printer to print a case for the arduino ethernet that i designed in google sketchup.
the stl files i provided here, but can also be found on my thingiverse thing.
i added sketchup file as vinz3nt requested.
Step 6: Final
It have now been running for some days, with the final version and it works great.
I have made a cleanup in the code, where unused parts was removed.
i have also planned an upgrade to the project that will come this summer, when i get my spark photon.
Step 7: Authentication
I have made an update to the webserver so that it now requires a username and password to access the light control webpage, how ever this version is activated with rcswitch so the program size is to large for an uno so i need to be used on an arduino mega. There have also been added a little 0.96" oled display, but is not needed you can just comment it out.
in line 83 in the webserverauth.ino file you need to set your username and password, that is encoded in base64, use this link to encode your user and pass http://www.motobit.com/util/base64-decoder-encoder...
in format USERNAME:PASSWORD where you replace USERNAME with your choosen username and PASSWORD with what you want as password.