Yamamoto's Laboratory
 
Mathematica

Raspberry Pi とは

photograph of Raspberry Pi
Raspberry Pi の本体.アクリルケースに入れています.

Raspberry Pi は,手のひらに乗る小型(85.60[mm] × 53.98 [mm])のシングルボードコンピューターです.CPU は 700 MHz のARM プロセッサーで,512 MB の RAM が搭載されています.それでもって,Linux が動きます.また,様々な IO が用意されており,かなり遊べそうです.5000円以下で購入できるので,コンピューターをいじり回すのにはもってこいです.

私の当初のもくろみは,これを Mathematica のサーバーに仕立てることです.Raspberry Pi は,Mathematica のフリーバージョンを動かすことができます.5000円に満たない投資で,Mthematica が手に入ります.


Raspberry Pi の設定

ここでは,Raspberry Pi を使うための初期の設定について説明します.ディスプレイやキーボードは不要ですが,DHCP サーバーが動いているネットワーク環境が必要になります.

OS のインストール

インストールする OS は,debian をベースとした Raspbian をインストールします.私がインストールした手順は以下の通りです.インストールに用いた PC の OS は,Linux (Ubuntu) です.

  1. 公式サイトから OS のイメージファイルをダウンロードします.Raspbian をダウンロードします.かなりの時間が必要です.私がダウンロードしたファイル名は,「2014-01-07-wheezy-raspbian.zip 」でした.
  2. ダウンロードしたファイルを解凍します.結構,時間がかかります.すると,OS のイメージファイル「2014-01-07-wheezy-raspbian.img」ができあがります.
    $ unzip  2014-01-07-wheezy-raspbian.zip
  3. PC に SD カードを差し込み,コマンド「df」で デバイス を確認します.
    $ df 
    Filesystem     1K-blocks     Used Available Use% Mounted on
    /dev/sda1      114358888 73485860  35063876  68% /
    udev              499916        4    499912   1% /dev
    tmpfs             101448      864    100584   1% /run
    none                5120        0      5120   0% /run/lock
    none              507224      156    507068   1% /run/shm
    /dev/sdb1        7774208       32   7774176   1% /media/1FC3-4E02
    これから,SDカードは,「/dev/sdb」ということが分かります.
  4. この OS のイメージを,コマンド「dd」を使い SD カードに書き込みます.これも結構な時間が掛かりますので,気長に待ちます.
    $ sudo dd if=2014-01-07-wheezy-raspbian.img of=/dev/sdb bs=4M
    of=/dev/sdb1」は間違いで,正しくは最後の 1 を取り除いた「of=/dev/sdb」です.また,「bs=4M」は一度に読み書きするバイト数です.
  5. 書き込みが完了したら,SD カードをアンマウントします,
    $ sudo umount /dev/sdb1

以上で,SD カードへの OS のインストールは完了です.

