ベランダ家庭菜園における自動潅水のためのプログラム
プログラミングについてです。
私はベランダでイチゴを育てているのですが、毎朝の水やりがどうにも面倒くさく自動でできないかなと考えていました。どうやら簡易タイマーなるものがあるらしいのですが、プログラミングの勉強を兼ねてraspberry piを利用した自動水やりマシーンを作ろうとしています。
さて、今日も小一時間ほど時間を割いて、マシーンの開発に取り組んでいます。ただいま、おおよそのハード物品は揃えて、6時9時12時に30秒間ポンプを動かすプログラムを組んだところです。
朝6時はまだ寝ているので、起きたころには水が出ているのだろうと思ってわくわくしていたのですが、出ていない、、、
原因を探ってみたところ、おそらくcrontabで指定したつもりのファイル名が違っていたものと思われます。
* 6,9,12 * * * python/home/pi/auto_watering/auto_watering.pi
* 6,9,12 * * * python/home/pi/auto_watering/auto_watering.py
拡張子のところを間違って入力していました。。。
$ sudo crontab -l #crontabの設定状況を確認し、
$ sudo crontab -r #念のため前の設定を一度消す。
$ sudo crontab -e #crontabの編集画面を開き、
* 6,9,12 * * * python/home/pi/auto_watering/auto_watering.py #auto_watering.pyのプログラムを6時、9時、12時に実行するように命令。
$ sudo crontab -l #設定できているか確認。
追伸
以上の取り組みをしてみたのですが、ダメでした。。。
修正前:* 6,9,12 * * * python/home/pi/auto_watering/auto_watering.py
修正後:* 6,9,12 * * * home/pi/auto_watering/auto_watering.py
動いてくれるといいなあ。
追伸2
上記の修正ダメでした、、、
調べたところ、crontabの時間指定で、分のところも指定しないといけないものと思われました。
そこで以下のように修正。
修正前:* 6,9,12 * * * home/pi/auto_watering/auto_watering.py
修正後:0 6,9,12 * * * python /home/pi/auto_watering/auto_watering.py
このように修正したところうまく時間になるとGPIOに信号が送られて、うまく稼働しました。
ファイルを指定する前にpythonとの記述は必要みたいです。
次はベランダで稼働できるようにハードを整備していきます。
エアコンの配管線に延長コードを通すかソーラー電池を作るか、、、