ラズパイ sumobot turn


sumobot turn は、Sumobot が左回転と右回転を繰り返すプログラムです。
sumobot_turn.py と sumobot_turn_check.py の2つがあります。
後者は、前者に、ピンの状態をチェックする処理を追加したものです。

インストール
Github から持ってきて、ラズパイの好きな場所 (例えば /home/pi/sumobot/ ) に置きます。

起動

$ sudo python /home/pi/sumobot/sumobot_turn.py

Sumobot が左回転と右回転を繰り返します。

注意
無線LANでログインして起動してください。
有線LANだと、LANケーブルが絡まります。

自動起動
電源を投入したときに、自動的に起動するようにします。
しかし、常に Sumobot が動き出すと、扱いにくいのです。
sumobot_turn_check.py を使用します。
これは、特定のピン (P13) の状態をチェックして、Sumobot を動かさずに、プログラムを終了する処理を追加したものです。

自動起動するには、/etc/rc.local を変更します。
exit 0 の前に、1行追加します。

$ sudo nano /etc/rc.local
...
# add
python /home/pi/sumobot/sumobot_turn_check.py
exit 0 

ハードの設定
P13(GPIO27) と P17(3.3V) の間に10KΩの抵抗を入れます。
プログラムが自動起動して、Sumobot は動き続けます。
P17(3.3V) に代わりに P14(GND) につなぐと、プログラムは終了して、Sumobot Jr は停止したままです。
20160505_raspi_circuit_p13


CentOS で node.js を自動起動する


node.js を自動起動するツールはいくつかあるようです。
今回は forever を使います。

インストール

# npm install forever -g
/usr/local/node-v0.12.2/bin/forever

パスを通す

# ln -s /usr/local/node-v0.12.2/lib/node_modules/forever/bin/forever /usr/local/bin/forever

自動起動
起動スクリプトを書いて、/etc/rc.local に追加する

#!/bin/bash/
/usr/local/bin/node /usr/local/bin/forever start \
  -p /var/run/forever \
  --pidfile /var/run/node-app.pid \
  -l /var/log/node-app.log -a \
  /home/node/app.js

参考
Node.js 自動再起動モジュール
node.js node.jsスクリプトをforeverでデーモン化する