メニュー 閉じる

月: 2013年8月

Linux & TEMPer1.4で室温測定サーバー

DSC_0334
天下の中国製、USB温度計ドングル。(TEMPerシリーズ最新版?のTEMPer1.4です) 

USB温度計! USB thermometer-528018
(Amazon.co.jp)

ちょうど丸っこい台座がついた延長ケーブルがあったのでこれも購入しました(笑)
 
BUFFALO USB延長ケーブル 2.0対応 スタンド付 2.0m ホワイト BSUC20EDWH
(Amazon.co.jp)

なかなか思ったデバイスIDのものが手に入らないんだけれど、今回はTEMPer1.4という「HIDで認識するタイプ」のものを購入してみました。
Linuxで使うので付属CDはいりませんが、Windows用のsetup.exeとmsiが入ってます。
(そちらの動作はよくわかりません)

とりあえずLinux上では、2013年現在だいたいのディストリビューションでちゃんとTEMPer1.4で認識してくれるみたい。いくつかのLinuxで試したけどdmesgはどれもこんな感じでした。

[71495.072061] usb 3-2: new low-speed USB device number 10 using uhci_hcd
[71495.247636] usb 3-2: New USB device found, idVendor=0c45, idProduct=7401
[71495.247643] usb 3-2: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[71495.247648] usb 3-2: Product: TEMPerV1.4
[71495.247652] usb 3-2: Manufacturer: RDing
[71495.266149] input: RDing TEMPerV1.4 as /devices/pci0000:00/0000:00:1d.1/usb3/3-2/3-2:1.0/input/input1283
[71495.266458] hid-generic 0003:0C45:7401.09F5: input,hidraw0: USB HID v1.10 Keyboard [RDing TEMPerV1.4] on usb-0000:00:1d.1-2/input0
[71495.281195] hid-generic 0003:0C45:7401.09F6: hiddev0,hidraw1: USB HID v1.10 Device [RDing TEMPerV1.4] on usb-0000:00:1d.1-2/input1

なかなか感触良かったので、いろんな情報を探してfedoraやUbuntuやらで試したけど、最終的にたどり着いたのは以下のモジュール&Ubuntu12.04でビンゴ。 (上のdmesgもUbuntu12.04です)
※CentOS6.4やfedora19が現状最新。全部は試してないけれど、fedora17ではHIDデバイスとして認識までしていたので、たぶんいけるんじゃないかと思います。
(動いてたマシンをfedora17→Ubuntu12.04に入れ替えた時点で心が折れたので、動作確認はこれだけ^^;)

Setting up TEMPer USB thermometer on CentOS
http://www.omniweb.com/wordpress/?p=915

こちらの参照元(本家&ダウンロードリンク)は下記。
・情報ページ: http://www.penguinsunbound.com/User:goeko/Temp_Sensor
・ダウンロード: http://momtchil.momtchev.com/files/pcsensor-1.0.0-multi.tgz

まずソースをwgetなりでダウンロード。
# wget http://momtchil.momtchev.com/files/pcsensor-1.0.0-multi.tgz
# tar zxvf pcsensor-1.0.0-multi.tgz

tgzを展開すると、udev登録用のサンプルがあるので、/etc/udev/rules.d/に突っ込んでリブートします。
(USBだからドングル差しなおしでもいい?けど、リブート後の動作が保障できないので安全のため。)

# cd pcsensor-1.0.0-multi
# cat 99-tempsensor.rules
SUBSYSTEMS=="usb", ACTION=="add", ATTRS{idVendor}=="0c45", ATTRS{idProduct}=="7401", MODE="666"
# cp -p 99-tempsensor.rules /etc/udev/rules.d/
# shutdown -r 0

デバイスIDがさっき確認したdmesgの出力にあったもの(0c45:7401)と同じじゃないと駄目です。たぶん。
2013/8月現在、市場に出ている「TEMper1.4」はこれになってるはず。

それ以外はHIDで認識するなら、デバイスIDを書き換えてみると動くかもしれないですね。
(中国産なのでお察しください…ですが。でも現状では1.4が最新で、これ以前のものは入手困難っぽい)
※dmesg以外にlsusbの出力も見てみるとヒントになるかも。

リブートが終わって起動したら、

# cd pcsensor-1.0.0-multi
# make clean   ※怪しいのでバイナリは一旦消しましょう。
# make
# ./pcsensor -c

