Hello all of you,
In my quest to find a cheap (less than 100€) IP based home automation node, I finally designed the following web pages and arduinosketch.
I post it here because you might like it enough to create a project from it.
The goal was creating a web 2.0 version of these two things:
a simple 24h programer
a sprinkler control system with some solenoid valve control output.
My scheduler has the following feature:
numerous output (depending of your arduino, I use 8 on mine)
an advanced web based UI
different type of program:
simple on (switch on lights at 10 in the evening)
simple off (switch off lights at 8 in the evening)
sprinkler (water for 10 minutes zone 1 then 15 minute zone B)
naming of output (because garage_door is better than 12 )
eeprom storage of configuration (output name and program)
ability to remotly activate/deactivat/toggle an output even by creating shortcuts or favorite on your prefered OS, mobile or probably any web based device.
my setup include
a webclient (firefox with jquery)
a cheap openwrt router (for transforming ip to serial and doing SSL)
an arduino pro mini 3.3V (because it's the voltage supplied by the router )
some relay PSU... but you can change
but It could "easily" be adapted to an IP arduino (ethernet or wifi) (because all UI are handled by jquery and javascript) assuming you can remotly store the javascript.
I included a sample in the zip attached (jquery sample UI.html) you can play with the UI, but obviously no change are commited, but you will probably understand most of its use.
All source are also in the zip, licence is GPL, if you ask.
If people are interested feel free to reply / contact me
I don't know at all, it will depend of people reactions.....
but here is a list of my "3 wishes"
1- Made it work using an ethernet shield without breaking the existing serial protool
this will made it easier for beginners to test the sketch.
2- Simplify, objectify, libraryfy
I am quite proud of the serial protocol used, the code need to be cleaner but but it is very handy (1 serial command=1 C++ function)
I think the program part could be objectified, the object could even inherit from the timealarm object in a perfect world
3 - Increase feature:
percentage water for example is not yet working.
A kind of Artificial inteligence (depending of temperature and wind for example)
More program type some of them not even depending of timealarm (example linking output(s) to input(s) ).
The ideal goal of the project would be to do a generic remote controlled node for Home automation, without requiring the end user to write an arduino sketch.
But without help, people involved and interested, it will probably stay as this, plugged in my backyard, managing 2 light, a door garage and some sprinkler
IMHO the project is finished, but you might expect more information, a cleaner code, more feature or something else, If so or if you are interested, please at least say something on this thread
Would love to see some photos of the hardware (including sprinkler valves etc.)
As you hinted, you could extend the system to change behaviour depending on the weather - longer sprinkle if v. hot? Less/no sprinkler if it has been raining? You could install a USB weather station to determine this or perhaps grab the info from a local RSS weather feed?
I am also really interested in a web-based scheduling timer for sprinkler systems. I just finished up a project based on ATmega328 and ENC28J60 Ethernet controller. The project is documented at: http://rayshobby.net/svc