TEMPer USB Thermometer: Difference between revisions

From ZS64
Jump to navigationJump to search
No edit summary
No edit summary
Line 3: Line 3:
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.
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 WinChipHead USB-to-serial controller loaded (uchcom(8) on FreeBSD).
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.
It puts the LM75 into 12-bit resolution mode (about one measurement per second) and outputs temperature data once per second in degrees Celcius.
Line 18: Line 18:
  temperature is below the threshold.
  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.


==Links==
==Links==

Revision as of 21:31, 1 January 2010

Various outfits including Brando are selling a cheap-ish USB thermometer named “TEMPer”. (I need one to monitor my home server closet.)

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.

Links

The device comes only with Windows software, but people have managed to coax the readings out from Linux: