I finally succeeded in getting the temperature monitoring system set up the way I want it. It would be embarrassing to admit to how many times I’ve re-written the code. I wanted a modular code base that would allow me to add “tasks” on a schedule. My first few versions did this part, but would save some data locally, which it would then log on a schedule. In the end, this wasn’t feasible. There just isn’t enough memory on the chip. I was getting random freezes or garbled output – so despite spending hours trying to isolate the memory leak, it still wasn’t reliable.
The other problem with logging data after the reading was taken is that the data had to be timestamped – which means the Arduino had to stay in touch with an NTS server in order to sync it’s clock. I found the code supplied by Arduino for doing this isn’t production quality. It was causing a number of freeze-ups and it had to be modified to work with the new Ethernet Libraries in Arduino v1.0.
Long story short, I have a flexible modular code base that uses the pachube library from http://code.google.com/p/pachubelibrary/
I mounted one temperature sensor in a duct near the furnace so I can see the furnace heat cycle. I hope to eventually use a function to convert the graph to binary so I can calculate the furnace “on” time and therefor fuel per hour.
One sensor is mounted outside (in a box protected from the wind) and the last sensor is in the basement ceiling. I recently received a few more so I’ll solder them up when I get a chance.
The output can be seen HERE!