RasPi のプログラムを自動起動に!その1 .bashrc 編
最近また らぴろん(Rapiro ロボット)のからっぽのあたまんなかに,RasPi をいれて らぴろんの魂よみがえり!計画がすすんでる.
それやってると思うんだよね.
「このプログラム,パイ起動時に起動してくれると楽なんだけど」って.
いろんなところで目にする /etc/rc.local ← これちっとも動かなかった.
Raspbian のバージョンの違いかな.
今回ためした Pi3 のOSのバージョンなんだっけw
uname -a コマンド で Kernel Version を
cat /etc/issue コマンドで raspbian の Version をみてみた.
pi@raspberrypi:~ $ uname -a
Linux raspberrypi 4.4.50-v7+ #970 SMP Mon Feb 20 19:18:29 GMT 2017 armv7l GNU/Linux
pi@raspberrypi:~ $ cat /etc/issue
Raspbian GNU/Linux 8 \n \l
ただ,本当にやりたいのは Pi2 の 2017-4-10-raspbian-jessie 環境での 特定プログラム の自動起動.これはあとで試してみよう.
とりあえず,メモとして,Pi3 で動いた自動起動のときの記録を残しとこ ^^
まず,
Python のパスを確認しよう!
pi@raspberrypi:~/Mi $ which python
/usr/bin/python
補足
もちろんこんなのもあり
pi@raspberrypi:~ $ which ls
/bin/ls
ls コマンドは /bin にあることがわかる.
ということは,lsコマンドをフルパスで書いて実行すると,こう.
pi@raspberrypi:~/Mi $ /bin/ls
MyCam Orphe PianoHAT RasPi-Girl.py TTS misound
つぎに,
自動起動用のサンプルPythonプログラム(RasPi-Girl.py)を用意しよう!
中は 単純に print文 ^^
pi@raspberrypi:~/Mi $ cat RasPi-Girl.py
print "RaspberryPi Girls Hello"
ホームディレクトリにもどりましょ
pi@raspberrypi:~/Mi $ cd ~
pi@raspberrypi:~ $ pwd
/home/pi
cd の うしろのは ニョロ/チルダ ね ^^
ホームディレクトリには .bashrc があるよね?
pi@raspberrypi:~ $ pwd
/home/pi
pi@raspberrypi:~ $ ls -al .bashrc
-rw-r--r-- 1 pi pi 3580 10月 17 00:06 .bashrc
.bashrc ファイルを ごにょごにょ します
pi@raspberrypi:~ $ vi .bashrc
一番最後の行に一行追加します
/usr/bin/python /home/pi/Mi/RasPi-Girl.py
RasPi を再起動してみましょう♬
Last login: Sat Oct 28 21:05:01 2017
RaspberryPi Girls Hello
pi@raspberrypi:~ $
RaspberryPi Girls Hello の文字でてきてる!^^#
ということで成功です ^^#
今回,TeraTerm で SSH でつないだから CUI 画面なので,
RaspberryPi Girls Hello
の文字すぐ見えてきたけど,RasPi をモニタにつないで,モニタ見てる人は GUI がめんたちあがっちゃうからわかりにくいかも.
でもそんなときは,CUI 画面で起動に変えられるから,変えてみて ^^*
手順は今から書くね ^^
RasPi を CUI 起動にする(そして自動起動も確認する ^^
RasPi の電源をいれ,今ソース画面から
pi@raspberrypi:~ $ sudo raspi-config
して,RasPi の設定画面を起動します.
Boot Options を選びます ^^
B1 Desktop / CL1 を選びます ^^
B2 Console Autologin Text console, automatically logged in as 'pi' user を選びます ^^
Finish して,reboot を言ってくるので reboot します ^^
RasPi を モニタにつないでても,CUI 画面で起動してきて,
ほら「RaspberryPi Girls Hello」が見えたよ ^^#
あとは,今回のように実行してプログラムがすぐ終わるものはいいけど,無限ループのようなものを自動実行させたときはもう少し考えないといけないかな...
とりあえず,今回は記憶を記録に ^^#