起動と初期設定

  1. Raspberry Pi の本体に SD カードを差し込み,イーサーネットに接続します.そして,電源を接続します.すると,Raspberry Pi が起動し,ネットワークと接続されます.問題なく起動すると,「ACT」や「PWR」,「FDX」,「LNK」,「100」の LED が点灯/点滅 します.ただし,DHCP により IP アドレスが自動的に割り振られる必要があります.
  2. ルーターの設定などから,Raspbery Pi の IP アドレスを調べます.
  3. ssh で,Raspberry Pi にログインします.
    $ ssh pi@192.168.11.10
    途中,パスワードの問い合わせがありますので,パスワード「raspberry」を入力します.
  4. すると,メッセージ「NOTICE: the software on this Raspberry Pi has not been fully configured. Please run 'sudo raspi-config'」が現れますので,以下のコマンドを入力します.
    $sudo raspi-config
  5. 先のコマンド「raspi-config」により,以下の設定メニューが現れます
    lqqqqqqqqqu Raspberry Pi Software Configuration Tool (raspi-config) tqqqqqqqqqqk
    x Setup Options                                                                x
    x                                                                              x
    x    1 Expand Filesystem              Ensures that all of the SD card s        x
    x    2 Change User Password           Change password for the default u        x
    x    3 Enable Boot to Desktop/Scratch Choose whether to boot into a des        x
    x    4 Internationalisation Options   Set up language and regional sett        x
    x    5 Enable Camera                  Enable this Pi to work with the R        x
    x    6 Add to Rastrack                Add this Pi to the online Raspber        x
    x    7 Overclock                      Configure overclocking for your P        x
    x    8 Advanced Options               Configure advanced settings              x
    x    9 About raspi-config             Information about this configurat        x
    x                                                                              x
    x                                                                              x
    x                     <Select>                     <Finish>                    x
    x                                                                              x
    mqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqj
    キーボードの上矢印キー[↑]と下矢印キー[↓]でメニューの移動ができます.[tab]キーで <Select> あるいは <Finish> の選択が可能です.9個のメニューがあり,以下の設定ができます.ロイヤルブルーは,私の設定です.
    1 Expand Filesystem
    NOOBSを使っRaspbianをインストールした場合,ファイルシステムのインストール時に SD カードの空き領域が自動的に拡張されるので、この設定は不要です.一方,OS のイメージをコピーした場合は,SD カードの一部(3GBを超える領域)が未使用になります.そこで,この設定メニューを選択することにより,この未使用の部分を使用可能にできます.設定後に,Raspberry Pi を再起動する必要があります.オプションを選択するとすぐに,パーティションの拡張を開始します.私は,16GBのSDカードを使いましたので,もちろんこの設定は実施しました.
    2 Change User Password
    Raspbian のデフォルトユーザーは,アカウント: pi,パスワード: raspberry です.この設定メニューで,このデフォルトユーザーを変更できます.とりあえず,どうでも良いので,私はデフォルトのままです.
    3 Enable Boot to Desktop/Scratch
    Raspberry Pi のブート方法の設定です.このオプションを使うことにより,コマンドライン(コンソール端末),デスクトップ(GUI端末),またはスクラッチ(プログラミング環境)へのブート方法を変更できます.当面 SSH のみを考えているので,コンソール端末を選択しました.
    4 Internationalisation Options
    言語や地域を設定します.サブメニューで文字コードやタイムゾーン,キーボードレイアウトを指定します.locale: en_GB.UTF-8 UTF-8, ja_JP.EUC-JP EUC-JP, ja_JP UTF-8 UTF-8 をチェック.timezone: Asia →Tokyo を選択.キーボードは接続予定が無いので,キーボードレイアウトはデフォルトのままです.
    5 Enable Camera
    Raspberry Pi カメラモジュールを使用可能にします.この場合,少なくとも 128 MB のメモリーが GPU に使われます.カメラは当面使用予定が無いので,ここはデフォルトのままです.
    6 Add to Rastrack
    ここを設定すると,Rastrackに登録されるようです.登録されると,Google map 上に,Rasberry Pi の位置が表示されます.これはおもしろそうなので,設定しました.名前やニックネーム,e-mail アドレスを入れます.
    7 Overclock
    Raspberry の CPU のオーバークロックの設定です。デフォルトは 700M [Hz] のですが,1000MHzのまで設定できます.ただし,安定に動作する最高周波数は,CPU の個体差があります.これは,設定せず.当面は安定度を重視した運用を考えています.
    8 Advanced Options
    その他,様々な設定を行います.Overscan: 古いTV向け,Hostname: ホスト名の設定,Memory spli: GPUが使用するメモリの設定,SSH: 使用の使用する/使用しない,SPI: SPI(26ピン IO)カーネルモジュールの使用の使用する/使用しない,Audio: HDMI あるいは 3.5mm ジャックからの音声出力設定,このツール(raspi-config?)の最新バージョンへのアップデート.しばらくは関係ないので,設定せず.
    9 About raspi-config
    簡単な説明.
  6. 設定が終わると,「<Finish>」を選択します.すると,メッセージ「Would you like to reboot now?」が現れますので,「yes」を選択します.すると,再起動します.

固定IPアドレス

