今回はRaspberry Piの紹介をしたいと思います。Raspberry PiはARMプロセッサを搭載したシングルボードコンピュータです。

Raspberry Pi 画像

ハードウェアの仕様

以下簡単なハードウェア仕様のまとめ。

モデル Model A Model B
価格 $25 $35
CPU ARM11 ARM1176JZF-S core 同じ
メモリ 256 MB 512 MB
GPU Broadcom VideoCore IV,OpenGL ES 2.0, OpenVG 1080p30 H.264 high-profile encode/decode 同じ
ストレージ SDメモリーカード / MMC / SDIO カードスロット 同じ
USB2.0 1ポート 2ポート
ビデオ出力 コンポジット(RCA) / HDMI 同じ
音声出力 3.5mmジャック / HDMI 同じ
LAN なし 10/100M 有線Ethernet
その他インターフェイス GPIO / SPI / UART 同じ
電源 500 mA 700 mA
電源ソース 5V MicroUSB Type B or GPIO 同じ
サイズ 85.60 mm ×53.98mm 同じ

ソフトウェア

OSはDebian(wheezy)ベースのもの、Arch Linux、RISC OSなどが動きます。ダウンロードはここから。

購入先

ここで購入しました。私が入手した際は1ヶ月以上待ちましたが、今はどうなってるのやら。

インストール

書き込み作業の際、ディスクの指定を誤るとシステムデータが飛ぶ可能性があるので、気をつけてください。

OSのダウンロード

インストールするOSのイメージを上記のページからダウンロードしておきます。今回はDebianベースのRaspbian “wheezy”(2012-12-16-wheezy-raspbian.zip) を利用しました。~/Downloads/ (デフォルトのダウンロードフォルダ)に保存しておきます。

SDカードの準備

OSをインストールするためのSDカードを用意します。OS自体は2GB程度なので、最低4GB程度の容量があれば大丈夫ですが、色々とソフトをインストールする場合を考えると、8GB程度あれば問題ないと思います。インストールの際、カード内の全データが消去されます。

SDカードへの書き込み。

今回はMacOSXで作業しました。Unix系のOSならおそらくほぼ同じ方法でできるはず。最初にSDカードのデバイス名を調べます。SDカードを接続する前に、以下のコマンドを実行します。

$ df -h

次にSDカード接続後に同じコマンドを実行します。私の環境の場合、SDカード名は/dev/disk1s1になっていました。次にSDカードをアンマウントします。

$ umount /dev/disk1s1

ダウンロードしたOSのイメージがあるところへ移動し、ddコマンドを実行。この際、デバイスの指定は/dev/disk1s1 => /dev/rdisk1のようにrawデバイスを指定します。

$ cd ~/Downloads
$ dd sudo time dd bs=1m if=2012-12-16-wheezy-raspbian.img of=/dev/rdisk1

これでOSの入ったSDカードの準備ができた。

起動

Raspberry Piに先ほど準備したSDカード、モニタ、キーボード、LAN、その他デバイスを接続し、USBポートまたはGPIOから電源を供給して起動します。電源供給と同時に起動するので、電源の接続は最後にしてください
初回のみ、設定画面が表示されます。項目は以下の通りです。

・info
  このツールの情報の確認。スルーして問題なし。
・expand_rootfs
  デフォルトではSDカードのうち2GB程度しか使用していません。
  全領域を使用するようにここで設定出来ます。設定後、要再起動。
・overscan
  テレビに出力する場合、画面周囲がきちんと表示されない場合があります。
  その際、ここで周囲に余白を設定することで、正常に表示できるようになります。
・configure_keyboard
  キーボードの配列の設定。
  日本語配列、US配列、使用しているキーボードに合わせて設定。
・change_pass
  デフォルトのユーザである’pi’ ユーザのパスワードの変更。
  自分のパスワードに変更しておくべき。
・change_locale
  ロケールの設定。
  日本語フォントが入っていないので、UTF-8に設定しても日本語は文字化けする。
  とりあえずデフォルトのままで問題ない。
・change_timezone
  時間の設定。日本は”Asia”の”Tokyo”を指定すればよい。
・memory_split
  GPUどれだけメモリを割り当てるか。通常はデフォルトのままで問題ない。
・ssh
  sshを利用してリモートログインする場合”Enable”を指定。
  設定しておけば別マシンから開発できる。
・boot_behaviour
  ”Yes”を選択すれば、最初からGUIな画面で起動する。
  CUIで起動して、startxするのが面倒くさいなら”Yes”に。
・update
  この設定用ツール raspi-config のアップデート。

これで最低限の設定は終わりです。もし、再設定したいならコンソールから

$ sudo raspi-config

を実行することで、いつでも再設定出来ます。

使用した感想

私が買ったのは$35のモデルです。
想像以上に高性能です。コンソールから使う分には特に不満なし。
軽い開発なら実機のみでそれなりにできそう。
低消費電力なのでサーバー用途に良さそう。
GPIO / オーディオ出力 などいろいろ遊べそう。
なかなか遊びがいのあるおもちゃですね。