これで、下記のような結果を吐いてくれれば成功。

2013/08/18 01:46:55 Temperature 31.12C

デフォルトの出力結果です。
pcsensor.c のprintfをいじれば数字だけとかも吐けるようになりますね。

ソースをいじったあとは、Perlあたりでラッパーを作り、RDBにINSERTするようなスクリプトを組めば長期間のデータも取れるでしょう。
参考程度ならcronでファイルに吐いてもいいか。
Cacti使う人も同様にちょっと修正すればいけると思います。

ただ、うちではときどき取得に失敗するので、単純にファイルに吐くだけじゃなくて「駄目なときはリトライ」が必要になるかも?と思っているところ…

(エラー出力のとき)
USB interrupt read: Resource temporarily unavailable
Fatal error> USB read failed

でもまあもう一回「pcsensor -c」を叩けばちゃんと結果が取れます。
延長ケーブルが駄目っていう初歩的なケースもあるようなので、一応マシンのUSBポートに直接刺してみるといいかも。(ただし、ドングル自体が金属で包まれているので、直接ぶっさしたらマザーボードと同じ温度になりそうですね…^^;)

とりあえず、上記でなんとか値が取れるのがわかったので、今後は取得した温度をWebサーバに送ってWebからグラフを見れるようにしたいなぁ、なんて画策をしています。
あと、IrDAポートも用意してエアコン自動制御とか…夢が広がりんぐ(笑)

とにかく情報が少ないので、少しでも参考になれば幸いです。
まあ、買ってきても即ゴミ箱行きって事ももありうるので、一応そういう覚悟をしてから買いましょう。
(中国製だけに…)

にゃー。

2013.8.15 美弥乃静バースデーライブ「みゃー!みゃー!みゃー!」

DSC_0328DSC_0333

今年もお祝いしましたー!
美弥乃静ちゃんバースデー当日ライブ!

写真はこれだけしかないですが(笑)
今年は7月にバースデー企画で音楽劇「わんだーきゃっと」があったので、ライブは歌がメインでした。
でも、わんだーきゃっとのキャストも登場したり、衣装変えで登場したりww

バンドもサプライズいっぱいで楽しいライブでした!

でも大長編の5時間ぐらい?(笑)
時間たつのは早かったなぁ…「ああもう終わってしまった」って気分w

もりだくさんで、いろいろ出番ごとにいろんな味があるライブ、なのにきっちり「やりきっちゃう」しずちゃんは毎年ほんとにすごいなって思うのです。

たくさんのメンバーやお客さん、みんなの愛があふれてますねー。
みんなでお祝いできて、すごく良いライブでした。

また来年もお祝いしましょうー(笑)

(あー楽器見てたら弾きたくなっちゃったなーw)

USBシリアル変換アダプタ(64bit WindowsやLinuxに)

ちょっとまた、シリアルポートを使う機会がありまして。
昔買ったELECOMの変換アダプタが手元にあったけど、64bit Windowsに対応してなくて残念ちゃん。
(使えねー。)

いざというとき探し回るので、ブログにメモw

調べてみたら、Windows 64bit、あとLinuxやMacでちゃんと使える感じなのは…
・FTDI
・Prolific PL-2303
このどっちかのチップが安定してるみたい。

FTDIで入手しやすいのはiBUFFALOのこれ。


iBUFFALO USBシリアルケーブル(USBtypeA to D-sub9ピン)0.5m ブラックスケルトン BSUSRC0605BS
(Amazon.co.jp)

バッファロー嫌いな人はショック症状が出るかもしれないw

そういうときのPL-2303。
秋月電子通商でいいかなーって思うの。

USB-シリアル変換ケーブル スケルトン
(秋月電子通商)
 
長さ調整は適当なUSB延長ケーブルで。

間違ってもシリアル側の延長ケーブルは買わないほうがいい。

高い!(笑)

安くて、細くて長くてかさばらない、おすすめ延長ケーブルはこれ。

ELECOM RoHS指令準拠&環境配慮パッケージ エコUSB2.0延長ケーブル A-Aメスタイプ 3m ブラック U2C-JE30BK
(Amazon)

高速通信するんじゃないから細いのでいいやって感じ。

一応、Macはもってないのでわからないんで、まあ自己責任で。
(Mac以外も自己責任ですがねw)

急いでる人はこの辺をぽちってみればいいかも。