今を超える力、「可能性」という名のSDK

Pebbleネタが続いていますが、ひとまず、これにてひと区切り。
前回はPebbleの外装で遊びましたので、今回は内側、アプリケーションについて。

カーディアス・ビスト曰く、、、
「Pebbleだけが神をもつ。今を超える力、「可能性」という名の内なる神を。」

と、言ったハズはありませんが、私がPebbleのKickStarterに小遣いを投じたのは、
プロジェクト公開当初より、SDKに関するリリースが出ていたからです。

PebbleSDK-1
いまお気に入りのWatchface

現在のところ、Watchface SDKが公開されていて、沢山の人がWatchfaceを作成しています。
写真のフェイスは、My Pebble Facesからダウンロードした「Moontiles 1.1」です。

こういうのを見ていると、自分でも作ってみたくなりますよね。
という事で、Pebble Watchface SDK をセットアップしてみました。

PebbleのCPUは、ARM Cortex-M3です。Watchfaceを始めとするPebbleのアプリケーションは「.pbw」という拡張子のファイルで構成されますが、これは、ARMプロセッサ・ネイティブの、実行形式バイナリファイルです。

つまりPebbleのアプリ開発環境は、ARM用のバイナルを吐き出す、クロスコンパイル環境を構築する事になります。現在のところ、Mac用とLinux(Ubuntu)用のSDKが公開されています。

まぁ、インストーラにしたがってポン!という訳にはいきませんが、本家のインストール手順に従えば、普通にビルド環境ができましたので、以下に順を追って書いておきます。それでは参りましょう〜!因みにウチは Mac OSX Mountain Lion なので、Mac用の手順オンリーです。

参考:Install the SDK toolchain & Compile a watch face from source code
 
 
Command Line Tools for XCode
XCodeに Commoand Line Tools for Xcodeをインストールします。

CommandLineTools4Xcode
メニューの Preference の Downloads タブ

 
XCodeを起動して、メニューより、Preference -> Downloads タブを開き、「Command Line Tools」の横にある、「Install」ボタンクリックするだけす。少々時間がかかりますが、放置しておけばOK
 
 
homebrew
homebrewは、パッケージ管理ソフトみたいですね。
homebrewは http://mxcl.github.com/homebrew/ ここからインストールします。
このhomebrew本家に行くと、インストール方法が下の方に書いてありますので、Macのターミナルを開いて、コピペしてGo!
 
 
ruby -e "$(curl -fsSL https://raw.github.com/mxcl/homebrew/go)"
 
 
homebrewのinstall
suのパスワードを聞いてきます

 
suのパスワードを聞いてくるので、間違えずに入力。あとはスクリプトが勝手にインストールしてくれます。
これで、下準備の下準備くらいが終わったことになります。まだまだ続きます。
 
 
Pebble Smart watch SDK
この頃から、Pebbleの開発フォルダーを意識しておいた方がいいです。
私は、自分の作業ローカルに、pebbeldev と切って、ここをPebble作業用フォルダーにしました。

https://account.getpebble.com/sdk_releasesここから、pebble-sdk-release-001.zip をダウンロードします。
 
ダウンロードして解凍しておきます。
 
 
Compiler toolchain
ARMビルド用のツールみたいですね。以下のコマンドをターミナルから入力します。

brew install libmpc
 
 
インストールが終わったら、以下のコマンドで確認します。ライブラリの存在確認ですね。

ls /usr/local/lib/libmpc.3.dylib
エンターして、次の行が表示されたらOK。
/usr/local/lib/libmpc.3.dylib
 
 
次の場所からToolchainをダウンロード。
http://developer.getpebble.com/files/sdk-release-001/arm-cs-tools-osx-10.8-2012-12-07.tar.bz2

ダウンロードしたら、Pebbleの開発フォルダーにコピーして解凍します。

そして、PATH を通しておきます。
export PATH=~/pebbledev/arm-cs-tools/bin:$PATH
 
毎回 export するのも面倒くさいので、.bashrcと.bash_profileを用意します。
自分のHomeディレクト(ターミナルを起動したデフォルト)にて、以下のコマンドを続けて入力します。
 
 
cat > .bashrc
export PATH=~/pebbledev/arm-cs-tools/bin:$PATH

