PebbleTime 開発 - CloudPebble で HelloWorld を動かす
前回は、PebbleTime の開発環境について紹介しました。
CloudPebble という、Web 上の IDE とエミュレータを使用して開発ができるのでしたね。
今回は、CloudPebble を使って、実際に Watchface を作って動かしてみるところまでを紹介します。
準備
CloudPebble を使う上で、以下 2 点の準備が必要です。
- Pebble アカウントの作成
- Pebbleのアカウント作成画面から「SIGN UP」をクリックしてカウントを作成してください。メールアドレスとパスワードが必要です。
- github アカウントの作成
- github のトップページから「Sign up for Github」をクリックしてアカウントを作成してください。
- これは必須ではないですが、コードをバージョン管理するために必要です。
CloudPebble
ログイン
準備ができたら早速ログインしましょう。
CloudPebbleを開いて…
「GET STARTED」ボタンを押して…
「LOG IN WITH YOUR PEBBLE ACCOUNT」をクリックしてログインしてください。 Pebble のアカウントでログインします。
プロジェクト一覧
ログインすると、まず自分が作成したプロジェクトの一覧が表示されます。 初めてログインしたときは空ですね。
設定画面
右上の「SETTINGS」ボタンを押すと、CloudPebble 全体の設定画面が開きます。
ここでは以下の設定が可能です。 それぞれお好みで設定してください。
カテゴリ | 項目 | 値 | 説明 |
---|---|---|---|
EDITOR SETTINGS | AUTOCOMPLETION | As-you-type | コードを書くたびに自動的にコンパイルしてエラーをチェックする |
When pressing Ctrl-Space | コードを保存するたびに自動的にコンパイルしてエラーをチェックする | ||
Never | 自動コンパイルは実施しない | ||
KEYBINDS | Standard | スタンダード(使用している OS の流儀に従う) | |
vim-like | vim ぽい | ||
emacs-like | emacs ぽい | ||
THEME | CloudPebble | 背景やシンタックスハイライトの色 | |
Monokai (Sublime Text) | |||
Blackboard (TextMate) | |||
Eclipse | |||
Solarized (light) | |||
Solarized (dark) | |||
INDENTS | Using spaces | 字下げにスペースを使用する | |
Using tabs | 字下げにタブを使用する | ||
TAB WIDTH | 字下げの幅(スペース何個分か) デフォルト: 4 |
||
GITHUB INTEGRATION | github アカウントを登録すると、任意のリポジトリへ push したり pull したりできます。 |
プロジェクトの作成
右上の「PROJECTS」をクリックし、プロジェクト一覧画面に戻るとプロジェクトを作成できます。
「CREATE」ボタンを押してプロジェクトを作成しましょう。
ここでは、以下が選択できます。
項目 | 値 | 説明 | |
---|---|---|---|
PROJECT NAME | プロジェクト名 日本語もOK |
||
PROJECT TYPE | Pebble C SDK | C言語で Watchface を作るときはこちらを選択 | |
Pebble.js (beta) | Javascript で Watchface を作るときはこちらを選択 | ||
SDK VERSION | SDK 2 | 古い Pebble 専用の SDK です | |
SDK 3 | PebbleTime と、OS を新しくした Pebble 用の SDK です | ||
TEMPLATE | Empty project | 空(ソースファイルが無い)プロジェクトを作成 | |
Standard Templates | Minimal | Window と TextLayer だけの、何も表示しないプロジェクトを作成 | |
ButtonClick | ボタンに応じて表示が変わるサンプルプロジェクトを作成 | ||
SDK demos | HelloWorld | 文字を表示するだけのサンプルプロジェクトを作成 | |
AppMessage | スマートフォンとデータを送受信するサンプルプロジェクトの作成 |
今回は以下のように設定します。
カテゴリ | 値 | 設定理由 |
---|---|---|
PROJECT NAME | HelloWorld | お約束だから |
PROJECT TYPE | Pebble C SDK | C言語で開発する記事だから |
SDK VERISON | SDK 3 | PebbleTime 用の Watchface を作成するから |
TEMPLATE | HelloWorld | 手っ取り早くコードを見られるから |
プロジェクト画面
作成したプロジェクトを開くと、以下の様な画面となります。
左上の「HELLOWORLD」はプロジェクト名です。
プロジェクトの設定画面
「SETTINGS」をクリックすると、プロジェクトの設定画面が開きます。
「PROJECT NAME」と「SDK VERSION」は良いですね。
「BUILD APLITE」「BUILD BASALT」というのは、プラットフォーム名です。
プラットフォーム名 | 説明 |
---|---|
APLITE | Pebble、PebbleSteel |
BASALT | PebbleTime |
今回は PebbleTime 用に作成するので BASALT のみ ON にします。 APLITE も ON にすると、両方を考慮して作成する必要があります。
続いて、設定画面を下にスクロールしたところです。
これは、Watchface をリリースするときに必要な情報です。 基本的にはこのままで良いのですが、重要な変更点があります。
- 「APP KIND」を「Watchface」に変更する
APP KIND はデフォルトでは Watchapp になっているので注意してください。
更に下へ。
これは、スマートフォンとデータを送受信するときに必要な設定です。 これも、今はこのままで良いでしょう。
Timeline
つづいて「TIMELINE (PREVIEW)」をクリックしてみましょう。
これは、PebbleTime から採用された新しいUI 「Timeline」のデバッグ用データです。 ここに書いたデータを Timeline に流し込むことができます。
今回は Timeline は扱わないので、このままで良いでしょう。
コンパイル
「COMPILATION」ボタンをクリックしてみましょう。
この画面で、コードをコンパイルして実行イメージを作成できます。 ボタンが 3 つ並んでます。
ボタン名 | 説明 |
---|---|
RUN BUILD | コンパイルを実行します |
GET PBW | 作成した実行イメージ(PBW)をダウンロードします これはリリース時に使用します 実機を使って開発する場合でも必要ありません |
BUILD LOG | コンパイル時のログを表示します |
Github
「GITHUB」ボタンをクリックしてみましょう。
この画面で github との連携を行います。
「GITHUB REPO」にリポジトリ名を「BRANCH」にブランチ名を入力すると、push と pull ができます。
なお、リポジトリ名は CloudPebbleの設定画面 で設定した github アカウントのみ受け付けます。
また、リポジトリ名は存在しないものでも大丈夫です。なければ自動で作成してくれます。
SOURCE FILES
いよいよコードです。
「hello_world.c」をクリックしてください。
コメントを入れて39行の短いプログラムですが、れっきとした Watchface です。
通常の C言語 のプログラムと同様に main()
から始まっているのがわかります。
app_event_loop()
など、昔から GUI のプログラムを作っている人には馴染み深い関数も見えます。
プログラムの中身は後で説明します。 とりあえず動かしてみましょう。
コンパイルと実行
コンパイル
まずはコードをコンパイルしましょう。
コンパイル画面で「RUN BUILD」をクリックしてください。
コンパイルに成功すると上記のような画面になります。
画面は3つに分かれており、上からそれぞれ:
- 実行イメージの転送
- 最新実行イメージ情報
- コンパイルログ
となります。
コンパイルログは最新の10件が表示され、実行イメージとコンパイルログを取得することもできます。 あまり無いと思いますが、古い実行イメージが欲しい場合はここから取得することができます。
エミュレータに実行イメージを転送
先ほどの画面で「INSTALL ONBASALT」をクリックすると、エミュレータを起動して実行イメージを転送することができます。
左側にエミュレータの画面が表示されます。
でました!
これが、今回あなたが作成した Watchface です。 おめでとうございます!
単に「Hi, I'm a Pebble!」と表示されるだけで時間もわかりませんが、れっきとした Watchface です。 これから、どんどんアイデアを盛り込んで素晴らしい Watchface にしていきましょう。
なお、実行イメージが転送されたら「VIEW LOGS」をクリックするとログが表示されます。 白と青の文字で何かメッセージが出ています。 これは、Watchface のプログラムから出力されたものです。
このように、Watchface の実行中にメッセージを出力することにより、状態を把握したり、いわゆる「printf デバッグ」ができます。
あとがき
今回は、CloudPebble を使って HelloWorld を実行してみました。 駆け足でしたが、雰囲気はつかめたでしょうか。
このように CloudPebble を使うことで、簡単に開発環境を整えてエミュレータで動作を確認することができます。
次回は、今回作ったプログラムを説明したいと思います。
PebbleTime は、公式サイトでプレオーダーを受付中です。 2015-06-29 現在で $199.99 です。
Amazon.co.jp に並行輸入品が出てますね。 ただ、正直高いです。 公式サイトで買うことをおすすめします。
Pebble Time スマートウォッチ 腕時計 (レッド) [並行輸入品]
- 出版社/メーカー: Pebble
- メディア: 時計
- この商品を含むブログを見る
こちらは古い白黒のやつ。 見た目の違いで2種類あります(性能は同じ)。
Pebble Steel (Brushed Stainless)
- 出版社/メーカー: Pebble
- メディア: Personal Computers
- この商品を含むブログを見る
Pebble Smartwatch for iPhone and Android ( ブラック / レッド ) 並行輸入品
- 出版社/メーカー: pebble
- メディア: Wireless Phone Accessory
- この商品を含むブログを見る