筆者の自宅の玄関扉はスマートロックの「セサミ mini」で電子化している。鍵の開け閉めはスマートフォンのアプリから操作できるし、自動化ツールのIFTTTと連携したウィジェットをワンタッチするだけでもOK。外出先からでも閉め忘れをチェックでき、操作もできる。おかげで物理的な鍵を取り出すことはほとんどなくなった。
普段よく使っているのはホーム画面に置いたウィジェット。タップするだけで解錠・施錠できる便利といえば便利なのだけれど、長い間使っているうちに、やっぱりアプリをいちいち起動するのは面倒だし、ウィジェットをタッチするのもたるいなあと思うようになってきた。いや、正直に言えばわりと最初の頃からかったるかった。
そもそもアプリ上では操作可能になるまでに謎の待ち時間が発生しがちで、IFTTTと連携したウィジェットでは操作から実際に施錠・解錠されるまで最低10秒はかかる。IFTTTのサーバーが重いのか、20秒、30秒かかることもまれにあって、鍵を取り出した方が早いことも珍しくない。
セサミのアプリ画面。この「Waiting for」や「接続中」などの表示が延々続くことがあるIFTTTで作成したウィジェット。数十秒以上かかったり、操作に失敗することもこの問題に終止符を打つため、目を付けたのがスマートフォンがもつおサイフケータイの機能だ。我がV30+ L-01KはFeliCaとNFCに対応しているので、これを活用してみようと思った。
最近でこそ「おサイフケータイ=電子マネー」みたいなイメージが定着しているけれど、元々NFCについてはNear Field Communicationという名前が示す通り、近距離で通信する技術のことだ。たとえばNFCタグと呼ばれるICチップ内蔵のタグにおサイフケータイを近づければ、タグに含まれる情報を受信できたりする。……ということを筆者自身も半分忘れかけていて、そういえばそんなこともできたなあ、と思い出したのだった。
NFCのリーダー/ライター機能をもつL-01K。NFCタグにかざして情報をやりとりできるそんなわけで用意したのは、11枚つづり890円で手に入るNFCタグシール。これにスマートフォンを近づけたときに、玄関扉に取り付けている2つのスマートロックを施錠・解錠できるようにする。もちろん、購入したばかりのNFCタグには何も情報が書き込まれていないので、まずはここに記録するスマートロック操作用の命令を作らなければいけない。
ありがたいことにセサミ miniは、アプリやIFTTTだけでなく、Web APIを使った操作にも対応している。これはどういうことかというと、あらかじめ用意された特定のURLにパラメーター付きでアクセスすると、その内容に応じた命令を自分のセサミ miniに送ることができるというものだ。
Web APIの利用手順をざっくり説明すると、最初にセサミ miniの管理用Webサイトにアクセスし、認証用のコードを取得する。その後、認証用コードを用いて特定のURLにアクセスし、自分のスマートロックを識別するIDを取得。あとは同じように開閉を制御するパラメーターなどとともに特定のURLにアクセスすればいい。
セサミ miniの管理用Webサイトにアクセスし、APIを利用するための認証コード(API Key)を取得するつまり、この「制御パラメーターで特定のURLにアクセスする」というのをNFCタグを読み取ったときに実行するようにすれば、今回の目的は達せられるわけだ。
ただ、パラメーター付きURL文字列をそのままNFCタグに書き込んでもAPIの仕組み上認証ができない。なので、実際にそのURLを呼び出すためのWebページを別に作り、そのWebページのURLをNFCタグに書き込むことにした。WebページはPHPで作成し、cURLというコマンドでセサミ miniのAPIを叩くという寸法である。
で、ページを置く場所もここでは注意しなければいけない。なぜなら公開サーバー上に置いてしまうと、そのURLが知られた場合に他の人にアクセスされ、解錠されてしまう可能性があるからだ。なので、URLが知られても問題がないよう、ページの置き場所は自宅のNASで動かしているWebサーバーにし、ローカルIPアドレスで運用することにした。
セサミ miniを操作するためのAPIを呼び出すコードの一部。これを自宅NASで動かしているWebサーバーに置いたこうすることで、自宅のWi-Fiアクセスポイント(宅内LAN)に接続されない限りはWebページにもアクセスできないはず。もちろんスマートロックが操作されることもないので最低限のセキュリティは守られるだろう。万が一宅内LANにアクセスされたときのことも考えると、理想的にはページやWebサーバー自体にもなんらかのセキュリティを施すことを考えたいところではあるけれど。ちなみに自宅のWi-Fi電波は敷地より少し外まで届くので、お出かけ時も帰宅時も問題なくアクセス可能だ。
NFCタグへのWebページURLの書き込みは、バックグラウンドでWebページを読み込めるように設定できる「Trigger」を使用した。2つのスマートロックを一度にまとめて解錠するものと、施錠するものの2枚を作り、これを玄関の外に貼り付けて任務完了である。
「Trigger」アプリでNFCタグに書き込むWebページのURLを記入NFCタグをスマートフォンにかざして書き込み完了HTTPSでもアクセスできるようにしているが、その場合は証明書の関係でドメイン名が必須。公開URLになるので現在はローカルIPでHTTPで利用中スマートロックの解錠・施錠をNFC化したことで、アプリを開いたりタッチ操作したりする手間がなくなったうえに、今まで最低10秒かかっていた解錠・施錠が6秒ほどに短縮、操作の確実性も高まった。おサイフケータイとスマートホーム機器の取り合わせは相性が良く、他にもいろいろ応用が考えられそうだ。
2つのNFCタグを屋外に貼り付け。解錠と施錠が簡単、やや高速に