[JavaOne 2007 Report (4)] 5/9(水) Day-2 その1 - SunSPOT HoL

朝起きると体調が最悪--;

とはいえこの日は朝イチで SunSPOT の Hands-On Labs 。

しかもこの Hands-On、昨年の JavaOne でも大人気で満席になり、急遽追加で行われた

程の人気セッションらしいので、事前予約をしていない私は当日の空き待ちを狙って

早めに並ばなくては入れないのです。

ということで、フラフラになりながらも開始10分前に到着。何とか最後から2人目

で潜り込むことに成功!

 

# 会場はこのような感じです。100台ぐらいマシンが並んでいます。


 

120分間、与えられた課題を各自で進めていきます。スピーカーはいますが、基本的な説明を

した後は独習という形で、分からない事があったら会場にいるスタッフ(Proctor)の人に質問します。

さて今回の Hands-On は簡単に言うと 「SunSPOT 2台と Trackbot 1台を使って遊んでみよう」

というものです。SunSPOT はUSでは既に発売開始されていますが、日本ではまだ入手不可能なため

実物を見るのも触ってみるのも今回が初めてです。

 

# 今回はこれを使って遊びました(右側の大きいのが Trackbot、2つあるのがSunSPOTです)

 

なお、SunSPOT の開発は基本的に NetBeans IDE 上で行います。 プログラムのコーディング、ビルド、

デバッグ、そして SunSPOT へのプログラムの配備(インストール)といった一連の操作を NetBeans

上で実行できます。また、SunSPOT 間は無線通信ですが、PCからSunSPOTへのプログラムの転送

などの際には PC と SunSPOT をUSB接続します。

 

# 開発作業の様子(NetBeans とても便利です)

 


 

大きく5つの課題があったのですが、以下ではそれぞれ写真を交えて簡単に感想など。

1. SunSPOT 1台を使って、読み取った加速度計(Accelerometer)のx,y,z値に応じて3色LEDを光らせよう

プログラムはものすごく簡単です。クラスは1つ(CLDCのMIDlet)で、ほんの数十行。必要なソースコードはすべて

提供されているので、内容を確認してビルドし、出来上がったプログラムを SunSPOT に流し込みます。 

おぉ、動いた。ちょっと感動。。


# 上下に振ったり、左右に動かしたりすると SunSPOT 上部のLEDの色が変わります

# 写真だと単なる白にしか見えません--; 


 

2. SunSPOT 2台を使って、1台の SunSPOT が読み取った加速度計の値を(無線通信で)もう1台に渡して、3色LEDを光らせよう

課題1の応用です。だんだんと SunSPOT らしくなってきました。ソースコードは既にあるので NetBeans でビルドして

SunSPOT に流し込みます。今回もソースコードはいたって単純。

# ちなみに、それぞれの SunSPOT は 802.15.4 MACアドレスにより識別されます。

おおっ、動いた。リモートコントロールできて再び感動。。

 

# LEDの右端が緑になってます


 

3. SunSPOT と Javaのデスクトップアプリケーションを連携してみよう

今回は 2台の SunSPOT と、SunSPOT のアバターを表示する3Dデスクトップアプリケーションを使用します。

要するに、手に持った SunSPOT を動かした時のジェスチャーを3D上で表示し、連動させようというわけです。

今回も加速度計を使用します。

。。。


無事成功。
SunSPOT を回転させるとデスクトップ上の "SunSPOT" も回転します。

# 3Dデスクトップの図(黄色の矢印は下方向を指しています)

 

4. SunSPOT を Trackbot に装着して、動かしてみよう


Trackbot の登場です。

# ちなみに去年の Hands-On では Trackbot はなく、この前の3Dデスクトップまでだったそうです。


 

# こんな感じで、Trackbot のI/Oポートに SunSPOT を接続します。 

 

例によって SunSPOT に載せるプログラムは提供されています。

# プログラム中では Trackbot に対して次のようなコマンドを発行します

... 

forward(1000);

right(90);

forward(1000);

right(90);

forward(1000);

right(90);

forward(1000);

right(90);

...

早速手順に従って作業します。

そして Trackbot のスイッチを入れて床に置いてみると。。

 

Trackbot がぐるぐる回り出しました!!




5. SunSPOT を2台使って、Trackbot をリモートコントロールしてみよう

これは課題4の応用です。課題2と同様、SunSPOT の通信機能を利用して、Trackbot に取り付けた

1台のSunSPOT に対してもう1台のSunSPOT からメッセージを送り、制御しようというものです。

。。。

が、

その前までの課題にじっくり取り組みすぎた(プログラムをまともに読みすぎた)せいか

時間が足りなくなってしまいました--; 残念。

とりあえず、終わらせた人の所に行って見せてもらいました。。

ちょっとしたプログラミングでコレだけのことができるなんて、SunSPOT の可能性を感じさせますね。

。。。

作業中は体調のことも忘れて熱中したせいか、あっという間の2時間でした。

早く日本でも SunSPOT が入手できるようになるといいです!

ちょっと高価なオモチャですが--;(現在US では $550)

 

あと、この SunSPOT の開発でも NetBeans を普通に使いましたが、今回の JavaOne では

セッションのいたるところで NetBeans が使われているというのが凄く印象に残ってます

NetBeans さえマスターしておけば、JavaSE, JavaME, JavaEEはもちろん スクリプトやSOA、

SunSPOTのようなニッチなものまでありとあらゆる開発が統一した環境でできるようになります。

 

 

 

まだ使ったことがない!という方は、是非 NetBeans を試してみてください。

絶対に損はしないと思います。
 

Day-2  その2に続く

投稿されたコメント:

コメント
  • HTML文法 不許可
About

machida

Search

Archives
« 4月 2014
  
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
   
       
今日