TEMPer USB Thermometer
Various outfits including Brando are selling a cheap-ish USB thermometer named “TEMPer”. (I need one to monitor my home server closet.)
NOTE The software described here is for an older version of the hardware that apparently is not sold any more.
I've put together a small command line utility that reads out the temperature from the LM75 sensor in the TEMPer: File:Temper.c.txt This should compile on FreeBSD, Linux, etc.
To run it, you will need to have the driver for the WinChipHead USB-to-serial controller loaded (uchcom(8) on FreeBSD).
It puts the LM75 into 12-bit resolution mode (about one measurement per second) and outputs temperature data once per second in degrees Celcius.
The LM75 thermostat is connected to an LED, so you can use that as an indicator of temperature. Note that driving the LED dissipates enough power (probably through the current-limiting resistor) that the measured temperature rises by two degrees.
usage: temper [-d device] [-h high] [-l low] [-n count] -d device USB serial port of the TEMPer -h high thermostat on temperature -l low thermostat off temperature -n count number of readings to take, <0 is infinite If the high temperature is below the low temperature, operation of the thermostat is reversed, and the output is turned on when the measured temperature is below the threshold.
The bit-banging delay is hardcoded in the source at 10ms; I was not successful at running the clock any faster, although I²C should be able to run at 100kHz.
The device comes only with Windows software, but people have managed to coax the readings out from Linux: