Raspberry pi でMathematica(Macからリモートログイン)
Mathematicaを使ってみたかったのでRaspberry pi2を手に入れて、Macからリモートログインして使えるように設定しました。
できること
- MacからRaspberry pi2にリモートログインしてMathematicaの利用
- Raspberry piに保存したMathematicaプロジェクトファイルをMacから閲覧。
2は必須ではないのですが、やはりRaspberry pi2は性能は低くて少し手の込んだことをすると動きがもっさりして耐えられないので、Mac側にCDF Playerをインストールして閲覧だけできるようにしました。CDF Playerは閲覧専用のソフトですが、MacのCPUを使うのでサクサク動きます。
Mathematicaとは?
数式を解いたり視覚化することができるソフト。一昔前は数十万円払わないと手に入らないものだった。Raspberry piをつかえば1万円でおつりがくる。Mathematicaで編集したファイルを閲覧するだけなら無料ソフト(CDF Player)でできます。
(余談ですが、こういった計算ソフトは一部では高校教師用の教材として使われているようですが、ぜひとも中高生に触ってもらいたいですね。。)
サンプル(3つの電荷から発生する電界を視覚化)
http://demonstrations.wolfram.com/ElectricFieldsForThreePointCharges/
セッティングの流れ
- SDカードにRaspberry pi用のOSである“Raspbian”を書き込む。
- Raspberry piに電源、ディスプレー、キーボード、マウス、有線LANを配線する。
- 電源を入れるとRaspbianが立ち上がって自動でログインする。
- Raspbianを最新にアップデートする。
- Raspberry piでMacからリモートログインするための設定する。
- Macからリモートログインする。
- Raspberry piにファイルサーバーを構築する
- MacにCDF Playerをインストールする
MathematicaはRaspbian JESSIEにはじめから入っているので、インストールは不要。手順6まですれば、MacからリモートログインしてRaspberry piのmathematicaが使えるようになります。手順7でMacからRaspberry piのファイルにアクセス出来るようにします。
なお、1〜4は一般的なRaspberry piのインストールなので割愛します。
使うソフト
エディタ nano
このエディタ、ちょっと編集するのによいです。viみたいにモードの概念ないし。
- 上書き保存 Ctrl + o
- 終了 Ctrl + x
リモートデスクトップ用のソフト x11vnc
リモート用のソフトはx11vnc。インストールしたあとにもう少し頑張って、Raspberry piの電源を入れたらx11vncが起動するように設定してしまいます。
Raspberry piでMacからリモートログインするための設定
x11vncのインストール
$ sudo apt-get install x11vnc
接続パスワード設定
~/.x11vnc/passwdを作ります。~/.x11vncがないのでついでに作成。
$ mkdir ~/.x11vnc
$ x11vnc -storepasswd ****** ~/.x11vnc/passwd
******は好きなパスワードを書く。これはMacから接続するときに必要になるパスワード。
x11vnc自動起動設定
~/.config/autostart/x11vnc.desktopを作ります。デフォルトの状態だと~/.config/autostartディレクトリがないのでこれもついでに作成。
$ cd ~/.config
$ mkdir autostart
$ cd autostart
$ sudo nano x11vnc.desktop
x11vnc.desktopの内容
[Desktop Entry]
Encoding=UTF-8
Type=Application
Name=X11VNC
Comment=
Exec=x11vnc -forever -display :0 -rfbauth /home/pi/.x11vnc/passwd
StartupNotify=false
Terminal=false
Hidden=false
画面解像度を大きく設定
接続時の解像度を設定しておきます。これやってないと、ディスプレーを外した状態でMacから接続したときに画面が小さくなってしまうので。。
$ sudo nano /boot/config.txt
config.txtの解像度設定を有効にするため、下記の行の#を外します。
#framebuffer_height=1280
#framebuffer_width=720
ipアドレスの固定
アドレスを固定しておけばリモートログインするときに手間が少なくて済みます。
なんでもいいですが、今回は192.168.100.113に設定しておきます。
参考:
RaspberryPi - Raspberry Pi 2 (Raspbian: jessie) でIPアドレスを固定する - Qiita
ここまでで設定は完了。
Raspberry piは電源を急にオフするとメモリーカードのデータが高確率で破損するので、ここでSDカードの全領域バックアップをとることをお勧めします。SDカードのディスクイメージを丸ごと吸い出すソフトがあるのでそれを使いましょう。(RaspberryPiのハードウェアには電源断のときの保護機構が入ってないんですよね。。普通ならマイコンが電源電圧が下がってきたことを察知してノンマスカブル割り込みを入れてメモリアクセスを禁止すると思うんですが。。。)
再起動
$ sudo reboot
Macからリモートログインする
Finder > 移動 > サーバへ接続
vnc://192.168.100.113:5900
あとは接続ボタンを押せばOK。パスワードを求められるので、設定したパスワードを入力する。
追記:リモート画面の遅延が気になる
リモート操作のレスポンスが悪いのは、どうやらMacデフォルトの接続ソフトが原因なようです。vnc viewerを使うと気にならないレベルまで遅延が解消されました。
https://www.realvnc.com/download/viewer/
Raspberry piにファイルサーバー構築
netatalkを入れます。
$ sudo apt-get install netatalk
これでMacのFinderからアクセス出来るようになります。
MacにCDF Playerをインストールする
ソフトをダウンロードしてインストールするだけなのでダウンロード先を記載しておきます。
https://www.wolfram.com/cdf-player/
点電荷による電位分布を3次元で表示させました。
Raspberry pi2はもっさりなのに対して、Macはサクサク動きます。
参考
http://miracle-kktn.blogspot.jp/2014/11/raspberry-pi-vnc.html
http://www.1ft-seabass.jp/memo/2015/04/17/raspberry-pi-vnc-remote/
おまけ
Mathematicaの用途ですが、個人的には純粋な数学の問題を解くために使うよりも物理学の数式を解釈するのに使えるかなあと。
<追記 2016/12/24>
PIXELが公開されましたので、mathematicaを使いたい人はPCにPIXELを入れた方がいいかもしれません。
Raspberry Pi's PIXEL OS Now Available for Windows and Mac | NDTV Gadgets360.com
と思ってましたけど、今のところmathematicaはPIXELに含まれていないようですね。