読者です 読者をやめる 読者になる 読者になる

RaspberryPiの起動・設定








今回はOpenNI/Xtionではなく、RaspberryPiについて書きたいと思います。
RaspberryPiは小さなマイコンボードですが、Debianの派生OSをGUIで動かせてしまうほどの力を持っています。
今回は、そのRaspberryPiの起動から初期設定までをしたいと思います。

 

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カードにインストールしてください。



③ Raspbianの起動
1. SDカードをRaspberryPiにさしてください。
2. ディスプレイとキーボードを接続してください。
3. マイクロUSBケーブルでパソコンとRaspberryPiをつないでください。電源が供給されると自動的に起動します。
4. しばらく待つとRaspbianが起動します。



④ 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
        

に置き換えます。
置き換えたら再起動してください。
次の起動時から自動ログインになると思います。



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が自動実行されるようになりました。



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
        

で接続ができます。

ノートパソコンをネットにつなぐときには、IPアドレスを元に戻すのを忘れないようにしてください。


OSは普通の使い慣れたDebianやUbubntuと同じように操作できます。



何かありましたら、Twitterなどでご質問ください。お待ちしています。
@KTokunn




追記
PythonIPアドレスを変更するスクリプトを書きました。
コードも方法もスマートではありません。
中身も知識がないのにカッコつけて書いてますので、変なところがあったら笑って、教えてください。

ダウンロードはこちらから↓
downloads