前回までの設定を無効化
コンパイルは、(スイッチを扱うところで出てきた)wiringPiを使っているのでライブラリ指定が必要だ。Windows PC(Tera Term)からの入力は以下になる。
gcc -o lps_get2 lps_get2.c -lwiringPi
早速テスト実行と行きたいところだが、前回のプログラム(lps_get)がcronから呼び出されて1分ごとに動いている。今回のプログラム「lps_get2」も、ほかのプログラムがLPS331(気圧センサー)を扱わないことを前提としているため、lps_get2が動作している間にLPS331を別のプログラムが扱うと問題が出る(lps_getは、1回計測して終了前にLPS331を止めてしまうので、動作がおかしくなる)。
そこでまず、crontabを編集してlps_getプログラムの実行を止めておく。また、Raspberry Piを屋外に持ち出す場合は、ネットワーク接続もなくなるので、本連載第2回のプログラム(シェルスクリプト)もエラーになる。よって、これまでcrontabで指定してきたプログラムをコメントアウトする。
コンパイルがエラーなしに終了したら、Windows PCのTera Termで「sudo ./lps_get2」と入力して、テスト実行してみよう。スイッチを押しながら実行すると、単にプログラムを終了するようになっている。押さずに実行すると記録を開始し、実行中にスイッチを長押しするとプログラムを終了、Raspberry Piをシャットダウンするようになっている。