Raspberry Pi + OpenECHOでECHOENT Lite機器を自作する【完全版】その③

前回の続き、最後です。Raspberry Piを立ち上げると、自動的にECHONET Lite機器として認識されるようにします。ここまでやれば、だいぶ使えるものになる。。。ハズ。

ここまでProcessingに頼らない(= X windowを必要としない)ようにプログラムを作ってきたので、あとはどうにかして起動時に自動でコマンドラインプログラムを実行するようにすればよいだけです。こちらのサイトを参考にさせていただきました。

では早速。

/etc/init.dに移動して、自動起動用のスクリプトを作成します。

$ cd  /etc/init.d
$ sudo vim autorun_script

autorun_scriptに、以下のように記述します。

#!/bin/sh

sudo java -cp /home/pi/echonet:/home/pi/echonet/lib/echo.jar:/home/pi/echonet/lib/pi4j-core.jar Main &

前回実行したコマンドの、classpathの指定を絶対パスにしただけです。最後のMainは絶対パスにする必要はないことだけ注意。

autorun_scriptが書けたら、実行権限を付与して、自動起動の設定をします。

$ sudo chmod 755 autorun_script
$ sudo update-rc.d autorun_script defaults
update-rc.d: using dependency based boot sequencing
insserv: warning: script 'autorun_script' missing LSB tags and overrides

warningが出ていますが、とりあえずこれでOK。Raspberry Piを再起動して、しばらくしてからプログラムが開始されたことを示すステータスLEDが点灯すれば成功です。

th_open_echo_success

こんな感じ(赤く点灯しているのがステータスLED)ですね。ラピロの頭に繋ぎっぱなしの状態なので、色々見にくくてすみません。

ちなみにこのステータスLED、普段Raspberry PiをON/OFFしながらSSHでいじっている自分からすれば、「あ、もうログインできるな」というのをお知らせしてくれるので、地味に便利です。

 

というわけで、Raspberry Piを電源ONするだけでECHONET Lite機器として機能させるところまでをやりました。これをベースにすれば、あとはJavaプログラムの作り込みと、電子工作の作り込み次第で、どんなECHONET Lite機器でも試作できると思います。

ECHONET Liteのテストをするだけならその①までで十分だと思いますが、デモとかする必要があるときは、やっぱり実際に動かせるものを見せられる方が説得力も出てくるかなーと思います。また、それより何より、やっぱり実際のモノを動かす方が断然楽しいですしね。