USB接続の温度計TEMPerを接続する

USB接続の温湿度計EL-USB-RTを接続するではUSB接続の温湿度計を接続する例を紹介しましたが、湿度計なしで安価なUSB温度計TEMPerを接続する方法を紹介します。

TEMPerについて

 TEMPerはamazonなどで購入できるUSB接続の温度計です。売られている名称や値段も様々なのですが、中国発送で届くまでに時間がかかるところは1000~1500円程度と安く、日本国内に在庫があってすぐ届くところではもっと高い値段で売られている様です。

 2018年7月にamazonで安価に売られているものを購入してみたのがこちらです。

付属のCDにはWindows用のアプリが入っていて温度のグラフ表示ができました。Linux用プログラムのリポジトリがgithubに沢山あるのですが、TEMPerには種類が色々あった様で、今回購入したIDが413d:2107の”TEMPerX_V3.1″に対応しているものは多くはない様でした。

PaPeRo iで読み取る手順

 github.com/mreymann/temperx(MITライセンス)は今回購入したTEMPerに対応していました。PaPeRo iで読み取る準備としてまずDebian Stretch(Ubuntuでも同手順でできると思います)でgolangとgitをインストールしました。

$ sudo apt update
$ sudo apt install golang
$ sudo apt install git
$ mkdir $HOME/go
$ export GOPATH=$HOME/go

プロジェクトをダウンロードし、ARM用にビルドします。

$ go get github.com/mreymann/temperx
$ cd $GOPATH/src/github.com/mreymann/temperx
$ GOOS=linux GOARCH=arm go build

出来たtemperxをPaPeRo iに転送し、実行します。

root@aterm:/tmp# ./temperx
Temperature: 29.25, Humidity: 200

表示は湿度もあるので温湿度計の機種もIDは同じと言うことだろうと思います。ヘルプを表示させると、

root@aterm:/tmp# ./temperx -h
Show temperature and humidity as measured by TEMPerHUM/TEMPerX USB devices (ID 413d:2107)

Usage:
  temperx [flags]

Flags:
  -c, --conf string   Configuration file (default "/root/.temperx.toml")
  -h, --help          help for temperx
      --hf float      Factor for humidity (default 1)
      --ho float      Offset for humidity
      --tf float      Factor for temperature (default 1)
      --to float      Offset for temperature
  -v, --verbose       Verbose output

乗数やオフセットが指定できる様になっており、補正して使用する前提という事でしょうか。なお製品ページにはセンサーがLM75との記載がありました。