3
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

スマートウォッチ(Garmin)でスマートロック(SESAME)を操作したい!(だからアプリ作った)

Posted at

はじめに

帰宅時にスマホを取り出して鍵を開けるのが割りと面倒くさいので、GarminのスマートウォッチでSESAME4を操作できるアプリを作ってみました。
ただ、SESAME公式ではGarminに対応していないため、SESAMEが提供しているWebAPIをコールし駆動させる形で実装します。(なお、WebAPIを使用するためWiFiモジュールが必要)

Garmin用のアプリって作れるん?

Garmin公式がアプリ開発用のSDKを配布しているため、これを使って実装出来ます。 1

ちなみにプログラミング言語はGarminによる公式独自言語のMonkey Cになりますが、この独自言語、さすがに独自なだけあって情報はかなり少ないです。
環境構築など一部の情報に関してはまとめられている方がいらっしゃいますが、それでも言語仕様の部分になってくると、やはり英語で書かれた公式のドキュメントを頼りに開発することになると思います。 2

なお実装完了後は、Connect IQストアで公開することも可能です。

アプリについて

以下のアプリがスマートロック操作用のアプリになります。
日本語ページ英語ページ

どういったアプリかはザッと先程のページにあるとおりですが、簡単に説明するとWebAPIに対応したスマートロックを操作するためアプリになります。
モードとして、WebAPIの設定(URLなど)をすべて自力で行うカスタムAPI機能とSESAME OS2対応スマートロックにチューニングしたSESAMI API機能があります。

使い方

SESAMEスマートロックを動かすのに必要な情報は主に以下の2つです。
この情報を今回公開したアプリの設定値として入力してください。

  • SesameのQRコードを読み取った際の文字列(権限がマネジャー以上のもの)
  • SesameのAPIキー

SesameのQRコードを読み取った際の文字列

セサミの公式アプリで生成したQRコードをカメラ等で読み取った際に得られる文字列です。

アプリから鍵の設定を開くと、鍵をシェアする機能があります。
このセサミの鍵をシェアする機能で、マネジャー以上の権限を持つQRコードを生成します。
sesame.jpg
生成されたQRコードを任意のQRコードリーダーで読み取った文字列が設定値になります。(ssm://から始まる文字列)

SesameのAPIキー

SESAME APIを使用するためのAPIキーです。
APIキーは以下のページから取得できます。
https://partners.candyhouse.co/login/
api key.jpg

最後に

作ったアプリをここ数週間は使っていますが、スマホ出さなくていいのはやっぱ楽ですね。
特に外が寒かったりすると手袋とかするので、タッチでなく手元のボタンで操作できるのは便利です。

ただ、まぁ正直、自分が欲しくて作ったところがでかいので、どこかにバグが隠れているかもしれません…
とはいえ、どうせ作ったなら公開までしてみたかったのでやりきることにしました。

もしもバグがあった場合はGithubのIssuesにメモってやってください。
時間と気持ちの余裕があったら修正するかもしれません。

  1. https://developer.garmin.com/connect-iq/overview/

  2. ちなみに今回のアプリはオープンソースにしてあるため、それをまるまる参考にしてもいいっすよ!(MITライセンスの範囲内で)

3
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?