デジタル百葉箱製作覚え書き

ラズベリーパイで教材づくり IOT百葉箱

webフォルダにデータを自動コピー

今朝動作不良を確認したラズパイのカメラ、再起動後は動いている様子です。
なんか爆弾を抱えているみたい。


作業前にやること、お約束です。よくわかりませんがやらなきゃだそうです。
$ sudo apt-get update
$ sudo apt-get upgrade


さて、今日は機能作成したhtmlページに足りなかった画像とかデータとかを自動でコピーするスクリプトです。


スクリプトをブログでどう伝えるか悩んでgithubを使うという暴挙にでたわけですが、もう怖いものはないのでそのまま続けます。
git cloneしてください。

$ git clone http://github.com/hyakuyoubako/shellfiles/

homeフォルダ(/home/pi/)にshellfilesフォルダができていると思います。
開くと、wwwcopy.sh と erchk.sh があると思います。

wwwcopy.shは、グラフの画像とCSVデータの全てを/var/www/html/フォルダにコピーするだけのシェルスクリプトです。


erchk.shは、気温湿度気圧データ取得に失敗したら、ラズパイに接続したLEDを点滅させるシェルスクリプトです。どゆこと?かというと、リード線の接触不良で時々データ取得に失敗したことがあったので、その対策です。忘れてなければ後でその配線など当ブログでご案内します。


そしてもうひとつ。シャッターを切るスクリプトをgitします。

このスクリプトは後日変更します。のちの記事を参照してください。2019.12.20おー

$ git clone http://github.com/hyakuyoubako/webcam/

/home/pi/フォルダじゃなところからgitしたら、別のところにフォルダができてしまったので、移動させました。/home/pi/にwebcamフォルダを置いてくださいね。


さてさて、これらの二つのフォルダにある合計4つのシェルスクリプトをどうするかというと、そうですcrontabで自動実行させるんです。


たった今思ったけど、スクリプト、合体させても良かったかも。
まあいいやいまさら。


これらのファイルに実行権を与えます。パーミッションってやつですね。
LXTerminalからでも、アイコンを右クリックでファイルのプロパティでも好きな方法でやってください。


で、crontab -eで追記します。今までの分も含め、以下の通りになります。前回紹介したのとパスが違っているのは大目に見てください。
crontab内のfswebcamtest.shの行は消すか行頭に#を付けてコメントアウトするかしてください。以下コピペ用です。


# センサーBME280から温度湿度気圧データを取り、CSVファイルにする

*/10 * * * * python /home/pi/denpa-gardening/get_sensor_data.py >> /home/pi/denpa-gardening/sensor_data/sensor_data.csv

# CSVファイルからグラフを作成する

*/10 * * * * /home/pi/denpa-gardening/make-graph.sh /home/pi/denpa-gardening/sensor_data/sensor_data.csv

# ラズパイ内部のウェブサーバーにアップロード

*/10 * * * * /home/pi/shellfiles/wwwcopy.sh

# BME280動作チェック

*/10 * * * * /home/pi/shellfiles/erchk.sh

# 23時55分に1日分のデータを整理する

55 23 * * * /home/pi/denpa-gardening/data-dump.sh

# index.html表示のため10分ごとに写真を取る

*/10 * * * * /home/pi/webcam/scan.sh

# 1時間ごとに写真を撮影してwwwフォルダに保存する.失敗時のため5回試行 毎時1,2,3,4,5分

1,2,3,4,5 * * * * /home/pi/webcam/scan1h.sh


これでどう動くか、10分ほど待ちます。