2014年4月20日

スマートウォッチPebbleを買ってみて

はじめに

Pebble というスマートウォッチ。

なんとなくウェアラブルな端末について調べてたら、
Pebble というのを知って、調べてるうちにどうやら JavaScript でアプリ開発できるとのこと。 すぐ購入。
理由としてはそれだけじゃないのですが、スマートフォンは家に忘れるから。とか、Pebble のオープンな環境がよかったからとか、 そんなこんなで届いて1週間ほど経ちました。
何も考えずに黒を買ってしまったのですが、赤かオレンジがよかったなぁ・・・と。バンドも変えられて、常に身につけて見えるものだから、 購入を考えてる方は好みの色がいいと思います。

さっそく作ってみた時計画面(Watchface)

Pebble

Pebble Appstore

Pebble は、スマートフォン側の「Pebble」というアプリを通して Bluetooth でやり取りして動いています。
「Pebble」アプリ内から Pebble Appstore に行けます。
Pebble Appstore から Pebbleアプリや時計画面(Watchface) などをインストールできます。
アプリの管理や設定も「Pebble」アプリ内でできます。
画面は E-Ink (厳密には違う?) で白と黒のドットで表されるアナログ感あふれるもの。 それゆえにバッテリーの持ちがすごくいい。

※この記事ではスマートフォン=Androidで書いています

Pebble JavaScript Framework


Pebble のアプリは、基本的に C言語で書いたものを出力しますが、JavaScriptで書くこともできます。
Pebble のプロジェクト内に C と JavaScript の両方のコードを含めることができ、 イメージ的には C で書いたものは Pebble 時計側で動き、JavaScript で書いたコードはスマートフォン側で動きます。
C と JavaScript 間でメッセージのやり取りができ、JavaScript で処理した結果を Bluetooth を通して C (時計側) で受け取れる感じです。
XMLHttpRequestなどの非同期処理、JavaScriptでやりやすいことは余裕のあるスマートフォン側に処理をさせて、 時計側がデータを受け取って表示。時計側の処理を最小限に抑えやすくなります。

Simply.js

これまでは、最低でも時計画面に出力するのに多少は C で書く必要がありました。
そこで、完全に JavaScript コードだけで完結できる Simply.js というアプリがあります。
Simply.js をインストールすると、URL を入力する設定欄がでてきて、ここに JavaScript (.js) のURLを入れると、 Pebble アプリと同様に動かすことができます。


自分のサーバや Dropbox などに .js ファイルを置いて実行できます。

参考: 以下の記事ではサーバのロードアベレージなどを表示させていました
ひとりぶろぐ » 2.0で面白くなったスマートウォッチPebbleを、JavaScriptゴリゴリでネット監視装置として使う

CloudPebble

Pebble の開発環境 CloudPebble は、クラウド上で C のソースがコンパイルできます。
コードは JavaScriptエディタ (CodeMirror)で書けて補完ウィンドウなどもでてきます。
スマートフォンのIPを入れておくと「build」ボタンを押した時に、
PC(ブラウザ)→スマートフォン→Pebble 経由で
書いたコードがアプリになってPebble時計にインストールされ結果が分かる仕組みです。
もはやブラウザだけで開発できる環境。

そして、CloudPebble では、任意の github プロジェクトのURLを入れて「import」ボタンを押すと、 Pebble アプリとして適切か判断した後、自分のプロジェクト内に取り込まれます。
自分のプロジェクトを github に export (push) するのも同様にできます。

新規作成時は C と Simply.js が選べます

実際使ってみて

メインで使ってる時計アプリは、Bluetooth切断時に長めのバイブ機能があるため、
スマートフォンを忘れることがなくなりました。
(ジェネレータで作ったものも同じ機能がつきます)

あとは、メールなどの通知が来た時、
  1. スマートフォンを出す
  2. 画面をタッチ
  3. 内容を確認
とやっていたのが、
  1. Pebbleを見る
だけになったり、
音楽の制御がリモコン感覚で楽になったり…

Android の場合、Tasker というアプリと Pebble の連携で、 ほとんどのことは自動化もしくは ON/OFF するだけで済むようになると思います。
マナーON/OFF、メディア音量調節、消音、マップ起動時にGPS有効、場所を指定してナビ起動、Pebbleから画面ロック/解除等…

変化といえば、あまりスマートフォン画面を見ることがなくなった。

今のところPebbleは日本語表示に難ありですが、 Pebble 日本語 (ひらがな, カタカナ) カスタムファームウェア | pebble 日本語表示 のおかげで助かってます。



何か間違い等ありましたらコメントか http://twitter.com/polygon_planet までお願いします