ahiru studio
  • about
  • Products
    • wareki
    • date.sh (pebble watchface)
    • paste stamps
    • Graytext
  • Archives
    • WXG Install Memo
    • Mac OS X で使うジョイスティック ( Cyborg V.1 Flight Stick )
    • Linux に 3TB HDD を増設する
    • 会社で適当に作るASOC(AppleScript Objective-C)
    • AppleScript アプリケーションに Developer ID を付ける
    • iOS開発メモ
    • playground
    • D-Mailの設定
ahiru studio
  • about
  • Products
    • wareki
    • date.sh (pebble watchface)
    • paste stamps
    • Graytext
  • Archives
    • WXG Install Memo
    • Mac OS X で使うジョイスティック ( Cyborg V.1 Flight Stick )
    • Linux に 3TB HDD を増設する
    • 会社で適当に作るASOC(AppleScript Objective-C)
    • AppleScript アプリケーションに Developer ID を付ける
    • iOS開発メモ
    • playground
    • D-Mailの設定
  • Home
  • pebble
  • pebble の watchface を作ってみる

pebble の watchface を作ってみる

2014年11月15日 Leave a Comment Written by yutakano

pebbleの開発情報は英語だけですがあります。
もともとそれほど複雑な機能は無いので英語でもなんとかなりそうです。
https://developer.getpebble.com/

サンプルを元にpebble の watchface を作ってみました。

デジタル時計のサンプルとしては一番シンプルなclassioがわかりやすかったですね。コメント含めても60行しかありません。指定した座標に時刻を表示するだけです。
ソースを見ると時刻をフォーマットして返すAPIがあるのでそれで文字列を受け取って画面に表示するだけでいいようです。これはとても簡単だ。
サンプルは以下の一行で一気に取ってきておしまいにしていました。これで「12:34:56」というような文字列が取れます。
strftime(time_text, sizeof(time_text), "%T", tick_time);r /> アナログ時計の場合は三角関数で針の長さを計算して表示しなければならないので敷居が高いと思います。が、サンプルを参考にすればなんとかなるでしょう。

UNIX秒を使おうと思っていろいろながめてみたのですが、どうやらUNIX秒は利用できないようでした。
pebbleでは時刻はローカル時刻のみを使っているので、タイムゾーンを持っていないのです。そのためにUTCを計算できません。
pebbleがタイムゾーンをサポートしない限り利用はできないでしょう。日本限定として時差を計算して作る事は可能ですがね。

SDKインストール

ここで時間をさかのぼりSDKのインストールの話。
SDK2のBeta2が出たら試してみようと思っていたら、すぐに出てきた。そこで早速インストールしてみました。
ファームウェアVer.2では従来のWatchFaceは使えません。Ver.2用のWatchFaceが必要です。
Beta版ではありますが大きな問題は無く使えています。通知もそれなりに届いています。アラームに変なバグがあったものもBeta4では直っているようです。
まずは iPhone アプリと pebble 本体のアップデート。
BetaのiPhoneアプリをインストール。そしてpebbleのファームのアップデートはiPhone経由。PCを使わないのが新鮮です。手順は良く変更されるのでがんばって英語を読みましょう。
iPhoneの「設定」から「pebble」を探してみると「Developer Mode」という謎のスイッチがあるのでそれをオンにする。
作ったアプリは無線LANで転送するため、iPhoneをローカルの無線LANに繋ぎます。

次に開発機(PC)の準備。
まずはSDKのインストールをOS X Marvericksで試してみたのだけど上手くいかないのであっさりあきらめてVMware Fusionの上にUbuntuを作ってそこにインストールした。
とりあえずhello worldがビルドできた。(英語斜め読みでやっていたので失敗も多かったのだけど…)
iPhone の pebble アプリを起動してDeveloper Connection を Enabled にすると作ったアプリが転送できるようになります。転送コマンドで母艦からiPhone経由でpebbleにインストールされた。
hello worldが動いた。watchfaceかと思ったらアプリだった。ボタンを押すと表示が変わるものでした。

「Example」フォルダにあるものをbuildしてインストールしてみた。Big Time が好きなので追加しちゃう。

pebbleはエミュレータが無いので実機に入れて試すというなかなか野蛮な開発環境です。
この後の開発中にはクラッシュ画面を何度も見る事になるのだった。リブートなんかもしちゃう!
ノーコンになって再起動したりもしましたがpebble本体は無事です。

サンプルで練習

ビルド、転送、スクリーンショットは以下のコマンド。
最小限の引数で動きます。
スクリーンショットは表示されている画面を日付時刻の付いたPNGファイルで保存します。

$ pebble build
$ pebble install --phone 192.168.1.23
$ pebble screenshot  --phone 192.168.1.23

アプリ開発

$ pebble new-project hogehoge から始めるのが正しいのでしょうが、今回はclassioのサンプルソースから改造して作ってみました。
appinfo.json の中にUUIDがあり、他のアプリとかぶりんちょしては困るので、新規にnew-projectして作ったファイルのUUIDと入れ替えてみます。
このファイルの中にバージョンやファイル名を書くのですが、ここでVer.2用にするのでしょう。
適当にそれっぽく書き換えておけばよさそうです。

WatchFace、アプリのサイズの上限が24KBです。
一番単純なサンプルでサイズが3KBくらい。pebbleの画面サイズ(168×144)の白黒png画像が2KBくらいだからたくさんの画像を使ったものは作れなさそうです。
画面サイズが非常に小さいので、デザインはドット単位での試行錯誤が必要でしょう。
ファイルサイズの問題から日本語フォントを追加することも難しいでしょう。漢字の画像を用意して日付と時刻程度は表示できそうですが。

pebble を使っている日本語を使う方々。

日本にも何人かは pebble を買って、さらにアプリの開発までやっている物好きな方がたくさん(?)いるようです。

http://blog.makotokw.com
http://nozaki.com
http://marrone.jp/labo/
http://hitoriblog.com
http://awwa500.blogspot.jp/

pebble
pi で遊んでみる (Webカメラ)
Maker Fair Tokyo 2014

コメントを残す コメントをキャンセル

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

最近の投稿

  • WordPressの再インストール
  • dynabook Pad VT484 のジャンクで遊ぶ
  • bitcoinのテスト
  • Warekiのアップデート
  • pebble買収

アーカイブ

  • 2018年4月
  • 2018年2月
  • 2017年10月
  • 2017年1月
  • 2016年3月
  • 2016年1月
  • 2015年11月
  • 2015年2月
  • 2015年1月
  • 2014年12月
  • 2014年11月
  • 2014年10月
  • 2014年1月
  • 2013年6月
  • 2013年4月
  • 2012年12月
  • 2012年6月

カテゴリー

  • Electronic Kit
  • Event
  • Gadget
  • Linux
  • Mac
  • OS X
  • PC
  • iOS
  • pebble
  • raspberry pi

メタ情報

  • ログイン
  • 投稿の RSS
  • コメントの RSS
  • WordPress.org

evolve theme by Theme4Press  •  Powered by WordPress