This has been the culmination of several projects I've been experimenting and learning with.
I setup a Mega 2560 with an Ethernet shield to run a 4 relay board to act as a thermostat for our furnace/air conditioner. I've also built a similar controller for simple I/O for lights and doors...
The thermostat has several set points (hi/lo temp, hi/lo humidity), analog input for multiple temp sensors with the option to average the temperature or function on a specific point.
The concept is a client server http communication protocol. The server negotiates interaction between the hardware and people. The arduino acts as a client with its own login to the server. The arduino also has its own authorization for communication from the server.
The server is php/mysql based with curl enabled for sending post data. Currently I can send and receive info between the hardware and server. Working on the mobile interface at the moment.
Posting this remotely, I'll reply with source when I return.
Forgot about this hah.
Arduino source, its amateur but works. It hangs randomly, i’m thinking it has something to do with the arduino/server communication. Been cleaning up the code and running tests to measure memory usage.
Edit: Send me a PM for source.
Quick update. Added a mobile page for easy view and control on a phone or tablet. There is a simple graph showing the temperature when a heartbeat or fan state change is sent to the server. The fan state is indicated by the color of the dot black-off, red-heat, white-fan, blue-cool.
I also built a proto board with headers for easier connection of temperature sensors and the output relays. Also features 4 dip switches for diagnostic features, 1-ventilation override(fan), 2-enable humidity, 3-debug serial output, 4-disable all relays.
very cool thanks for sharing! how hard were the web interfaces? that is the part that i struggle with most
The web code is quite complex, which is why I haven't posted the source yet.
The system has a user database which the client and arduino both use. The user setup provides access to adding, saving and manipulating the arduino data.
Web programming is where I started out in, and have migrated to other languages such as C++.
Keep up good work... watching with interest. The arduino world needs a good home automation system with GUI graphics without resorting to the likes of Raspberry Pi.