2013-12-15[n年前へ]
■Mathematica搭載Raspberry Piで自分だけのWolfram Alphaを作ってみよう!?
Mathematica が搭載されたRaspberry Piを計算サーバにして、自分だけのWolfram Alphaを作ってみることにしました。手順はとても簡単で、
- Raspberry Pi でMathematicaカーネルを起動し、接続待ち状態にする
- 外部PC上で、入出力フロントエンド&Raspberry Pi に接続を行うWEBサーバをIronRubyで動かす
必要な手順のうち、初めの「Raspberry Pi でMathematicaカーネルを起動し、接続待ち状態にする」のは、Raspberry Pi で /opt/Wolfram/WolframEngine/10.0/Executable/ にある math (もしくは wolfram )を起動し、
link = LinkCreate["1234", LinkProtocol->"TCPIP"]とでもして、適当な空ポート(上の例では1234ポート)で接続待ち状態にします。
その状態で、これまでに何回か書いたMathematicaに接続して計算処理や入出力処理を行う IronRuby のコード(参考:「MathematicaPlayer+IronRubyでMathematica風AJAX WEBアプリ」の動作動画 )から、Raspberry Pi 上で動くMathematica カーネルにリモート接続をさせます。必要なことは、(たとえばこんな)以前のコードでカーネルに接続する箇所(MathLinkFactory.CreateKernelLink)を下記のような引数として動かすだけです。-linkname オプションの後に並べるものは、ポート番号とRaspberry Pi のIPアドレスです。
kernelLink = MathLinkFactory.CreateKernelLink( "-linkmode connect -linkprotocol TCPIP -linkname 1234@192.168.0.1" )
こんな風にすると、Raspberry Pi を計算エンジンにしたWEB サーバなんかを簡単に作ることができます。スマホ等から色んな処理やデータ入出力をさせて遊んでみるのも面白そうですよね。