Wireless Internet Thermostat Project

Original Post: 23.01.2011 at 22:37:46

My goal this year is to build a wireless Internet controlled thermostat using an Arduino based board and the One Wire IC’s as sensors. I would like to be able to control my thermostat with my IPhone from any anywhere in the world. I have just ordered the Yellow Jacket from AsyncLabs which is basically an Arduino mini with wireless 802.11b wireless connectivity and a couple of the DS18B20 1-Wire digital temperature sensor from Maxim IC. The Yellow jacket is small enough to fit into a project box that could be powered and mounted in place of a regular thermostat on the wall. The control part would be through my wireless router via the Internet. I’m going to need a lot of help because I’m ok when it comes to the hardware part but the software side is where I will need lots of help. Hopefully others here would like to make this kind of project or know of other projects that are similar to get ideas and examples. I’m going to make it a point to keep at least weekly update of my progress and any help would be greatly appreciated.

Sounds like a project that screams for being done in stages.

Stage one is a simple thermostat with a sensor and a relay. If the sensor says the temperature is below the set point, close the relay. If the temperature is above the set point, open the relay. Very simple. That won’t really work, because the relay will open and close too often, so you’ll need to modify it so that there’s a degree or two between the close set point and the open set point. You also don’t want your cycles to be less than about five minutes so put in some code to keep it from changing the relay more than once every five minutes.

OK, that’s the thermostat, time to add features. From this point on, once you have the thermostat working, nothing that you add really has anything to do with the fact that it’s a thermostat. Say you want to adjust the set point over your network. That’s a matter of getting data to your arduino via ethernet, something that’s been done a million times.

Let’s say your next improvement is adding a LCD display to show set point and temperature. A simple matter of displaying numbers on a LCD. Nothing to do with thermostats, done a million times.

Now say you want to add an up switch and a down switch so you can adjust the set point from the unit. A simple matter of reading the value of a switch. Again, a common task, nothing to do with thermostats.

Say now you want to go beyond your home network and control the set point over the internet. Nothing to do with thermostats, not even really an Arduino problem, but a common networking task.

Break your project into tasks, and then figure out how to do each task.