コードジンのヘッダーが入ります Developers Summit 2008:セミナーレポート
【14-C-6】Sun SPOT World - Javaによる無線センサーネットワークの世界
Java技術ベースの無線センサーネットワークデバイス Sun SPOTの可能性
町田修一氏
サンマイクロシステムズ株式会社ソフトウェア・ビジネス統括本部
「Sun SPOT」は、CPU上で直接実行可能なJavaベースのセンサー・アプリケーションを構築するための技術として、サンの研究開発組織「サン・ラボ」が開発した無線センサーネットワークデバイスである。ツールを用いてセンサー・アプリケーション開発を容易に行うことができる。また、教育用の教材や、ロボット制御などの知的ホビーとしての活用も考えられるなど、新しいコンピュータデバイスの世界が見えてくる。

一般のアプリケーションと同様の感覚で開発

 「Sun SPOT World―Javaによる無線センサーネットワークの世界」と題して講演したサンマイクロシステムズ ソフトウェア・ビジネス統括本部の町田修一氏は、初めに背景説明として、軍事研究から始まった無線センサーデバイスの歴史を振り返り、次にセンサー・アプリケーション開発の現状について、「C言語に近い低レベルの言語を使用する必要があり、また組み込みデバイス向けの特殊な環境にあり、開発は容易ではない」、「デバイスに特化されていて汎用の開発ツールが使用できないし、デバッグ機能も低レベル」、「従って、組み込みデバイスが専門ではない開発者には敷居が高い」など、問題点に言及。町田氏は、Sun SPOTが、これらの問題を解決して、開発を加速させることを強調した。

Sun SPOTの特徴は、IEEE802.15.4(2.4GHz)に準拠し、メッシュネットに対応するデバイスであり、Java言語(Squawk Java VM)を使用し、ホストとシームレスな接続ができることにある。

町田氏は、通信機能とSun SPOT上のセンサー間で実験する簡単なデモを行った後、バッテリー、プロセッサボード、USBポート、センサーボード、サンルーフなどで構成されるSun SPOTの構造を詳しく説明した。センサーボードには、加速度、温度、照度センサーと8個の3色LEDが搭載されている。また、あとから新しいセンサーを追加したいといった場合でも容易に拡張できる。

注目すべきは、Sun SPOTの各種ツールによるセンサー・アプリケーションの開発である。この講演では、プログラム記述、ビルド、実行、デバッグなどに用いる「NetBeans IDE」、SDK、プラグイン、サンプルのネットワークインストールなどを行う「SPOT Manager」、アプリケーション配備と実行、リモート監視などに使用する「SPOT World」という3つのツールが紹介された(図1)。

図1 Sun SPOTアプリケーションの開発

町田氏は、「SPOT World」と「NetBeans IDE」を用いたアプリケーションの開発を実際にデモ。SPOT Worldを起動させ、Sun SPOTを複数表示させた上で、パソコンからリモート操作を行ったのを始め、Sun SPOTを操作するアプリケーションをパソコン上からインストールしたり、NetBeans IDEを用いてウィザードベースでSun SPOTを操作するアプリケーションを作成し、さらにプリント文のデバックを行うなどの実演を披露した。 NetBeansなどの総合開発環境を利用すれば、組み込みデバイス向けのプログラミングであることを意識せずに、一般のアプリケーションと同様に開発を行えることが理解できる。

Sun SPOTの応用例として、町田氏は、サンが開発した移動コンテナ型データセンターの温度、振動などの管理や、マラウイにおける水質モニタリングの研究プロジェクトなどを紹介。Sun SPOTはこのような研究やアプリケーション開発はもとより、Javaの学習など、教育用の教材として、また、ロボット制御などの趣味用として高い汎用性を有している。町田氏も「いろいろな用途に使ってほしい」と語る。

さらに、実践編として、距離センサーとDuke人形を用いた距離の計測方法を取り上げ、簡単にアプリケーションが作れることを示し、そのソースコードを明らかにした。ちなみに、Sun SPOTはオープンソースで、コミュニティもある。町田氏は最後に、「コミュニティに参加して、新しいアイデアを考えてほしい」と訴えた。

問い合わせ先
サンマイクロシステムズ株式会社
住所 東京都世田谷区用賀4-10-1 SBSタワー
TEL  03-5717-5033(カスタマー・ネットワーキング・センター)
URL http://sdc.sun.co.jp/java/series/sunspot/index.html

コードジンのフッターが入ります