NFC Automation Trigger + SESAME API による自動解錠と考察

# まえおき
これからiOSを前提として話を進めていきますが、話の主題としてはiOSかどうかはあまり関係ありません。

# NFC Automation Trigger
[13.1のiOSリリース](https://support.apple.com/ja-jp/HT210393#131)によりNFC Automation Triggerが使えるようになりました。NFCとは、Wikiによると次のようなものです。

> 狭義にはNear field communication（NFC）の訳語。NFCはRFID（Radio Frequency IDentification）と呼ばれる無線通信による個体識別の技術の一種で、近距離の無線通信技術を統一化した世界共通の規格である。ICチップを内蔵したNFCタグをNFCのリーダ・ライタ機能を有する機器で読み取ったり書き込んだりする。

※ https://ja.wikipedia.org/wiki/近距離無線通信

有名なものとしては、[モバイルSuica](https://www.jreast.co.jp/mobilesuica/index.html/)でしょうか。AppleWatchがリーダ機として扱われます。

![IMG_20802.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/143813/906e56b9-d510-4f8c-0536-20f052400792.jpeg)

今回のリリースであるNFC Automation Triggerは、このNFCを読み込むと自動的に特定のアクションをTriggerすることができます。
例えば、特定のNFCタグをiPhoneが読み取ると、3分のタイマーが起動する！とか。ま、表題の件を用意したんですけどね！（笑）

# とりあえずこんなの作ったよ！
登録しているNFCタグをiPhoneが読み取ると、扉に設置しているスマートロックアイテムSESAMEの[SESAME API](https://docs.candyhouse.co/#sesame-api)をRequestして扉の鍵が解錠されます。

<img width="408" alt="スクリーンショット 2019-10-24 20.07.20.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/143813/cebf3e6d-63a6-34e0-9bca-191483281614.png">
↓ 白色のNFCタグにスマホを近づけると...?
<img width="412" alt="スクリーンショット 2019-10-24 20.08.24.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/143813/c3fcec93-0ee9-4734-a197-033e9a21f6cf.png">
NFC Automation Triggerが作動！解錠！

※ https://twitter.com/silver_birder/status/1187016726363299840

<blockquote class="twitter-tweet" lang="ja"><a href="https://twitter.com/silver_birder/status/1187016726363299840"></a></blockquote>
<script async src="//platform.twitter.com/widgets.js" charset="utf-8"></script>


作成方法は、とっても**かんたん**です。iPhone標準アプリshortcutと、[NFCタグ(１枚94円)](https://www.amazon.co.jp/gp/product/B00GXSGL5G/)があれば誰でも作れます。もちろん、**[SESAME](https://www.amazon.co.jp/dp/B0787N1L3M)**が必要ですけどね（笑)。

shortcutで、次の準備をしました。

1. [RESTfulAPIのショートカット](https://support.apple.com/ja-jp/guide/shortcuts/apd58d46713f/ios)を使って[SESAME API](https://docs.candyhouse.co/#sesame-api)を設定する。
2. [個人用オートメーション](https://reliphone.jp/nfc-automation/)を作成し、用意したNFCタグをスキャンする。
3. 2のオートメーションを1のショートカットと紐付ける。

これの良いところは、次の２点でしょうか。

* 標準アプリだけで完結
* NFCタグ自体には何も加工しないため安全

※ SESAMEには、扉に近づいたら解錠する**[手ぶら解錠](https://jp.candyhouse.co/blogs/how-to/%E6%89%8B%E3%81%B6%E3%82%89%E8%A7%A3%E9%8C%A0%E6%A9%9F%E8%83%BD-%E3%82%92%E8%A8%AD%E5%AE%9A%E3%81%99%E3%82%8B)**や、スマホをノックするだけで解錠する**[ノック解錠](https://jp.candyhouse.co/blogs/how-to/%E3%83%8E%E3%83%83%E3%82%AF%E6%A9%9F%E8%83%BD%E3%82%92%E8%A8%AD%E5%AE%9A%E3%81%99%E3%82%8B)**というものがあります。本来は、これを使いたかったのですが精度が低いため実用性に欠けると思っています。

# 考察
このNFC Automation Triggerは、アイデア次第でいくらでも、便利なことができます。
今回の目的は 「**個人利用**で、**ライフハック**できるものを作りたい」というものです。


ただ正直、iPhoneをわざわざNFCに近づける動作は**面倒**だと思います。


私の部屋には[VUI](https://en.wikipedia.org/wiki/Voice_user_interface)として[GoogleHome](https://store.google.com/jp/product/google_home_mini)があり、スマートリモコンの[NatureRemo](https://nature.global/)や、物理ボタン自動化の[SwitchBot](https://www.switchbot.jp/)、コンセントのスマート化[TP-Link](https://www.amazon.co.jp/dp/B078HSBNMT/)などがGoogleHomeと連携しています。
手で操作するよりも、声で操作する方が、数ステップですが**遥かに効率的**と感じます。

つまり、VUIで管理できている空間に関しては、NFCのTriggerはあまり役立ちはしないのかなと思っています。逆に、**VUIの管理外の空間**、私の部屋でいうと、トイレとか洗面台、玄関にはNFCが役立つかもしれません。また、**声を発するのが躊躇われる環境**においても、NFCの方が役立つと思っています。

外の環境では、どうでしょうか。NFCを貼れる場所なので、限定はされます。
自宅の郵便ポスト、自転車・車、衣類、カバン、傘、学校や職場のマイ机・椅子とかでしょうか。
[NFCタグ(１枚94円)](https://www.amazon.co.jp/gp/product/B00GXSGL5G/)は、シールのように柔らかいので、コップやボールにも貼れると思います。[アマゾンダッシュボタン](https://ja.wikipedia.org/wiki/Amazon_Dash)が一時流行っていましたが、あれと似たようなこともできます。例えば、「トイレットペーパの入れ物にNFCタグを貼っておいて、なくなりそうになったらNFCタグを読み込んで注文する」みたいな。もちろん、注文する処理は、自前で組む必要がありますよ。アマゾン定期注文には向いていないものには、良いかもですね。

さらに、shortcutでは**変数を注入できる**ため、例えば、現在地をNFCトリガーに注入することで、
「現在地から自宅までのタクシーを予約する」NFCトリガーもできちゃいます。

個人利用という括りであっても、NFC Automation Triggerの使い道はとても多いと思います。
商用利用と考えると、更にあると思いますが、省略します。

# さいごに
NFC Automation Triggerという機能は、珍しくありません。
しかし、とても使いやすくカスタマイズ性が高いため、アイデア次第でいくらでも化けれます。
一攫千金？を目指すのも良いですが、やっぱり**ライフハック**をつきつめたいなと思う私でした。