Getting the HID TEMPer USB thermometer to work on Ubuntu 10.10
This past Christmas I received a TEMPer USB thermometer. I was excited to get it up and running because I wanted to monitor the temperature of my room with my computers running to see exactly how warm it gets. To my disappointment, it came with only Windows drivers and to make things even worse came with poorly written .Net application. I decided to do some research online to get this thermometer working on my Ubuntu 10.10 setup. After a while I stumbled upon https://wwwx.cs.unc.edu/~hays/archives/2010/03/entry_25.php . This is a wonderful site that had instructions for installing a driver for Ubuntu 9.10, but I decided to try it out on my system. These are the instructions I followed from the website:
First thing to do is install libusb's headers:
sudo apt-get install libusb-dev
Then we'll install some perl modules:
sudo cpan -fi Bundle::CPAN
If this is the first time you've run cpan, it will walk you through a series of configuration questions. I just took all the defaults and choose some local repositories when prompted.
Next, install the MakeMaker util:
sudo cpan -fi ExtUtils::MakeMaker
You may see some warnings that there are dependencies that have to be satisfied, just say yes. They'll look something like this:
---- Unsatisfied dependencies detected during [S/SI/SISYPHUS/Inline-0.46.tar.gz] ----- Parse::RecDescent Shall I follow them and prepend them to the queue of modules we are processing right now? [yes]
I just hit return to accept the yes.
Once that's all done run these commands:
sudo cpan -fi Inline::MakeMaker sudo cpan -fi Device::USB
Now, install Magnus's module for the TEMPer device:
sudo cpan -fi Device::USB::PCSensor::HidTEMPer
The source for this is up at: http://search.cpan.org/dist/Device-USB-PCSensor-HidTEMPer/
Now, you need a file that will call the perl module, mine is named temper_mon.pl
cd .. wget -O temper_mon.pl http://www.cs.unc.edu/~hays/dev/bash/temper/temper_mon.pl chmod a+x temper_mon.pl
The file contains this code from Magnus Sulland into the file:
#! /usr/bin/perl use 5.010; use strict; use warnings; use Carp; use Device::USB; use Device::USB::PCSensor::HidTEMPer::Device; use Device::USB::PCSensor::HidTEMPer::NTC; use Device::USB::PCSensor::HidTEMPer::TEMPer; use lib; use Device::USB::PCSensor::HidTEMPer; my $pcsensor = Device::USB::PCSensor::HidTEMPer->new(); my @devices = $pcsensor->list_devices(); foreach my $device ( @devices ) { say $device->internal()->celsius(); }
Now, try to run it:
sudo ./temper_mon.pl
Like I said, I didn't come up with this sequence on my own, I found it at the site mentioned above and I found that their instructions for 9.10 also worked for my 10.10 setup. I hope you found this as informative and useful as me.









