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つ作成(左側の紫の方)しています。
エミュレータに対して実行できる操作を見てみましょう。操作したいエミュレータの上でマウスを右クリックすると、メニューが表示されます。
ここで、
それでは少し操作してみましょう。
と、その前に、今回の操作で使用するアプリケーションの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 こちらも次回改めて。。
Posted at 05:36午後 12 21, 2007 by Shuichi Machida in SunSPOT | 投稿されたコメント[0]