ctrrol+Dで終了。続いて、.bash_profileも同様に

cat > .bashrc
source .bashrc

ctrrol+Dで終了。そして一旦、すべてのターミナルを終了。
再度ターミナルをたちあげて、

set

と入力。ずらずら〜と表示された文字列から、PATH を探し、先ほどexport指定した、pebbledevに関するPATHが入っていたらOK

arm-none-eabi-gcc --version

と、入力して、以下の文字列がでたら動作確認完了です。

arm-none-eabi-gcc (32-bit ARM EABI Toolchain JBS-2012.03-56-v2011.09-69-17-g3019757) 4.6.3
Copyright (C) 2011 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

 
 
SDK依存ファイルのインストール
だんだん眠くなってきたので、チャッチャと記載します。

PIP と FreeType、Pyton のライブラリを一気に行きます。

まず最初に、pip

sudo easy_install pip
 
 
次にFreeTypeライブラリ

brew install freetype

OSX 10.7 だと、もう1つ、コマンドを打ってFreeTypeライブラリの再構成をするみたい。
実はOSX 10.8 を使っている私は必要ない操作だったのですが、間違って入力しちゃったのですが、特に問題はありませんでした。
 
 
依存関係のある、Pytyonライブラリをインストール。

cd ~/pebbledev/pebble-sdk-release-001/
pip install --user -r sdk/requirements.txt

 
 
最後にFreeTypeのインストール

python -c "import freetype"
 
ここまで出来れば、ビルド環境の完成です!! さっそくサンプルをビルドしてみましょう。
 
 
ビルドしてみよう
まず、自分のPebble作業フォルダから、SDKのフォルダまで降りていきます。
※pebbledevは、私の環境なので、各自自分のフォルダ名に置き換えてくださいまし。

cd ~/pebbledev/pebble-sdk-release-001/

更に sdk に降りて、config実施。
 
cd sdk
./waf configure
 
 
以下の表示が出たらOK。うっかり”./” の ”.” を忘れたりしがちですので注意。

'configure' finished successfully (0.127s)
 
 
それでは「よろしくお願いします!」とお祈りしつつビルド!
 
./waf build

しつこいようですが、先頭の “.” を忘れないように。以下の表示がでれば、無事にビルド完了です。
 
 
writing bundle to /<...>/pebble-sdk-hb001/sdk/build/app_1358538997.pbw
done!
Waf: Leaving directory `/<...>/pebble-sdk-hb001/sdk/build'
'build' finished successfully (0.712s)

 
 
動作確認してみよう
それでは、完成品を見に行きましょう。
cd ~/pebbledev/pebble-sdk-release-001/sdk/build
 
 
ここに、sdk.pbw ファイルがあればOK、これが今ビルドした、watchサンプルです。
せっかくなので、Pebbleに転送してみます。buildフォルダのまま、以下のコマンドを実行。
 
python -m SimpleHTTPServer 8000
 
 
これで、Pythonの簡易WEBサーバーが、buildフォルダーをトップディレクトリとして動作しています。
ここに、iPhone の Safari からアクセスします。

iPhone の Safari を起動して、以下のアドレスを入力します。

http://自分のPCのIPアドレス:8000/

 
 
buildフォルダー内のファイルが列挙されているかと思います。
列挙されているファイルのなかから、先ほどビルドした、sdk.pbw を探してタッチ。
Pebble app で開けば、Pebble への転送は完了です。
 

PebbleSDK-2
sdk.pbwの実行画面
 
 
凄まじくシンプルな時計が表示されました。
いや〜、表示をみた瞬間、痺れました。はじめて、PCでHello world.を表示した時のようです。
 
他にもサンプルがあるので、いろいろとビルドして実験です。
Pebbleの解像度は、144×168ピクセル。
方眼紙を片手に、自分だけのWatchfaceを設計してみたいと思います。

なお、インストールについては、Watchface SDK Install Forum で活発に情報交換がなされているので、参考になるかと思います。

・・・締めくくりを書いている時に、凄まじいサイトを発見したので、追記。

the online watchface-generator for Pebble

なにやら、好きな画像を素材に watchface を作ってくれるサービスのようです。
コレを考えた人はスゲーな。こんど試させてもらおうかな。
 
 

コメントを残す

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

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください