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 に追記する。
以下が、temperlog.plの中身。
2. temperlog.pl のパーミッションを設定する。
temperlog.pl を root のみが実行、編集できるようにパーミッション設定を行う。
3. temperlog.pl を実行し、動作確認を行う。
temperlog.pl を実行し、/var/log/temper/[年_月]/[年_月日].log にログファイルが作成されることを確認する。
4. crontab を設定する。
cron で定期的に temperlog.pl を起動するために、crontab を編集する。
10分毎にログを取るには、次のように記述する。
5. 念のため cron を再起動する。
これはやらなくてもいいかも……。もし、定期的にログが記録されない場合は、以下のようにして cron を再起動する。
もしくは Raspberry Pi をリブートする。
【注意】 temper コマンドは TEMPer から温度データを得るまでリトライを続けるため、TEMPerを接続せずに上記設定を行うと ジョブがどんどんたまります(おそらく)。TEMPer 未接続時は4の crontab 設定を解除してください。
Sponsored Link
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
- 出版社/メーカー: OEM
- メディア: エレクトロニクス
Sponsored Link
2014-12-14 23:32
nice!(0)
コメント(0)
トラックバック(0)
コメント 0