ラスベリーパイで測定した温度をファイルに記録する
Raspberry Piの温度センサーで、測定した温度を画面に表示するだけでは面白く無いので、ファイルに測定値を保存するプログラムを作ってみました。
プログラム仕様:
・毎分(任意の時間)に温度を測定する
・Raspbrry Pi起動時にプログラムを自動実行
・測定日時と温度をファイルに保存してゆく
・測定したデータはCSVファイル形式で記録する
・ヘッダー(一行目の見出し)をつける
・毎日、日付のファイル名でデータファイルを作成する
ところで、CSVって何?
CSVとは, Comma Separated Valueの略、Comma(カンマ)で Separated (区切った)Value(値)のTEXTファイルのことを指します。
カンマ区切りのデータならエクセルなどのアプリにインポートも簡単で便利ですね。
作成したプログラムを実行すると↓のような表示になります。
同時に測定値を日付名の付いたCSVファイルをディレクトリ「/home/pi」に作成します。
1行目にヘッダーが記録され、温度センサー(Thermocouple)と基板上の温度(Internal)も記録するようにしました。
プログラム1回の実行で測定したデータを1行だけCSVファイルに追記していきます。
(連続で記録する機能は持たせていません、crontabを用い任意の間隔で記録するようにします)
ファイル名は現在の日付を取得し、その日のファイルが存在しなければ自動で生成するようにしました。
1分毎に測定したCSVファイルをLibreoffice Calcに読み込ませるとこんな感じです。
↓Libreoffice Calcのグラフ機能で表示させてみると
測定開始直後に温度センサー(熱電対)を窓の外に出したので急速に青い線が下がったのがわかります。
↓がソースコード。
temp-csv-cron.py
このプログラムには一定間隔で測定データを記録する機能はありません。
Linuxのcrontab機能で実現します。
crontabに登録すればプログラムを自動起動してくれます。
crontab
コマンドはUnix系オペレーティングシステム (OS) において、コマンドの定時実行のスケジュール管理を行うために用いられるコマンドである。 Wikipediaより
作成したプログラムは国内外の数々あるWebサイトを参考にさせて頂きました。
感謝です。
次回はcrontabを使った実例について記します。