2022 年度 OSS リテラシ 3 : センサーの運用開始
cron の設定
ラズパイが起動したときにセンサーのスクリプト (sensor.sh) が自動的に実行するようにする.
また,ラズパイを長期間運用していると, ネットワークが切れることがある. そこで, 以下のような 1 分おきにネットワークの導通を確認し, 問題があれば ラズパイを再起動するプログラムをバックグラウンドで動かすことにする.
上記の 2 つのプログラムを再起動した時に自動的に起動するように crontab に登録する. 起動直後に動かすと wlan0 が落ちっぱなしになることがあるので, sleep で 2 分ほど経ってから動かすようにしている.
なお,sensor.sh はこれまでに課題等を通して作成したシェルスクリプトである. sensor.sh は自分のホームディレクトリに置かれていることを前提としていることに注意されたい.
$ cd $ ls -l sensor.sh sensor.sh が存在することを確認. $ crontab -e (末尾に追加) @reboot sleep 120; bash sensor.sh
また,wifi-reset.rb は wget で取得してほしい. それを root の crontab に登録する.
$ sudo -s # cd /root # wget https://www.gfd-dennou.org/arch/iotex/oss/IoTeX_2022/wifi-reset.rb # crontab -e (末尾に追加) @reboot sleep 150; ruby /root/wifi-reset.rb
動作確認
自分の grafana のダッシュボードにデータが表示されていることを確認すること.
ネットワークケーブルを抜いた後に,作成したコマンドを実行する. 5 分程度経過した後にラズパイが再起動すれば正しく動作していることになる.
プロセスが動いているか確認する
$ ps aux | grep wifi-reset.rb $ ps aux | grep sensor.sh