はじめに
前回無事に温度と湿度と気圧が取得できましたね。
でもこのままでは一回一回実行しなければいけないので、もはや苦行ですよね。
ここで cron設定をして取得プログラムを定期的に実行するようにしましょう。
ついでに取得したデータをファイルに書き出しましょう。
プログラム微修正だ!!!
取得したデータをファイルに書き出したいので、ちょっとプログラムを修正しましょう。
スイッチサイエンス様のプログラムに計測結果を書き出す処理を追加するゾイ。
まぁ、書き方はいろいろあると思います。僕のコードで良ければ参考にgitへ上げておきました。
sources/bme280.py at master · HyperTK/sources · GitHub
まずは試しにプログラムを実行。
先にデータを書き込むための「env_data.txt」を実行コードと同じ階層に作っておいてください。
プログラム内にテキストファイルのパスをべた書きしているので、ここも自分の環境に合わせて修正してください。
ファイルを作る
$ sudo touch env_data.txt
プログラムを実行
$ sudo python3 bme_file.py
2018/02/06 21:53:02 temp : 23.97 ℃ hum : 22.46 % pressure : 1000.87 hPa
2018/02/06 21:54:01 temp : 23.98 ℃ hum : 22.62 % pressure : 1001.03 hPa
上みたいにデータが書き込まれていればまぁOKっすね。
cron設定
お次は定期実行するためのcron設定です。
cronの設定方法はこの記事で。
qiita.com
僕はこんな感じで設定しました。
crontabを開いて
$ sudo crontab -e
*/1 * * * * python3 /home/pi/python/bme280/bme280.py
気前よく1分間隔でデータの取得を実行します。
そして、データを取得したファイルの中身がこちらになります
2018/02/06 23:27:01 temp : 24.83 ℃ hum : 22.87 % pressure : 1001.04 hPa 2018/02/06 23:28:01 temp : 24.81 ℃ hum : 23.12 % pressure : 1000.90 hPa 2018/02/06 23:29:01 temp : 24.75 ℃ hum : 23.12 % pressure : 1000.98 hPa 2018/02/06 23:30:02 temp : 24.83 ℃ hum : 22.95 % pressure : 1001.07 hPa 2018/02/06 23:31:01 temp : 24.85 ℃ hum : 22.87 % pressure : 1000.99 hPa 2018/02/06 23:32:01 temp : 24.89 ℃ hum : 22.76 % pressure : 1001.13 hPa 2018/02/06 23:33:01 temp : 24.89 ℃ hum : 22.75 % pressure : 1001.10 hPa 2018/02/06 23:34:02 temp : 24.86 ℃ hum : 22.85 % pressure : 1001.01 hPa
おぉ〜とれてますね!!
次はDBにでも保存していきたいですねー。