HVAC Controller

4 posts
by peterwit » Tue May 29, 2012 11:46 pm
For my EE senior project, I am planning on building a commercial-style HVAC controller that will monitor multiple zones and turn the air handlers on and off. I want it to have a web-based interface for controlling times and temperature setpoints.

Right now my thoughts are on an RPi using 1-Wire temperature and i/O chips on remotely-located "thermostats" which will also have a relay for the air handler and an occupancy button so people in the room can override the schedule.

Right now my problem is I've never used 1-wire, or programmed anything in linux. I have enough linux experience to get a webserver running php and mysql which will be the "front-end" of the software, but I was thinking that the code to actually check temperatures and turn on/off air handlers would be a python script run on a cron job or something like that.

Does anyone have any pointers for using 1-wire? All the stuff about GPIO pins seems a bit over my head so I was planning on using a DS9490R USB 1-wire Adapter since it looks like that will deal with all the timing for me. But I am still clueless as to how to access devices on that interface. Help please?
Posts: 5
Joined: Mon May 14, 2012 2:26 am
by kmpm » Sat Jun 09, 2012 7:44 pm
See if you can find a http://owfs.org/ package for your chosen Linux distribution or perhaps compile one yourself. OWFS makes your 1-wire devices show up as files in the filesystem.

If you for example check the contents of a file representing a DS18xx you will find the last reading there.
Posts: 14
Joined: Sat Jun 09, 2012 4:14 pm
by peterwit » Sun Jun 10, 2012 12:04 am
i have read negative things about OWFS being too stressful on 1-wire chips, which is why I was considering rolling my own with pyonewire. But I have no concrete reason to not use OWFS
Posts: 5
Joined: Mon May 14, 2012 2:26 am
by andrzejb » Sun Jul 01, 2012 1:45 am
I did not have much luck using either pyonewire or ow modules with my DS9490 under linux. Must say it was bit disappointing. Instead I used AVR chip (basic arduino board) to write my own terminal based 1-wire bridge. To collect the data I can connect to my 1-wire bridge either via serial interface ttyUSB0 or via telnet (in case where I have UART-wifi bridge), I also used UART-bluetooth bridge in the past. In any case the arduino returns all temperature/humidity/ voltage measurements in JSON format, which is very easy to parse using python. Python script then pushes all data into mysql database. My project is still in early stage and I would be be interested to hear about your progress.
Posts: 1
Joined: Sun Jul 01, 2012 1:18 am