hirax.net::inside out::2013年12月15日

最新記事(inside out)へ  |   年と月を指定して記事を読む(クリック!)

2013年11月 を読む << 2013年12月 を読む >> 2014年1月 を読む

2013-12-15[n年前へ]

Mathematica搭載Raspberry Piで自分だけのWolfram Alphaを作ってみよう!? 

 Mathematica が搭載されたRaspberry Piを計算サーバにして、自分だけのWolfram Alphaを作ってみることにしました。手順はとても簡単で、

  1. Raspberry Pi でMathematicaカーネルを起動し、接続待ち状態にする
  2. 外部PC上で、入出力フロントエンド&Raspberry Pi に接続を行うWEBサーバをIronRubyで動かす
というだけです。すると、たとえば、下記スクリーンショットのような自分だけのWolfram Alphaモドキが動きます。

 必要な手順のうち、初めの「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 サーバなんかを簡単に作ることができます。スマホ等から色んな処理やデータ入出力をさせて遊んでみるのも面白そうですよね。

Mathematica搭載Raspberry Piで自分だけのWolfram Alphaを作ってみよう!?Mathematica搭載Raspberry Piで自分だけのWolfram Alphaを作ってみよう!?