連載インデックスへ
次世代のインプットを考えよう(3)
──マウスとキーボードを超えたフィジカルコンピューティング

chumbyのタッチと加速度センサを
リモコンにしてみる


浦野大輔(うらのだいすけ)
サイバーエージェント 新規開発局所属
2009/3/25
flosc serverを活用して、chumbyをリモコンにしたFlashアプリの作り方を紹介。バランスWiiボードやiPhone、ストリートビューも連動させると?

 本連載では「次世代のインプットを考えよう」というテーマで、身体を使ったFlashアプリの作り方について紹介していきます。

 第1回「iPhoneをリモコンにしてみる」、第2回「バランスWiiボードをリモコンにしてみる」に続き、今回はchumbyを使ってみます。

chumbyとは

 chumbyは、ぬいぐるみのようにフワフワした、手のひらサイズのウィジェットプレイヤです。

 タッチスクリーンや加速度センサを使った直感的な操作感や、Flash Lite 3.0製のウィジェットを無料でダウンロード/アップロードできるのが特徴です。

 オープンソース・ハードウェアであることも特徴で、サムスンのデジタルフォトフレームや、Broadcomのchumbyウィジェットが動くテレビなど、他メーカーからのchumby互換機も発表され、2009年要注目なデジタルガジェットです!

chumby日本公式サイト
chumby.jp フォーラム
chumby開発者が語る誕生秘話とビジネスモデル

ハードウェアの仕様

 chumbyの仕様については、chumby Wikiが詳しいです。ここからは、chumby Wikiで気になった個所を和訳しながらざっくり紹介します。より詳しく知りたい方は、chumby Wikiも併せてご覧ください。

chumby Wiki

 それでは、ハードウェアの主な仕様を見てみましょう。

OS Linux(2.6.16)
CPU Freescale i.MX21(350Mhz)
メモリ SDRAM(64MB)
補助記憶装置 フラッシュメモリ(64MB)
液晶モニタ 320×240 3.5インチTFT液晶パネル(LEDバックライト)
入力装置 タッチスクリーン
  3軸加速度センサ
  マイク
インターフェース 2Wステレオスピーカー
  3.5mmステレオヘッドホン端子
  USB 2.0 ポート 2基
  IEEE 802.11b/g Wi-Fi アダプタ

 入力装置の項目を見てみると、「タッチスクリーン」、「加速度センサ」、「マイク」が使えることが分かります。

Hacking hardware for chumby - chumbyWiki
chumby主な仕様

ウィジェットの仕様

 chumbyのウィジェットはFlash Lite 3.0で作ります(図1)。

図1 Flash Lite 3.0形式でアプリをパブリッシュ

 サイズは320x240、フレームレートは12です(図2)。

図2 ドキュメントプロパティ

 Flash Lite 3.0はFlash Player 8がベースなので、ActionScript 2.0でできることは大体できそうなのですが、その辺の細かい仕様を見てみましょう。

◆サポートされる機能

・On2 VP6とSorenson Spark codecsでエンコードされたFLV
・Videoクラス、NetStreamクラス、NetConnectionクラス
・透明PNG、透明GIF
・外部MP3ファイル
・外部PNG、GIF、JPEGファイル

◆未サポート

・ビットマップキャッシュ
・フィルター
・ブレンドモード
・スタイルシート
・プログレッシブJPEG
・外部透明GIF
・丸型以外のline capsとジョイント

 ビデオやセキュリティなど、そのほかの機能についてはWikiの下記ページをご覧ください。

Developing widgets for chumby - chumbyWiki

センサアクセス

 タッチスクリーンや加速度センサなどの情報を取得するには、ネイティブな機能にアクセスするためのグローバル関数ASnativeをコールします。

◆タッチスクリーン

_rawX = ASnative(5,10);
_rawY = ASnative(5,11);
posx = _rawX(); // X座標
posY = _rawY(); // Y座標

◆加速度センサ

_accelerometer = ['ASnative'](5,60);
version = _accelerometer(0);
timestamp = _accelerometer(1); // 現在の時間
currentX = _accelerometer(2); // X軸の傾き
currentY = _accelerometer(3); // Y軸の傾き
currentZ = _accelerometer(4); // Z軸の傾き
avgX = _accelerometer(5); // X軸の傾きの平均値
avgY = _accelerometer(6); // Y軸の傾きの平均値
avgZ = _accelerometer(7); // Z軸の傾きの平均値
impactX = _accelerometer(8); // 一定以上の力が加わったときのX軸の傾き
impactY = _accelerometer(9); // 一定以上の力が加わったときのY軸の傾き
impactZ = _accelerometer(10); // 一定以上の力が加わったときのZ軸の傾き
impactTime = _accelerometer(11); // 最後に一定以上の力が加わった時間
impactHints = _accelerometer(12);

 マイクへのアクセスは現在未サポートのようです。ほかのセンサアクセスについては、Wikiの下記ページをご覧ください。

Developing Widgets for chumby: Sensor Access - chumbyWiki

  1/3

 INDEX
次世代のインプットを考えよう
──マウスとキーボードを超えたフィジカルコンピューティング(3)

chumbyのタッチと加速度センサをリモコンにしてみる
Page1
chumbyとは
ハードウェアの仕様
ウィジェットの仕様
  Page2
Flash/chumby間通信
Flash → chumby
セッティング
ソースコード解説
  Page3
chumby → Flash
セッティング
ソースコード解説
入出力デバイスとしてのchumby

【関連記事】

chumby開発者が語る誕生秘話とビジネスモデル
D89クリップ(2) かわいらしいルックスとハッキングのしやすさが注目を集める「chumby」。chumbyの生みの親が、ガジェットに対してユーザーが受け身でいられる自由を語る
テレビでYahoo!―デバイスが変わればUIデザインも
WebとUIをつなぐトリックスター(2) 制作の要となるエンジニアとデザイナのチームワークのツボを探る連載。今回はヤフーのテレビ向けサービスのデザイン担当に話を聞いた
Flashの基礎を無料で習得! ActionScript入門
ActionScriptを知っていますか? Flash技術の要となる言語で無料で簡単にFlashアプリケーションを作れます。そのActionScriptについて初心者のために一から丁寧に解説していきます
Flash制作を簡単にするActionScriptライブラリとは?
Flasherに便利なオープンソース「Spark project」
 Flashの複雑なアニメーションや機能をどのように制作していますか? 実は、無料で簡単に実現する方法があります

[an error occurred while processing this directive]

 Smart&Social フォーラム トップページへ



Smart & Social フォーラム 新着記事
@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)

注目のテーマ

Smart & Social 記事ランキング

本日 月間