Pebble ハッカソンでアプリ作った

ありそうでなかったPebble ハッカソンが開催されたので、行ってきました。

Pebbleとは、KickStarterで莫大なる出資金を集めて立ち上がったスマートウォッチです。開発者向けのSDKが公開されていて、CやJavaScriptでpebbleで動くアプリを作ることができます。

ハッカソンは最初に@bob_mk2さんによる説明があり、その後は各自もくもくとHackするというシンプルな展開。

何を作るかは事前に大体決めてました。

もともと、Pebbleと同じくKickStarterで買ったRingを使い、Keynoteプレゼンのスライドめくりができるようにしたいと思っていましたが、(個体差かもしれませんが)ジェスチャーの認識率が低すぎて使い物にならなかったので、Pebbleでなんとかしてやろうと思い、チャレンジしました。

やったことは至極簡単です。
操作対象のMacでNode.js動かして、PebbleからNode.jp経由でOsascriptを実行してキーコードを送るというものです。

Node.jsのコードは、Ringのブログで公開されていたものを拝借しました。これは http://yourhost/right というリクエストを受け付けるとKeynoteアプリを前面に出して→キーの入力を送り、 http://yourhost/left だと逆向きのキー入力を送ります。

Pebble側は加速度センサを使い、加速度を検知したら ajax で上記httpリクエストを送る。以上ですw
それだけではなく、上下のボタンでもページ送り、ページ戻りができるようにしました。

console.log('Simply.js demo!');
simply.on('singleClick', function(e) {
  console.log(util2.format('single clicked $button!', e));
  if (e.button === 'up') {
    ajax({url: 'http://yourhost:3000/left' }, function(data){
      simply.text({
    });
  });
} else if (e.button === 'down') {
     ajax({url: 'http://yourhost:3000/right' }, function(data){
      simply.text({
    });
  });
}
  simply.subtitle('Pressed ' + e.button + '!');
});
simply.on('accelTap', function(e) {
  if (e.direction != 0 ) {
var rightUrl = 'http://yourhost:3000/right';
    ajax({url: rightUrl }, function(data){
      simply.text({
    });
  });
}
  console.log(util2.format('tapped accel axis $axis $direction!', e));
  simply.subtitle('Tapped ' + (e.direction > 0 ? '+' : '-') + e.axis + '!');
});
simply.setText({
  title: 'Keynote Remote2',
  body: 'Press buttons or tap the watch!',
}, true);

コードはcloudpebble上で書きました。
ほとんどサンプルコードまんまですが、想定通り動いたのでよしとします。

これ応用したら、Macの操作はなんでもできそうですね。



この記事が気に入ったらサポートをしてみませんか?