Measuring temperature

See my other post about measuring temperature with USB Temper devices using a router with OpenWRT here!

I’ve bought two TEMPer USB sticks from eBay and installed one of them in my room and the other one on the pine tree in front of our house.

The outside sensor is around 3m from the ground, and my server is in my room around 13 meters from the ground, so I had to use a simple USB-RJ45 extender (this doesn’t support USB2.0 but TEMPer uses only USB1.1 so it works fine).

I have the two TEMPers on separate USB busses, so I’ve modified the source code of the driver to support using the first device on a given bus. I also had problems with one of the devices keep getting stuck with errors like “No device found” and “Protocol error”. A trace showed usb_set_configuration() gave an error. The only solution was to unplug and replug the device to the USB port. Now I modified temper.c to do the same thing: reset the USB device before use :) Seems to work pretty well.

I put the temperature values into a MySQL database every 5 minutes and I generate RRDTool graphs from the data. You can download the source code for the PHP webpage here and watch it online from my home server (slow ADSL connection) here.

An Android widget is available for the outside TEMPer data here.