NFCタグで、家の照明を消す(Lambda経由)

先日、AWS IoTボタンでRemoを動かすという記事を書きました。

AWS IoTボタンで電気を消す

しかし、このIoTボタンはすでに販売中止。。。代替品も値段が高くて手が出しづらいので、NFCタグで動かすようにしました。

NFCタグとは?

超ざっくりいうと、スマホでデータがやり取りできる、すごく容量の小さいメモリーカードみたいなものです。NFCタグにURLを書き込んでおいて、スマホでタッチしたらそのURLを読み取ってそこに行く、みたいな使い方です。

名前などのテキスト情報なんかも書き込めるので、名刺代わりに使えたりもするそうです。

ちなみに、おサイフケータイが入っているスマホだったら大体対応しているようです。iPhoneだとSEの第二世代くらいから使えるみたい(嫁のiPhoneSEで実証済み)。

NFCタグを使えばタスクの自動化などいろいろなことができます。https://goworkship.com/magazine/smartphone-nfc-tag/

もっと詳しく知りたい方は、「NFCタグ」でググってみてください。

どのNFCタグを買うか?

NFCタグには、Ntag213とか215とかの種類があります。容量が違うだけのようです。
https://www.asiarfid.com/ja/difference-ntag213-ntag215-ntag216.html

今回紹介するやり方は、NFCタグにURLを書き込むだけなので、215で十分です。(213だとちょっと不安)。

ちなみに、タスク実行機能を使って、直接RemoのAPIを叩くやり方だと、215でも足りませんでした。もうちょっと容量の大きいNtag216を買いましょう。Switchbotが出しているNFCタグは、こいつです。NFCタグはSwitchbot製でも、ちゃんとRemoも動きますよ。ただ3枚で1,000円弱と、ちょっとお高め。

今回の仕組み

上の記事にあるようなタスク実行機能を使って、RemoのAPIを直接実行させることもできます。このやり方であれば、Lambdaを使う必要もありません。

がしかし!それだと自分のスマホだけでしか動かせないんです。。。今回したいことは家の電気を消すこと、すなわち嫁のiPhoneでも動いてくれないといけない。でも、タスク実行機能だと、嫁のスマホでは動かない。。。(実際試してダメでした)

ということで、以下のようなやり方にしました。

  NFCタグに、電気を消すためのLambdaを動かすURLを書き込む
  ↓
  スマホでNFCタグにタッチしたら、そのURLを読み込んで、そこへ行く
  ↓
  Lambdaが動いて、「電気消せ」とRemoに指示を出す
  ↓
  Remoが電気を消す

Lambdaを動かすURLを作る

いわゆるAPI化ってやつです。電気を消すためのLambda関数をAPI化し、特定のURLを開いたらこの関数が動き出すようにします。

電気を消すためのLambda関数を作る

AWS IoTボタンで電気を消すときに作ったものがそのまま流用できます。
以下の記事を参考にしてください。

AWS IoTボタンで電気を消す

一番最後に書いてある「おまけ:実際に使っているコード」を使ってみてください。

Lambdaを動かすURLを作る

画面の上のほうに、「関数の概要」というところがあり、その近くに「トリガーを追加」というボタンがあるので、それをクリック。

トリガーの種類で「API Gateway」を選ぶ。

その他の設定は以下の通り。入力したら、右下の「追加」ボタンをクリック。

すると、画面下に「トリガー」欄がでてきているはずです。赤で囲った部分が、Lambda関数を動かすためのURLです。そのURLへ行くだけで、この関数が動き出します。

このURLをこぴって、ブラウザのURL欄に貼り付けて、実際にそのURLに行ってみてください。それで電気が消えれば、成功です。

ちなみに、このURLに行ければ、だれでも動かせます。セキュリティもへったくれもありません♪

URLをNFCタグに書き込む

スマホアプリを使います。僕はNFC Toolsというアプリを使いました。「書く」タブから「レコードを追加」を選択し、「URL」→上記のURLをペースト。

あとは「書く」ボタンを押し、NFCタグにかざすだけでOKです。

ちなみに、NFCタグは何回でも書き換えられるので、安心して書き込みテストしてもらってOKです。

これで設定完了!

NFCタグで電気を消す

スマホの画面ロックを解除し、NFCタグにスマホをかざしてください。画面ロック状態だと動かないのでご注意を。

NFCタグにタッチしたサイン音がピロッとなり、数秒後にRemoが動き出したら成功です。

コメントを残す

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

CAPTCHA