PebbleのWatchFaceを作ってみた
去年、PebbleがFitBitに買収されてたので、在庫が無くなる前にPebble Time Roundを買った。 今までは、Pebble Timeを使っていたんだけど、四角いし厚いしいまいちオシャレじゃないなーと思ってたのでよい機会。
毎年、正月休みに新しい何かを触ってみようと思っていて、去年はSwiftでTODOアプリを作り、TravisCIでビルド(ココが一番時間かかった記憶がある)した。ので、今年の正月休みはPebbleのWatchFaceを作ってみた。
公式のチュートリアルをなぞっただけで、特別なことはやっていないんだけども、デザインを自分で考えるのは楽しい。機能としては、日付け、時間、天気、気温、電池残量を表示するだけ。
CloudPebbleを使って開発したんだけれども、これが結構よくできていて、コーディングからビルド、エミュレータの起動、gitのコミット・プッシュまで出来る。 でも、ブラウザアプリはキーバインドが衝突したり、ブラウザバックしちゃったりするのが嫌いなので、nativefierというツールでデスクトップアプリ化した。 フレームレスウィンドウが好きなのでついでに、クローンしてパッチを当てた。
WatchFace側はC言語、アプリ側?はJavaScriptで書いた。C言語のほうがロウエナジーだってどこかに書いてあったからそうしたけど、計測はしてない。
TravisCIでビルドしてGitHubのリリースに置こうと思ったけど上手く動かず。python2系とnpm3系が必要でインストールとか面倒くいので別の機会に。 ビルドするためのdockerイメージも作ろうしたけども同じ理由でまた今度。
反省点じゃないけれども、やってみたいことが色々出てきた。
- OpenWeatherMapは精度が悪いので、Yahoo天気とか何かにしたい
- 設定画面でAPIトークンや、天気機能のON/OFFを切り替えたい
- 色を変えられるようにしたい
- font-awesomeを使って天気や電池、接続情報をアイコンで表現したい
- 同じようなことをやっているコードのリファクタリング・抽象化
いやー、C言語って難しいね。
References
- Building Pebble Apps with Travis CI
- GitHub - pebble-examples/watchface-tutorial: Sample project from the Getting Started watchface tutorials
- GitHub - pebble-examples/classio-battery-connection
- GitHub - pautomas/fontawesome-pebble: A very simple Font Awesome icons visualizer for Pebble Time
- 【Pebble】バッテリーの情報を取得する(常時/1度だけ) - Pebbleアプリ開発メモ
- 電子工作記録: PebbleのアプリをC言語とPebble.jsで開発する時の違い