Linux で温度計測あれこれKenichiroMATOHARA(@matoken)       http://hpv.cc/~maty/
自己紹介●   @matoken    ●   最近は Google+ によく居ます.    ●   http://hpv.cc/~maty/●   千葉の方から来ました ><    ●   Wikipedia 見ると一応東海道ぽい●   普段...
今日は ?●   USB 経由で温度をロギングする方法を紹介
温度計測●   何故測りたくなったか ?    ● ある夏の日    ● サーバルームのエアコン死亡    ● 一気に温度が上がる ><    ● 無人だったらやばかった
温度を図る試み 1●   サーバの内部温度計の値を拾う    ● 付いていないものが多い.    ● あまり正確じゃない
USB 接続温度計経由で計測●   strawberry linux USBRH        http://strawberry-linux.com/catalog/items?code=52001    ●   ¥ 3,980-( 完成品は...
マイコンを利用して複数のセンサを●   Arduino(miniPro 2,000 円 ) というマイコンを利用    して複数の温度センサを設置    ●   温度センサには LM35DZ(@100) や HSM20G( 販売停       ...
サンコーレアモノショップの            USB 温度計●   Linux でも使えるという噂を聞く●   1 つ¥ 1,980-●   秋葉原に行って試しに買ってみる    http://www.thanko.jp/product/8...
刺すだけで認識$ dmesg[ 5954.690042] usb 1-1.2: new low-speed USB device number 4 using ehci_hcd[ 5954.854803] input: RDing TEMPer...
温度データをロギングするソフトを            探す●   CD には Windows 用の software しか付いて来な    い●   Linux で動作するものを探して貰ってくる (VID:PID    で検索した )    ...
ビルド    $ git clone git://github.com/bitplane/temper.git    $ cd temper●   README では    # 1. Install libusb-0.1.4 and dev p...
ビルド    $ git clone git://github.com/bitplane/temper.git    $ cd temper●   README では    # 1. Install libusb-0.1.4 and dev p...
時間のフォーマットを修正時間がGMTで表示されるのでlocaltimeに変更●$ git diff temper.cdiff --git a/temper.c b/temper.cindex 5670bb5..90a80f9 100644---...
秒数も出したい & 表示形式も変えたい$ git diff temper.c | stringsdiff --git a/temper.c b/temper.cindex 5670bb5..92de43d 100644--- a/temper....
普通に利用できるようになりました    $ sudo sh log.sh | tee log    2012-07-06 02:26:55,31.939814    2012-07-06 02:27:00,31.875517    2012-0...
gnuplot でグラフにする例gnuplot> set datafile separator ","gnuplot> set xdata timegnuplot> set timefmt "%Y-%m-%d %H:%M:%S"gnuplot>...
新幹線寒かったです ><
注意とか●   sudo を付けずに一般ユーザで実行するとエラーも    出さず帰ってこない●   同梱の log.sh は 5 秒おきに実行してくれる●   PC の熱を拾うので, USB ポート直挿しは避けたほ    うが良い●   付属の...
という発表を         先月の小江戸らぐでしました●   「日経 Linux で似たような記事があったよ」    ●   日経 Linux2012 年 6 月号 p49 に載っていた.    ●   記事を見ると同じ温度計だけど www....
探すとあちこちで売っている●   dx.com や ebay 等あちこちで売っているのを発    見●   eBay で $10 を切るくらいで shipping free    ●   大抵深センから 1 週間ほどで届く●   バリエーション...
外観   センサ形状     温度      湿度TEMPer      銀色     内蔵       ○       ☓TEMPer1     銀色     外部       ○       ☓TEMPer2     青色   内部 + 外...
まとめ●   TEMPer は安くて簡単に利用できておすすめ●   買うときは海外通販が安い
Upcoming SlideShare
Loading in …5
×

Linuxで温度計測あれこれ

3,849 views
3,639 views

Published on

OSC関西2012の東海道らぐ「初」オフ会「Linux 好きのこれだけはやっておきたい!お話集」で発表.

-LibreOffice で編集可能なpdf としてエクスポートしてみました.
-以下のページを元にしました.
http://hpv.cc/~maty/pukiwiki1/index.php?Linux%2FDevice%2F%A5%B5%A5%F3%A5%B3%A1%BC%A5%EC%A5%A2%A5%E2%A5%CE%A5%B7%A5%E7%A5%C3%A5%D7_USB%B2%B9%C5%D9%B7%D7_AKIBA58

Published in: Technology
0 Comments
4 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
3,849
On SlideShare
0
From Embeds
0
Number of Embeds
112
Actions
Shares
0
Downloads
17
Comments
0
Likes
4
Embeds 0
No embeds

No notes for slide

Linuxで温度計測あれこれ

  1. 1. Linux で温度計測あれこれKenichiroMATOHARA(@matoken) http://hpv.cc/~maty/
  2. 2. 自己紹介● @matoken ● 最近は Google+ によく居ます. ● http://hpv.cc/~maty/● 千葉の方から来ました >< ● Wikipedia 見ると一応東海道ぽい● 普段は「小江戸らぐ」で活動しています. ● ちょうど先月が 120 回目のオフ会があって 10 周年 !
  3. 3. 今日は ?● USB 経由で温度をロギングする方法を紹介
  4. 4. 温度計測● 何故測りたくなったか ? ● ある夏の日 ● サーバルームのエアコン死亡 ● 一気に温度が上がる >< ● 無人だったらやばかった
  5. 5. 温度を図る試み 1● サーバの内部温度計の値を拾う ● 付いていないものが多い. ● あまり正確じゃない
  6. 6. USB 接続温度計経由で計測● strawberry linux USBRH http://strawberry-linux.com/catalog/items?code=52001 ● ¥ 3,980-( 完成品は¥ 4,980-) ● 本来 Windows 専用 ● Linux で動くドライバが存在する http://www.dd.iij4u.or.jp/~briareos/soft/usbrh.html http://acapulco.dyndns.org/usbrh/ ● 一箇所ならいいけど複数入れるには高いかな ?
  7. 7. マイコンを利用して複数のセンサを● Arduino(miniPro 2,000 円 ) というマイコンを利用 して複数の温度センサを設置 ● 温度センサには LM35DZ(@100) や HSM20G( 販売停 止 ) を利用 ● 温度センサにずれがかなりある
  8. 8. サンコーレアモノショップの USB 温度計● Linux でも使えるという噂を聞く● 1 つ¥ 1,980-● 秋葉原に行って試しに買ってみる http://www.thanko.jp/product/846.html
  9. 9. 刺すだけで認識$ dmesg[ 5954.690042] usb 1-1.2: new low-speed USB device number 4 using ehci_hcd[ 5954.854803] input: RDing TEMPerV1.2 as/devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.2/1-1.2:1.0/input/input12[ 5954.855138] generic-usb 0003:0C45:7401.0001: input,hidraw0: USB HID v1.10Keyboard [RDing TEMPerV1.2] on usb-0000:00:1a.0-1.2/input0[ 5954.857514] generic-usb 0003:0C45:7401.0002: hiddev0,hidraw1: USB HIDv1.10 Device [RDing TEMPerV1.2] on usb-0000:00:1a.0-1.2/input1[ 5954.857543] usbcore: registered new interface driver usbhid[ 5954.857545] usbhid: USB HID core driver$ lsusb -d 0c45:7401Bus 001 Device 011: ID 0c45:7401 Microdia
  10. 10. 温度データをロギングするソフトを 探す● CD には Windows 用の software しか付いて来な い● Linux で動作するものを探して貰ってくる (VID:PID で検索した ) https://github.com/bitplane/temper
  11. 11. ビルド $ git clone git://github.com/bitplane/temper.git $ cd temper● README では # 1. Install libusb-0.1.4 and dev package, plus build-essential # # sudo apt-get install build-essential libusb-0.1.4 libusb-0.1.4-dev● となっているが ,Ubuntu12.04 では $ sudo apt-get install build-essential libusb-0.1-4 libusb-dev $ make gcc -Wall temper.c pcsensor.c -o temper -lusb $ sudo ./temper 05-Jul-2012 16:32,32.711338
  12. 12. ビルド $ git clone git://github.com/bitplane/temper.git $ cd temper● README では # 1. Install libusb-0.1.4 and dev package, plus build-essential # # sudo apt-get install build-essential libusb-0.1.4 libusb-0.1.4-dev● となっているが ,Ubuntu12.04 では $ sudo apt-get install build-essential libusb-0.1-4 libusb-dev $ make gcc -Wall temper.c pcsensor.c -o temper -lusb $ sudo ./temper 05-Jul-2012 16:32,32.711338
  13. 13. 時間のフォーマットを修正時間がGMTで表示されるのでlocaltimeに変更●$ git diff temper.cdiff --git a/temper.c b/temper.cindex 5670bb5..90a80f9 100644--- a/temper.c+++ b/temper.c@@ -41,7 +41,7 @@ int main(){struct tm *utc;time_t t;t = time(NULL);- utc = gmtime(&t);+ utc = localtime(&t);char dt[80];strftime(dt, 80, "%d-%b-%Y %H:%M", utc);$ makegcc -Wall temper.c pcsensor.c -o temper -lusb$ sudo ./temper06-Jul-2012 01:37,33.740040
  14. 14. 秒数も出したい & 表示形式も変えたい$ git diff temper.c | stringsdiff --git a/temper.c b/temper.cindex 5670bb5..92de43d 100644--- a/temper.c+++ b/temper.c@@ -41,10 +41,10 @@ int main(){struct tm *utc;time_t t;t = time(NULL);- utc = gmtime(&t);+ utc = localtime(&t);char dt[80];- strftime(dt, 80, "%d-%b-%Y %H:%M", utc);+ strftime(dt, 80, "%Y-%m-%d %H:%M:%S", utc);printf("%s,%fn", dt, tempc);fflush(stdout);$ sudo ./temper2012-07-06 02:27:48,31.875517
  15. 15. 普通に利用できるようになりました $ sudo sh log.sh | tee log 2012-07-06 02:26:55,31.939814 2012-07-06 02:27:00,31.875517 2012-07-06 02:27:05,31.875517 2012-07-06 02:27:10,31.875517 2012-07-06 02:27:19,31.875517 2012-07-06 02:27:24,31.875517 2012-07-06 02:27:29,31.875517 2012-07-06 02:27:34,31.875517 :● 後は煮るなり焼くなり
  16. 16. gnuplot でグラフにする例gnuplot> set datafile separator ","gnuplot> set xdata timegnuplot> set timefmt "%Y-%m-%d %H:%M:%S"gnuplot> plot "logfile" using 1:2 w lpgnuplot> set terminal pnggnuplot> set output temper.pnggnuplot> plot "logfile" using 1:2 w lp
  17. 17. 新幹線寒かったです ><
  18. 18. 注意とか● sudo を付けずに一般ユーザで実行するとエラーも 出さず帰ってこない● 同梱の log.sh は 5 秒おきに実行してくれる● PC の熱を拾うので, USB ポート直挿しは避けたほ うが良い● 付属の延長ケーブルを利用● NotePC だと 2,3 度温度が上がった
  19. 19. という発表を 先月の小江戸らぐでしました● 「日経 Linux で似たような記事があったよ」 ● 日経 Linux2012 年 6 月号 p49 に載っていた. ● 記事を見ると同じ温度計だけど www.amazon.co.jp で ¥ 980- で売ってるとか orz ●
  20. 20. 探すとあちこちで売っている● dx.com や ebay 等あちこちで売っているのを発 見● eBay で $10 を切るくらいで shipping free ● 大抵深センから 1 週間ほどで届く● バリエーションもいくつかある
  21. 21. 外観 センサ形状 温度 湿度TEMPer 銀色 内蔵 ○ ☓TEMPer1 銀色 外部 ○ ☓TEMPer2 青色 内部 + 外部 ○ ☓TEMPerHUM 青色 内部 ○ ○※TEMPerHUM は未入手 ( 間違えて TEMPer2 を買った )※TEMPer2 は今回のプログラムでは内部センサしか利用できていない※TEMPer/TEMPer1/TEMPer2 は全て VID/PID 同じ…
  22. 22. まとめ● TEMPer は安くて簡単に利用できておすすめ● 買うときは海外通販が安い

×