Gold TEMPer (413d:2107) と Ubuntu Server で室温を計る

Amazon で 約 1,000 円の USB 温度計を買いました。

f:id:Ginkyo:20180520211147j:plain

これと Ubuntu Server で室温計測を行いたいと思います。

この製品について

僕はここ↓で買いました。(アフィリエイトじゃないですよ)

USB温度計! USB thermometer

USB温度計! USB thermometer

この製品は PCsensor というメーカーの物のようです。メーカーのサイトで Gold TEMPer と呼ばれているのでここでもそれに倣うことにします。銀色の製品だけど…。

製品ページ
http://pcsensor.com/usb-thermometers/gold-temper.html

PCsensor の正確な会社名は「深圳市阿鼎科技有限公司 (RDing Technology Limited Company)」と言い、所在地は深セン市とのことです。

環境

Ubuntu Server 16.04.2

手順

参考にするページ

基本的にこのページ↓の内容に従います。

USB 温度計で気温を測る(TEMPer; ID=413d:2107)

ただ、そこと全く同じ手順ではうまくいかない部分があったので、その部分だけここに書いてきます。

HIDAPI のインストール時

$ make -f Makefile-manual まで行った後、以下のコマンドを実行する。

cc -Wall -g -lrt -shared -fpic -Wl,-soname,libhidapi-hidraw.so.0 hid.o -o libhidapi-hidraw.so `pkg-config libudev --libs`

`pkg-config libudev --libs` を末尾に置いたのがポイント。

stackoverflow.com

utils/tempered 実行時のエラー

libhidapi-hidraw0 がインストールされていない
$ utils/tempered 
utils/tempered: error while loading shared libraries: libhidapi-hidraw.so.0: cannot open shared object file: No such file or directory

libhidapi-hidraw0 をインストールすれば良い。

sudo apt install libhidapi-hidraw0
sudo の付け忘れ
$ utils/tempered 
/dev/hidraw1: Could not open device: Failed to open HID device.

sudo を付けて実行する。

$ sudo utils/tempered 

温度を取得できた

$ sudo utils/tempered 
/dev/hidraw1 0: temperature 28.43 °C
/dev/hidraw1 1: Failed to get the temperature: Not enough data was read from the sensor.
/dev/hidraw1 1: no sensor data available

余談

僕はここ↓を見てこの製品を買ったのですが、マイナーチェンジされたのか販売業者によって違う物が届くのか、とにかくそのページの手順で温度を取得することができませんでした。

www.infiniteloop.co.jp

TEMPerd の開発者、TEMPerd のブランチを作ってくれた人、今回参考にした記事を書いてくれた人に感謝です。