SSH でログインするために,IPアドレスを調べるのは面倒です.そこで,固定 IP にします.そのために,「/etc/network/interfaces」を編集します.以下の赤字の部分を編集しました.

auto lo

iface lo inet loopback
iface eth0 inet static
      address 192.168.1.85
	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

ホスト名

デフォルトのホスト名は,raspberrypi です.ホスト名が気に入らない場合は,次のようにして変更できます./etc/hosts/etc/hostname に書かれているホスト名(以下の赤字)を変更します.

/etc/hosts

127.0.0.1       localhost
::1             localhost ip6-localhost ip6-loopback
fe00::0         ip6-localnet
ff00::0         ip6-mcastprefix
ff02::1         ip6-allnodes
ff02::2         ip6-allrouters

127.0.1.1	raspi1

/etc/hostname

raspi1

元々,ホスト名は raspberrypi ですが,ここでは raspi1 に変更しました.

次にホスト名で SSH 接続するために,Avahi デーモンをインストールします.

アップデート

アプデートのコマンドは,以下のとおりです.

$ sudo apt-get update

Rastrack

raspi-config で「6 Add to Rastrack」を設定すると,www@ryanteck.org.uk から e-mail が送られてきます.

Mathematica の設定

インストール

Mathematica のインストールはきわめて簡単で,以下のコマンドだけです.

$ sudo apt-get update && sudo apt-get install wolfram-engine

起動方法

私のように Raspberry Pi を他の PC から SSH で接続して使う場合,X11 転送 (X11 forwarding) が必須になります.なぜならば,ユーザーとのインターフェースであるノートブックは,X11 のようなGUI 環境が必要だからです.ここでは,代表的な二通りの方法を示します.

Linux の端末では,SSH コマンドにオプションをつけてログインすることで,X11 転送が可能になります.具体的には,以下のコマンドです.

$ ssh -X  pi@192.168.11.10

通常のログインの手続きを行います.パスワードは変更しなかったので,「raspberry」です.その後に,コマンド「mathematica」をタイプすると,Mathematica Notebook が起動します.

PuTTY を使う場合(Windowsでも可),設定カテゴリーの ConnectionSSHX11Enable X11 forwarding をチェックします.そして,x display location を「localhost:0」とします.これは,ホスト名とディスプレイ番号を表しています.ディスプレイ番号は,コマンド「xdpyinfo」で調べることができます.これらの設定の後,SSH でログインします.端末が現れたら,ログインの手続きを行います.ログイン後に,コマンド「mathematica」をタイプすると,Mathematica Notebook が起動します.

Notebook が起動すれば,Mathematia ver 10.0.0.0 が使用可能になりまう.以下の図に,実行例を示します.この程度のプロット作成にも,かなりの時間がかかります.実行速度は,今時の普通の PC の 5[%]程度とのことです.

Raspberry Pi の Mathematica
Raspberry の Mathematica を実行した様子.

その他のアプリケーション

EMACS

emacs はインストールしておくほうがよいでしょう.インストールコマンドは,以下のとおりです.

$ sudo apt-get install emacs

起動すると,「Gtk-Message: Failed to load module "canberra-gtk-module"」というようなエラーが出ます.libcanberra-gtk-module をインストールするとエラーがなくなります.

$ sudo apt-get install libcanberra-gtk-module

ページ作成情報

参考資料

  1. OS のインストールは,Raspberry Piを知る 第2回 -モニタを使わずにセットアップしてみる(インストール〜ユーザ設定〜VNC設定〜WiFi設定まで)-を参考にしました.
  2. Raspberry Pi の HELP のページ」は,いろいろと参考になります.
  3. コマンド「raspi-config」は,ドキュメント「RASPI-CONFIG」に詳しい説明があります.
  4. Mathematica のインストールは,ぶていさんの「RaspberryPiにMathematicaをインストールする」を参考にしました.
  5. 固定 IP の設定は,hiramine.com の「固定IPアドレスの設定」を参考にしました.

更新履歴

2014年05月24日 ページの新規作成


no counter