Shuichi Machida's Weblog

« [Sun SPOT (4)] 教育機関向... | メイン | [Topics] Sun SPOT... »

http://blogs.sun.com/machida/date/20071221 2007年 12月 21日 金曜日

[Sun SPOT (5)] SPOTWorld を使ってみる(その1)。

今回は、Sun SPOT デバイスの管理ツールである SPOTWorld についてもう少し詳しく書いていきたいと思います。以前のエントリで、

SPOTWorld は、Sun SPOT デバイスのプログラミング(配備、実行など)や設定、モニタリングなどの機能を提供する管理ツールです。ネットワーク上にある複数の Sun SPOT  デバイスを単一のインタフェースから一元管理することができます。このツールでは、Sun SPOT の実機だけでなく、エミュレータも作成して動作させることができます(実機とエミュレータ間で通信したりもできます)。

と書きましたが、SPOTWorld を使うと、リモートにある Sun SPOT に対してアプリケーションをネットワークインストールしたり、デバッガをアタッチしたり、Sun SPOTの標準出力をネットワーク経由でPCに表示したり...と、とても便利です。

SPOTWorld はPC上で動作するJavaベースのホストアプリケーションで、下図のように、ベースステーション(Base Station)として動作するように設定した1台の Sun SPOTデバイスをPCにUSB接続することで、このベースステーションを介して、リモートのSun SPOTデバイスとホストアプリケーション間の通信が可能になります。


 

それでは早速、SPOTWorld を起動します。


 

ベースステーションを接続していない(あるいはUSBケーブルでSun SPOTデバイスを直接PCに接続していない)場合、Sun SPOT は検出されず、1つも表示されません。上の図は、ベースステーションを接続して起動した状態で、1台の Sun SPOT デバイスを検出して表示(右側の黒い方)しています。また、以前のエントリで紹介した方法で、エミュレータを1つ作成(左側の紫の方)しています。

エミュレータに対して実行できる操作を見てみましょう。操作したいエミュレータの上でマウスを右クリックすると、メニューが表示されます。


 

ここで、

  • Set Name...: このエミュレータに名前を設定します。
  • Specify application jar file...: エミュレータにインストールするアプリケーションのjarファイルを指定します。このjarファイルには、実行のメインとなるMIDlet(複数含めることが可能)及び関連するクラスファイル、リソースが含まれます。
  • Run MIDlet: このエミュレータにインストールされているアプリケーション(MIDlet)を実行します。複数のMIDletがインストールされている場合、実行するものを1つ選択します。
  • Reset SPOT...: このエミュレータをリセットします。
  • Display application output: リモートの Sun SPOT 上で実行中のアプリケーションのSystem.out 及び System.err 出力をウィンドウに表示します。
  • Display sensor panel: エミュレートする各機能(センサー類、IO、スイッチ etc)の値を設定するためのパネルを表示します。
  • Blink LEDs: このエミュレータのLEDを点滅します。
  • Get info: このエミュレータ上で動作しているアプリケーションに関する情報を表示します。
  • Delete virtual SPOT: このエミュレータを SPOTWorld から消去します。

それでは少し操作してみましょう。

と、その前に、今回の操作で使用するアプリケーションのjarファイルを作成します。今回は、SDKインストール時に同時にインストールしたサンプルプログラムから1つ選んで、LEDSampleCode アプリケーションを使うことにします。LEDSampleCode は、

Solaris の場合は

<ユーザのホームディレクトリ>/SunSPOT/Demos/CodeSamples

Windows の場合は

 C:\Program Files\Sun\SunSPOT\Demos\CodeSamples

にあります。

NetBeans IDE でプロジェクトを開いて、ターゲット "jar-app" を実行します。



成功すると、suite ディレクトリ以下に次のようなファイルが生成されます。これが Sun SPOT(エミュレータ)にインストールするアプリケーションのjarファイルです。

 LEDSampleCode/suite/LED sample code_1.0.0.jar

まず、名前を「まいすぽっと」に変更してみます。次に、Specify application jar file...を選択して、先ほど作成したjar ファイルをインストールします。

 

次に、Run MIDlet.. メニューでインストールしたLEDSampleCode を選択すると ...



エミュレータのLEDが点滅を始めました。

 

Reset は飛ばして、次に Sun SPOTアプリケーションのSystem.out 出力を表示してみます。と、ここで1度試した所、このサンプルコードには System.out 出力が書かれていない事に気づいたので、多少ソースコードを修正して再インストール、実行することにします。その後で Display application output を選択すると...


 

何やら Hello World っぽいものが表示されましたね!この例ではエミュレータを使っていますが、もちろんリモートにある Sun SPOT デバイス上で動作するアプリケーションの出力も、このように SPOTWorld 上で見ることができます。

Blink LEDs と Delete virtual SPOT... はそのまんまなのでここでは飛ばして、最後に Get info でアプリケーション情報を見てみます。

 

何やら情報が表示されました。エミュレータの場合はこの項目はそれほど有用ではありませんが、Sun SPOT の実機の場合は電源使用量、メモリ使用量、システムプロパティなど、いろいろ有益な情報が取得できます。


 # Sun SPOT 実機の場合の Get info

。。。

今回はエミュレータに対してのみでしたが、次回は 実際のSun SPOTに対して色々操作をしてみたいと思います。

と、書いていたら、興味深いであろう Display sensor panel を書いていないことに気づきました orz こちらも次回改めて。。

投稿されたコメント:

コメント
  • HTML文法 不許可

Valid HTML! Valid CSS!

This is a personal weblog, I do not speak for my employer.