なりなり日記

Appleと折りたたみ自転車(BROMPTON / Tern Vektron S10 / BESV PSF1)の情報を中心に発信中!

初めてのGARMIN Connect IQプログラミング vol.1【準備編1】


スポンサーリンク

こんにちは、なりなり@narinarissuです(^ ^)

ほぼ、GARIMIN Forreathlete 235Jを買うことにしているのですが、ぜひ追加したい機能が2つあります。

(1) テニスのスコアカウンター
(2) fenix 3Jの3Dナビ相当

です。

どちらも、そのうち、既存のConnect IQアプリが対応してくるかも知れませんが、対応してくれないかもしれません。

テニスのスコアカウンターは、既にアプリがあるものの、230, 235, 630には対応していないのです。

Connect IQは、無料で、誰でも開発できる様ですし、僕自身、プログラミングが出来ないわけでもないので、チャレンジしてみようと思います。ネックは、本などの参考資料がないことと、国内のブログを調べても、始めたものの頓挫した雰囲気しか感じられないこと。


Connect IQとは?

f:id:narinarissu:20160528223058j:plain:w400

apps.garmin.com

こちらが、Connect IQ Storeです。AppleのAPP Store、GoogleのPlay Storeみたいなものです。


developer.garmin.com

Connect IQのデベロッパーサイトがこちら。開発者の有料登録などは不要です。

開発には、Monkey Cという言語を用いるのですが、JavaやRuby、Pythonを知っていれば難しくないそうです。

C++と比べるとどうなのだろう?

Connect IQで出来ること

http://developer.garmin.com/connect-iq/what-you-can-build/developer.garmin.com

  • ウォッチフェイス
  • データフィールド
  • ウィジェット
  • アプリ

開発できるのは、この4種類です。

ウォッチフェイスは、その名の通り、時計モードでの画面デザインです。

データフィールドは、僕が欲しい、3Dナビを始め、GPSなどを使ってデータ取得中の画面のデザインです。

ウィジェットのイメージがわからないのですが、おそらく、時計モード時におまけ的に表示できる画面なのでしょう。

アプリは、僕が欲しいテニススコアカウンターなどのように、GPSなどを使ったデータ取得とは関係のない機能なのだと思います。

アプリには、ゲームも公開されています。

マネタイズ(収益化)

システムがマネタイズされておらず、有料アプリの配布をサポートしていなことが、アプリの拡がりの障害になっている気がしていましたが、

http://developer.garmin.com/connect-iq/monetization/developer.garmin.com

詳細よくわかりませんが、マネタイズの手段は提供されている模様です。


Prgrammer Guideを見ながら環境を整備

http://developer.garmin.com/connect-iq/programmers-guide/developer.garmin.com

プログラマーズガイドもちゃんと用意されているので、手順に沿って勧めます。

SDKのダウンロード

f:id:narinarissu:20160528182140j:plain:w600

developer.garmin.com

まずは、デベロッパーサイトからSDK(Software Development Kit)をダウンロードします。

ここでは、

・Connect IQ SDK
  v1.2.9 (Last Updated: May 17, 2016)

・Mobile SDKs
  iOS BLE
  Android BLE/ADB

が用意されています。

BLEって何?Bluethooth Low Energyのことか。

ADBって??Android Debug Bridgeですか。Androidのデバッガーということ?

まあいい、Connect IQだけでなく、GARMINと繋ぐiOSやAndroidのアプリも作れるということなのでしょう。
Garmin Connect Mobileみたいのを、自分で作れるのかな?

SDKをダウンロードするとともに、Connect IQ developer programに、名前とメアドを登録しておきました。任意のようですが。

Windows、Macどちらでも開発できますが、僕は、Macで。

開発環境の準備

ようやく、本格的に開発環境の準備に入ります。

http://developer.garmin.com/connect-iq/programmers-guide/getting-started/developer.garmin.com

やり方は、ここに詳しく書かれているので、その通り進めます。

しかし、Macで開発などしたことのない僕は、いきなり壁にぶち当たりました

The first step for using Monkey C is to point your PATH to the Monkey C bin directory.

To add to a single local shell instance: $ export PATH = $PATH:path/to/monkeyc/bin

は?PATHを通す?

Macでそんなことを考えたことないです。

えっと、Connect IQプログラミングの準備は中断!

まずは、Macの基本的なところの勉強にたち戻ることとなりました...

先は長い(^_^;)