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との記載がありました。