いつものプラレールですが、使用例の動画が下記になります。
今回のポイントは、プラレール上のXperia Rayからの映像がMJPEGストリームとして送信され、i'm Watchがそれをデコードして表示している点です。以下で解説するように、動画はBluetoothテザリングで送られてきますので高速にはできず、毎秒5フレーム程度です。
なお、同時にプラレールの操作もi'm Watchで行っていますが、これは前回のエントリに基づいています。
仕組みとサンプルソース
システムの大まかな流れは下の図のようになります。動画を送信するXperia Rayでは、Google PlayからインストールできるIP Webcamというソフトウェアを導入して実行しています。IPWebcamはサービスとしてバックグラウンドで実行できますので、他のアプリ(ここではBluetoothでPICマイコンに命令を送信するもの)を同時に実行できます。IP Webcamの設定の注意点は以下の通りです。上図で分かるようにデータはBluetoothで送られますので、データ量を減らすことが重要です。
- Resolution: 320x240に。データ量削減のため
- Quality: 30~50程度。低いほど画質が下がるが、データ量は減るので有効
- Orientation: Landscape
- FPS limit: 5以下に。一秒間に送られる画像の枚数
i'm Watch用の受信アプリですが、MJPEGのデコードに特化したサンプルのソースを
に置きました。このアプリをi'm Watchにインストールして利用します。注意点は以下の通りです。- i'm Watchを母艦(上の図ではXperia Ray)と接続し、Xperia Ray側でBluetoothテザリングを有効にします。なお、今回はXperia Rayにはカスタムロムをインストールしています(CM10-based JCROM)。
- i'm Watch側のアプリから母艦のIPアドレスを指定する必要があります。GUIによる設定画面を用意しましたので、そちらで設定を行います(追記2013.4.30)。なお、androidでBluetoothテザリングを行うと母艦側は192.168.44.1になるようなので、その値を初期値としてあります。
おわりに
届いた当初は何に使ったらよいのか途方に暮れたi'm Watchでしたが、adbが入ったファームウェアが公開され、自作アプリを試せるようになると俄然愛着がわきますね。時計としてはまあちょっと残念ですが(毎日充電しなきゃいけないし)。
expansysには色によって在庫があるようなので、気になる人は試してみては?
expansysには色によって在庫があるようなので、気になる人は試してみては?
0 件のコメント:
コメントを投稿