2007年 12月 13日 木曜日
[Sun SPOT (3)] Sun SPOT エミュレータを動かしてみる。
今回は、前回のエントリで作成した Sun SPOT のLEDを点滅させるアプリケーションを、 Sun SPOT のエミュレータ上で動作させてみることにします。エミュレータもSun SPOT Manager から起動できますので、まずは Sun SPOT Manager を起動します。
[2008/02/07: 修正・追記]
Sun SPOT Java Development Kit に付属するユーザガイドに従って、Sun SPOT Managerを起動します。
一度 JNLP経由で起動したアプリケーションはキャッシュされるため、Javaキャッシュビューア を使っても起動できます。キャッシュビューアは、
Windowsの場合:
| 「コントロールパネル」 -> 「Java」 アイコンをダブルクリック -> 「基本」の「インターネット一時ファイル」で、「表示」ボタンをクリック |
Solaris の場合:
| JDKに付属する javaws コマンド |
でOKです。
# JNLP ファイルのショートカットを作成するのが一番簡単かもしれません。
。。。
Sun SPOT Manager の起動後、「SPOTWorld」タブを選択し、「SPOTWorld」ボタンをクリックします。
SPOTWorld が起動します。
※ SPOTWorld を起動するためには Apache Ant が必要となります。上記の起動時に "ANT_HOME is set incorrectly or ant could not be located. Please set ANT_HOME." などとメッセージが表示される場合は、Ant をダウンロードしてインストールしたあと、環境変数 ANT_HOMEとPATHを設定してください。
SPOTWorld は、Sun SPOTデバイスのプログラミング(配備、実行など)や設定、モニタリングなどの機能を提供する管理ツールです。ネットワーク上にある複数の Sun SPOT デバイスを単一のインタフェースから一元管理することができます。このツールでは、Sun SPOT の実機だけでなく、エミュレータも作成して動作させることができます(実機とエミュレータ間で通信したりもできます)。
早速、Sun SPOT のエミュレータを1つ作成してみます。メニューの「Emulator」から、「New Virtual SPOT」を選択します。
新しい エミュレータが作成されました。
それでは、このエミュレータにアプリケーションをインストールして実行してみます。エミュレータ上で右クリックするとメニューが表示されます。上から2番目の「Specify applicatoin jar file...」を選択します。
インストールするアプリケーションのjarファイルを選択するダイアログが表示されますので、前回作成したSpotApp を選択します。jar ファイルは、プロジェクトフォルダの下の suite というディレクトリにあるものを選択します。選択後、「開く」ボタンをクリックします。
最後に、再びエミュレータ上で右クリックして、メニューから「Run MIDlet」-> 「StartApplication」を選択します。
前回 Sun SPOT の実機上で動かしたときと同じく、エミュレータ上のLEDが点滅しました!
。。。
Sun SPOTが持つすべての機能を実装しているわけではありませんが、このエミュレータを使えばSun SPOTに付いている各種センサー(温度、加速度、光、etc.)、IOなどを使ったプログラムを実行できます。
Posted at 12:45午後 12 13, 2007 by Shuichi Machida in SunSPOT | 投稿されたコメント[5]
はじめまして、Sun SPOT大変興味があります。
英語のドキュメントがほとんどで困っていたところこのブログにたどり着きました。
ブログを参考にSDK,NetBeansの環境とインストールまでできました。
Sun SPOT エミュレータ
で、
Apache antをインストールし
環境変数を設定して実行したのですが、
エラーで動作しません。
OSは、Linux Mint です。
なにが問題なのかわかりません。
以下のような表示が出ています。
どのようにしたら良いのでしょうか?
Buildfile: /home/atsuya/SunSPOT/sdk/build.xml
-pre-init:
-do-init:
-post-init:
init:
-set-basestation-not-required:
-set-selector-for-host-run:
-override-warning-find-spots:
-prepare-conditions-for-find-spots:
-find-shared-basestation:
-run-spotfinder:
[exec] Using Hardware Abstraction Layer (HAL) to probe Sun SPOTS...
-decide-whether-to-run-spotselector:
-run-spotselector:
-collect-spotselector-result:
-clean-up-spotselector-output-file:
-spotselector-fail:
-decide-whether-to-start-basestation-manager:
-start-new-basestation-manager:
-do-find-spots:
-do-run-spotworld:
[echo] Java Runtime Environment version: 1.6.0_04
[java] Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
[java] at com.sun.java.swing.plaf.gtk.GTKLookAndFeel.initSystemColorDefaults(GTKLookAndFeel.java:1267)
・・・・
略
・・・・
com.sun.spot.spotworld.gui.SpotWorldPortal.<init>(SpotWorldPortal.java:107)
[java] at com.sun.spot.spotworld.gui.SpotWorldPortal.main(SpotWorldPortal.java:510)
******************************
SPOT Command Completed!
******************************
Posted by 森戸篤也 on 1月月 28日, 2008年 at 08:54 午後 JST #
森戸さん
こんにちは。
Sun SPOTにご関心をお寄せ下さり、どうもありがとうございます!現状日本語の情報が少なくご不便をおかけしておりますが、こちらのサイトでも随時情報を更新しておりますので、今後とも是非Sun SPOTにご注目頂ければと思います。
私もFedora Core 5 で試したところ同様の現象がでました。解決方法については、以下のエントリに書かせていただきました:
http://blogs.sun.com/machida/entry/sun_spot_9_spotworld%E3%81%8Cjdk6_on
現状では、Linux の場合は JDK6だとうまく動かない場合があるようです。
この方法で、一度お試し頂けますでしょうか。
普段Linuxで実行していなかったので気づきませんでした。コメントどうもありがとうございます。
Posted by machida on 1月月 29日, 2008年 at 12:16 午前 JST #
森戸です。
丁寧に解説いただきありがとうございます。
早速、仕事の合間に環境を整えました。
Linux mintで
jdk5をインストール
環境変数などを再設定
javawsなどのシンボリックリンクなども変更
でブログのとおりNetBeansで構築したアプリケーションをエミュレータで動作確認できました。
左端のLEDが赤く光るのを確認できました。
これで、実機を手に入れるまで楽しんでみます。
お世話になりました。これからも、よろしくお願いします。
Posted by 森戸篤也 on 1月月 29日, 2008年 at 03:01 午後 JST #
I would prefer that you NOT post the link to SPOTManager in your blog at this time. SPOTManager allows users to install the Sun SPOT SDK and at present, we are only allowing those who have purchased a kit to download the SDK.
We are working towards a software-only distribution at which time a public version of SPOTManager will be made available.
Thanks!
Posted by David Simmons on 2月月 07日, 2008年 at 05:18 午前 JST #
Oh,
I found the url in the document available online and had thought that it seemed to be OK blogging about it...
I modified the entries by excluding the url.
I'm sorry about that and thanks for notifying me.
Thanks.
Posted by Shuichi Machida on 2月月 07日, 2008年 at 02:20 午後 JST #