2013/04/14

Pebble Watch Face SDKとlibpebbleでPebbleへアプリを転送する

Pebbleは表示装置に電子ペーパを持つ時計です。


iPhoneやAndprodのアプリと通信することができ、また、自作のアプリを動作させることもできます。

現在はPre-Order状態ですが、KICK STARTERでの出資者へ先行出荷が開始され、幸い私も3月半ばに入手することができました。

梱包箱がそのまま送付箱になる、Amazon Kindleなどと同じスタイルです。




 中身は本体と充電ケーブルのみのシンプル構成。


常用している、CITIZEN PROMASTERとの大きさ比較。結構大きな腕時計ですが、それに負けない大きさです。


iPhoneアプリの起動画面とファームウェアアップデートの画面。


本体でもアップデートが確認できます。


今までは、開発者用SDKが公開されていなかったため、アプリを自分で作成することが困難でしたが、とうとう先日、Watchface SDKが公開されました!

まだまだ基本的な画面を構成できる程度のAPIが公開されたに過ぎません。また、所謂「原理試作」的な位置づけで、「大きく変化する可能性が高いです」と宣言されています。それでも、とても楽しそうです。

現状でもSDKやインストールマニュアルは完成度が高く、ドキュメント通りに進めれば、何の戸惑いもなくアプリをbuildし、転送することができます。

本来作成したアプリはiPhoneなどのスマートフォンアプリを使って、簡単にインストールできるはずなのですが、Get StatedInstall the SDKへ書かれているように、現在公開されているiPhoneアプリ(1.0.5)からはSDKを使って自作したアプリをインストールすることができません。

そこでlibpebbleを使う方法が推奨されています。このコマンドラインアプリを使用すれば、iPhoneアプリを使わず、直接Pebble Watchへアプリをインストールすることが可能です。この手法のほうが、より迅速に開発を進める上でも便利でしょう。

libpebbleを、常用しているiMac/Late 2012 & OS X 10.8.3で試してみたところ、SDK同梱のサンプルアプリをインストールすることができました。

転送にあたっての注意点は以下の通りです。
  • 環境依存の話なのかもしれませんが、私の環境では、同じ手順を行なっても、Pebble Watchとの接続に失敗する、または途中で途切れてしまうことが多々ありました。一度失敗しても、何度か試してみると良いでしょう。Pairをやり直すことも効果があるかもしれません。
  • Pebble WatchとiPhoneとのPairは解除しておくと良いでしょう。iMacとの接続が頻繁に切れるため、その度毎にiPhoneと接続してしまうことになり、やや面倒です。
  • iMacのメニューバーへ表示されているBluetoothアイコンをOptionボタンを押しながらクリックすると、connectしているデバイスだけではなく、Pairが確立しているデバイスも確認できます。接続可能かどうかは、この表示を確認すると良いでしょう。




  • Pebble Watch側のSettings>Bluetoothでは、Pairが確立されているデバイスが確認できます。libpebbleからのコマンド送出前は、この表示がconnectedとなっている必要はありません。コマンド操作を行えばconnectedになります。



  • 一度Pairを確立できれば、Pebble Watch側をSettings>Bluetoothのままにしておく必要はありません。時計画面表示でもlibpebbleからのコントロールは可能です。
  • ドキュメントへも書いてありますが、PEBBLE_ID環境変数を設定しておくと便利です。

接続実験にはlibpebbleのpingコマンドが便利です。Pebble Watchのバイブレーションが発動すると共に、画面へメッセージが表示されます(maciaはiMacのホスト名です)。



上記の画面を表示させる際に実行したコマンドラインは次のようなものでした。PEBBLE_ID環境変数が設定しているので、--pebble_idオプションは指定していません。
% ./p.py --lightblue ping
[DEBUG   ] LightBlue process has started on pid 58109
[DEBUG   ] Connection established to 00:11:22:33:44:55
[DEBUG   ] Initializing reader thread
[DEBUG   ] Reader thread loaded on tid Thread-1

SDK付属のアプリを転送するとこんなメッセージになります。
% ./p.py --lightblue load ../pebble-sdk-release-001/sdk/build/sdk.pbw
[DEBUG   ] LightBlue process has started on pid 57402
[DEBUG   ] Connection established to 00:11:22:33:44:55
[DEBUG   ] Initializing reader thread
[DEBUG   ] Reader thread loaded on tid Thread-1
[DEBUG   ] Attempting to add app to bank 2 of 8
[DEBUG   ] Sent 3840 of 3840 bytes
[DEBUG   ] Sent 4000 of 4256 bytes
[DEBUG   ] Sent 4256 of 4256 bytes

ドキュメントを読みつつ、いろいろ遊んでみたいと思います。

0 件のコメント:

コメントを投稿