Need some tips for creating a programmable thermostat

General programming chat and advice for beginners

7 posts
by qoncept » Wed Jun 13, 2012 7:08 pm
I've been toying with the idea of creating a network accessible thermostat for several years now and with the Raspberry Pi I think I'm finally ready to try it out. I've been a software developer for 10 years but I've never done anything with accessing low level hardware (my expertise is in data processing and reporting). I got a 3M wifi thermostat for Christmas that I've just been in love with, but the ideas I've thought up over the last few years leave me wanting something much more robust.

Unfortunately there are a number of hurdles stemming from my ignorance of electronics and I was hoping to get some tips.

1) I don't know how my thermostat works. A simple 4-wire thermostat is easy enough to understand, but we have a 2-stage AC and furnace with a variable blower speed, controlled by 8 wires at the thermostat. I want to start by sniffing what's going on with all these 8 wires through the GPIO pins on my Raspberry Pi. How do I start? I'm assuming I'll want to read the signal from the thermostat on one set of pins and pass that same signal back out to the furnace? This data I can log to a database and reference to additional logging I do with the thermostat's API.

2) Is the tunneling I described above as simple as soldering the thermostat wires to my GPIO pins?

3) I have a LOT of experience with Java but next to none with C/C++. I assume Java is a pretty poor choice, but will I be able to work with it? Would it make sense to take the time to learn C or C++ instead, or maybe some other language?

I think I had more questions but that's all I can come up with at the moment. I just want to hear some people's thoughts. Thanks!
Posts: 5
Joined: Thu Mar 22, 2012 4:30 pm
by qoncept » Tue Jun 19, 2012 3:06 pm
No one?
Posts: 5
Joined: Thu Mar 22, 2012 4:30 pm
by Richard_P » Tue Jun 19, 2012 3:13 pm
what temperatures are you toying with?

There are -50 DegC to +120 DegC versions that use 1Wire Bus (about £5 from Farnell) - There is a RasPi driver for 1wire things so no programming needed! you could use bash script. (I am led to believe). Outputs would have to be relayed as I would not trust switching 220V equipment some trusted isolation :P

Richard
Posts: 39
Joined: Mon Jun 11, 2012 10:43 am
by chrisrhoden » Wed Jun 20, 2012 2:59 am
I would say that based on the needs he described that range would more than cover what he's looking to do.

I have been unable to find any of the drivers you mentioned. I have considered writing some myself, but my understanding is that the timings required for the 1wire digital thermo-sensors might be a challenge on a device running a full OS.

Can you point me in the direction of the drivers you are referring to?
Posts: 3
Joined: Wed Jun 20, 2012 2:56 am
by qoncept » Wed Jun 20, 2012 4:23 pm
Thanks but I don't really need a temp sensor -- the wifi thermostat has an api that I can pull all of this from. I'm guessing with 8 wires that I won't have to deal with any pulse modulation so hopefully timing shouldn't be an issue. And lastly, the thermostat runs on 12v, not 220, so I'm at least a little safer there. :) I don't really have much time to do all this so it will be a while before I get to it.
Posts: 5
Joined: Thu Mar 22, 2012 4:30 pm
by Abbasslily » Thu Jun 21, 2012 1:20 am
The link is http://code.google.com/p/freedomotic/. I think that Raspberry can be a good solution foran home automation controller.
Sounds great!


----------------------------------------------
Rc Helicopter|Rc Helicopters|Mini Rc Helicopter
Posts: 1
Joined: Thu Jun 21, 2012 1:15 am
by chrisrhoden » Sat Jun 23, 2012 4:21 am
Richard_P wrote:
There is a RasPi driver for 1wire things so no programming needed! you could use bash script. (I am led to believe).



Does anyone know where these are?
Posts: 3
Joined: Wed Jun 20, 2012 2:56 am