RaspberryPiの起動・設定
今回はOpenNI/Xtionではなく、RaspberryPiについて書きたいと思います。
RaspberryPiは小さなマイコンボードですが、Debianの派生OSをGUIで動かせてしまうほどの力を持っています。
今回は、そのRaspberryPiの起動から初期設定までをしたいと思います。
部屋のなかは暗いなぁ pic.twitter.com/mqm5ht4ADZ
— とーくん (@KTokunn) May 25, 2014
RaspberryPiにRaspbianをインストール
① 用意するもの
1. RaspberryPi (type B)
2. HDMIケーブル
3. ディスプレイ
4. USBキーボード
5. SDカード
6. LANクロスケーブル
7. Windowsマシン(仮想マシンでも可)
8. マイクロUSB to USBケーブル
(1)のRaspberryPiにはtype Aとtype Bの2種類があります。有線LANが使えるため、type Bをお勧めします。
(2)(3)RaspberryPiはHDMI出力ができます。ケーブルとディスプレイを用意してください。HDMIに対応していない場合でも、変換アダプターを使うと接続できます。
(4)RaspberryPiに接続するためにUSBキーボードを用意します。
(5)RaspberryPiは内部ストレージがないので、すべての情報をSDカードに書き込みます。相性があるようなので注意してください。相性については以下のサイトの中ほどにある表で確認してください。8GB程度あるのが望ましいでしょう。
RPi SD cards
(6)type Bには有線LANのポートがあります。ロボットに積んだRaspberryPiにディスプレイとキーボードを接続して操作するのには無理があるので、ノートパソコンと有線LANで接続してsshで操作します。このときにルーターを介さないために普通のLANケーブルではなくて、クロスケーブルが必要になります。
② SDカードにRaspbianをインストール
1. RaspberryPiには様々なOSがあります。raspbian, pidora, openelec, raspbmc, rics os, rach linuxなどです。今回はその中からRaspbianをインストールします。以下のサイトからRASPBIANをダウンロードしてきてください。
Dowload Raspbian
2. ダウンロードしてきたファイルを解凍してください。
3. できた2014-01-07-wheezy-raspbian.imgをSDカードにインストールします。Linuxのddコマンドでもできるらしいのですが、うまく起動しなかったので今回はWindowsを使って行います。Windowsマシンで以下のサイトからwin32disk imagerをダウンロードしてきてください。
Download imager
用意しておいたイメージファイルをimagerを使ってSDカードにインストールしてください。
とりあえず、クロスケーブル買ってくる
— とーくん (@KTokunn) May 25, 2014
③ Raspbianの起動
1. SDカードをRaspberryPiにさしてください。
2. ディスプレイとキーボードを接続してください。
3. マイクロUSBケーブルでパソコンとRaspberryPiをつないでください。電源が供給されると自動的に起動します。
4. しばらく待つとRaspbianが起動します。
初めてのRaspberry Pi
— とーくん (@KTokunn) May 23, 2014
起動っ!
④ Raspbianの設定
1.Raspbianが起動すると設定画面が開きます。適宜設定をしてください。終わったらFinishで抜けます。この設定を今後したい場合はraspi-configで開くことができます。
raspi-config
これでRaspberryPiが使えるようになりました。
⑤ Raspbianの自動ログイン・実行
このままでは起動するたびにディスプレイとキーボードを使ってログインしなくてはなりません。Arduinoのように起動するとある動作をして欲しいので、自動ログインと自動実行の設定をします。
1. 自動ログインの設定をします。
以下のファイルを開いて編集します。
sudo vim /etc/inittab
開いたファイルを編集します。
1:2345:respawn:/sbin/getty 38400 tty1
の行を#でコメントアウトします。
そのすぐしたの行に以下の行を
1:2345:respawn:/bin/login -f pi tty1 /dev/tty1 2>&1
に置き換えます。
置き換えたら再起動してください。
次の起動時から自動ログインになると思います。
自動ログインできるようにしてみたけど、sshで接続してるからよくわからない。
— とーくん (@KTokunn) May 25, 2014
2. 自動実行の設定をします。
/etc/init.d/にあるシェルスクリプトが起動時に自動実行することを利用して、ホームフォルダの下にあるファイルを実行させます。
cd /etc/init.d/ sudo vim autorun_script
autorun_scriptに以下の内容を書きこんでください。
#!/bin/sh sudo /home/pi/Python/autorun.py while true do : done
実行権限を与えて自動実行するようにします。
sudo chmod 755 autorun_script update-rc.d autorun_script defaults mkdir ~/Python
これでホームフォルダのPythonフォルダの中にあるautorun.pyが自動実行されるようになりました。
/etc/profile.d/にあるシェルスクリプトは起動した時に自動実行されるのか
— とーくん (@KTokunn) May 25, 2014
⑤ IPアドレスの固定
RaspberryPiをロボットに積んでからはsshでノートパソコンから制御します。
クロスケーブルを用いるので、DHCPを使いません。そのためIPアドレスが割り当てられないので、自分で固定します。
sudo vim /etc/network/interfaces
割り当てたいアドレス、環境に応じてファイル内容を書き換えます。
auto lo iface lo inet loopback # iface eth0 inet dhcp iface eth0 inet static address 192.168.1.100 netmask 255.255.255.0 gateway 192.168.1.1 allow-hotplug wlan0 iface wlan0 inet manual wpa-roam /etc/wpa_supplicant/wpa_supplicant.conf iface default inet dhcp
この場合IPアドレスは192.168.1.100を割り当てています。
ノートパソコンの方もOSに応じてIPアドレスを固定にしてください。
Ubuntu12.04では以下のようになりました。
auto lo iface lo inet loopback auto eth0 iface eth0 inet static address 192.168.1.200 netmask 255.255.255.0 gateway 192.168.1.1 dns-nameservers 192.168.1.1
これで、双方のIPが固定されたので、クロスLANケーブルで接続して通信できます。
ssh pi@192.168.1.100
で接続ができます。
というわけでRaspberryPiとクロスケーブル使っての接続を確立しました!
— とーくん (@KTokunn) May 25, 2014
ノートパソコンをネットにつなぐときには、IPアドレスを元に戻すのを忘れないようにしてください。
あ、IPを動的割り当てに戻す設定を入れるの忘れた
— とーくん (@KTokunn) May 25, 2014
OSは普通の使い慣れたDebianやUbubntuと同じように操作できます。
何かありましたら、Twitterなどでご質問ください。お待ちしています。
@KTokunn
追記
PythonでIPアドレスを変更するスクリプトを書きました。
コードも方法もスマートではありません。
中身も知識がないのにカッコつけて書いてますので、変なところがあったら笑って、教えてください。
ダウンロードはこちらから↓
downloads