BPK-etc : プログラムの自動起動
完成したロボットを実際に使用する段階になると、いちいちコマンドを打ち込むことなく、 電源を入れただけでプログラムが起動するようにしたいですよね。 ここではその方法を説明します。
プロセスを停止させる方法
- ラズパイを起動すると、自動的にプログラムが動くようにしてありますが、ラズパイを直接操作したい時などは、このプログラムを停止させたいことがあると思います。
- 一時的にプログラムを停止させる方法
-
上述の方法でパソコンからラズパイにSSH接続します。
-
下記のコマンドを入力し、ベゼリーのプログラムのプロセス番号を調べます。
-
ps ax | grep sudo -
すると、ディスプレイに以下のような出力が得られると思います。
-
590 ? S 0:00 sudo python /home/pi/bezelie/pi/demoShop.py 1087 pts/0 S+ 0:00 grep --color=auto sudo -
上記の1行目、つまり「sudo python …」で実行されているプロセスが止めたいプログラムです。(ちなみに2行目は、直前に打ち込んだコマンドそのものです)そこで行頭の数字(状況によって異なる数値です。こでは590)を使って以下のコマンドを打ち込み、停止させます。
-
sudo kill 590 -
これでプログラムが停止したはずです。
-
- さらに、プログラムの自動起動じたいをやめたい場合は、以下の手順を行ってください。
-
「rc.local」ファイルを編集するためエディタで開きます。
-
cd /etc sudo nano rc.local -
「rc.local」ファイルの下から2行目の行頭に「#」を入れてコメントアウトします。
-
# sudo python /home/pi/bezelie/pi/demoShop.py & -
キーボードショートカット「ctrl+x」でエディターを抜け、セーブすれば完了です。今後は自動起動しなくなります。
-
いっぽう、別のプログラムを自動起動させたい場合は、上記の行の「demoShop.py」の部分を、他のプログラム名に変えるだけです。
-
プログラムを書き換える方法
- プログラム本体「demoShop.py」はラズパイ内「/home/pi/bezelie/pi」フォルダーの中にあります。
- これをエディターで書き換えれば、処理内容を変えることができます。
- 営業時間だけ動くようにする場合
-
15行目に開始時刻、16行目に終了時刻を指定することができます。
-
openTime = 0 closeTime = 24 -
例えば朝11時から夜8時まで動作させたいのであれば、下記のようにします。
-
openTime = 11 closeTime = 20
-