Announcing Hot Or Not
My latest project, Hot Or Not, is live! It combines Arduino, NodeJS, Coffeescript, and Google Calendar, to make a thermostat which is remotely controllable via the internet. You can check out graphs of the data on the site, and get the code on github.
There were three basic things I wanted to address with this project. I will discuss each in more detail in future posts, but here’s an overview:
Electronics to control the HVAC in my apartment I used an arduino, a few solid state relays, and a temperature sensor from adafruit. To interface with the HVAC, there are three 24V alternating current circuits that can be completed, which turn on heat, AC, or the fan. So, depending on the season, I have a desired temperature set, and I alternately open and close, for example, the heat circuit to manage the ambient temperature in the apartment.
Remotely control & schedule I made a public calendar that the thermostat periodically polls for the desired temperature. With a few recurring events, it was easy to set it up to be warm while I’m at work, and to cool off a little before I get home (and during the day on the weekends). Because the poll frequency is pretty often, I can change the value of the current google calendar event, and have my thermostat pull down the update in under a minute.
Collect, store, & graph the data As a dataphile, I had to come up with a cool way to store and display the data coming from the thermostat. I store the data in an RRD, a temporal database which loses resolution as time goes on (so I know a lot about the past day, but have a much lower resolution of the data for the past month). This makes a lot of sense, because the larger the area in consideration, the fewer points I need to make a nice-looking graph. For a project like this, I don’t really need to know the exact temperature fluctuations for a day 3 months ago, so I’m ok with giving up resolution of data to gain the ease-of-use that RRD provides.
I’ll follow up with more info about why I chose RRD & nodeJS, and how the hardware actually works soon.