SSブログ

Raspberry Pi+USB温度計で温度データログを取る

Raspberry Pi+USB温度計TEMPerと temper コマンドで温度データログを取るため、スクリプト temperlog.pl を作成。cron で temperlog.pl を定期起動する設定を行った。以下の設定により、Raspberry Pi 起動後、自動的にログを取り続ける。


1. /usr/temper に temperlog.pl を保存する。
perlスクリプト temperlog.pl を作成し /usr/temperに設置する。temperlog.pl は、実行するたびに TEMPerの温度を読み出し、/var/log/temper/[年_月]/[年_月日].log に追記する。

~ $ sudo mkdir /usr/temper
~ $ sudo vi /usr/temper/temperlog.pl


以下が、temperlog.plの中身。

#!/usr/bin/perl

use strict;
use warnings;
use utf8;

my ($sec, $min, $hour, $mday, $mon, $year) = localtime(time);
$year += 1900;
$mon++;

my $logdir = "/var/log/temper";
my $logdir_ym = sprintf("%s/%04d_%02d", $logdir, $year, $mon);
my $logfile = sprintf("%s/%04d_%02d%02d.log", $logdir_ym, $year, $mon, $mday);

if (!-d $logdir){
	mkdir $logdir;
}
if (!-d $logdir_ym){
	mkdir $logdir_ym;
}

system("/usr/local/bin/temper >> $logfile");



2. temperlog.pl のパーミッションを設定する。
temperlog.pl を root のみが実行、編集できるようにパーミッション設定を行う。

~ $ sudo chmod 700 /usr/temper/temperlog.pl



3. temperlog.pl を実行し、動作確認を行う。
temperlog.pl を実行し、/var/log/temper/[年_月]/[年_月日].log にログファイルが作成されることを確認する。

~ $ sudo /usr/temper/temperlog.pl
~ $ sudo cat /var/log/temper/2014_12/2014_1213.log
2014/12/13	23:46	27.3



4. crontab を設定する。
cron で定期的に temperlog.pl を起動するために、crontab を編集する。

~ $ sudo crontab -e


10分毎にログを取るには、次のように記述する。

*/10 * * * * perl /usr/temper/temperlog.pl



5. 念のため cron を再起動する。
これはやらなくてもいいかも……。もし、定期的にログが記録されない場合は、以下のようにして cron を再起動する。
もしくは Raspberry Pi をリブートする。

~ $ sudo /etc/init.d/cron restart




【注意】 temper コマンドは TEMPer から温度データを得るまでリトライを続けるため、TEMPerを接続せずに上記設定を行うと ジョブがどんどんたまります(おそらく)。TEMPer 未接続時は4の crontab 設定を解除してください。




USB温度計! USB thermometer-528018

USB温度計! USB thermometer-528018

  • 出版社/メーカー: OEM
  • メディア: エレクトロニクス



Sponsored Link


nice!(0)  コメント(0)  トラックバック(0) 

nice! 0

コメント 0

コメントを書く

お名前:
URL:
コメント:
画像認証:
下の画像に表示されている文字を入力してください。

トラックバック 0

トラックバックの受付は締め切りました

この広告は前回の更新から一定期間経過したブログに表示されています。更新すると自動で解除されます。