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

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


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

 本連載では「次世代のインプットを考えよう」というテーマで、身体を使った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の複雑なアニメーションや機能をどのように制作していますか? 実は、無料で簡単に実現する方法があります



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



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

注目のテーマ

Smart & Social 記事ランキング

本日 月間