注目の記事

【国内販売開始】AWS IoT Enterprise Button試してみたらホンマに簡単にLambda関数を実行できた

2018.05.18

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

まいど、大阪の市田です。
昨年のre:Inventで発表のあった「AWS IoT Enterprise Button」がついに販売開始となりました。

AWS IoT 1-Click – Use Simple Devices to Trigger Lambda Functions | AWS News Blog

早速購入して試してみたので、ご紹介したいと思います。

デバイスを登録する

スマホアプリから登録したほうが楽ですが、下記のブログのようにマネジメントコンソールからやってみたいと思います。

AWS IoT 1-Click – Use Simple Devices to Trigger Lambda Functions | AWS News Blog

マネジメントコンソールから「IoT 1-Click」をクリックしてスタートです。IoT系のサービスが充実してきてワクワクしますね。

00-select-1-click

ページを移動できたら早速購入した「AWS IoT エンタープライズボタン」を登録しましょう。

01-claim-device

「デバイスを購入」をクリックすると、各ボタンの説明ページに移動します。そして説明ページから各社の購入ページに移動することが可能です。「AWS IoT エンタープライズボタン」の場合は、Amazon.comの商品ページに移動できますがAmazon.co.jpで購入することが可能です。

さて、「デバイスの登録」をクリックするとデバイスIDを入力できますので、ボタンの裏側、もしくはボタンが入っていた箱に記載されている「DSN番号」を入力します。

ボタン側には、4文字ずつスペースが入った形で記載されていますが、登録時はスペース無しで連続した文字列として入力します。(文字が見づらいので、やはりモバイルアプリからスキャンして登録する方が楽です。)

03-claim-my-device

「登録」ボタンを押したらデバイスからの応答待ちになるので、スマホアプリから登録処理を行っていきます。

04-still-activate

「AWS IoT 1-Click」のスマホアプリを起動して、自分のAWS環境にログインします。

05-iphone-app

06-login-iphone-app

ログインできたら、「セットアップ」の画面にある「AWS IoT Enterprise Button向け」という欄の「Wi-Fiを設定」をタップます。

07-click-wifi

次にデバイスIDを入力します。箱の横にバーコードが記載されているので、スマホアプリでスキャンするか手動で入力します。ここでもアプリでの読取りができなかったので手動で入力しました…

08-manual-regist

先程と同じようにボタンの裏側に記載のDSN番号を入力します。

09-manual-regist2

入力ができたら次のようにボタンを押す指示が出ますので、ボタンが青く点滅するまで押し続けます。この時スマホ側のBluetoothはオンにしておきましょう。

11-click-6sec

ボタンを検出できたら接続したいWi-Fiを選択して設定します。

12-select-wifi

最後にもう一度ボタンを押したら登録が完了します。

13-click-button

ボタンを押すと「登録済み」と表示が変わります。

14-claim-device-ok

これでデバイスが登録できました。

15-devices

AWS IoT 1-Clickを設定する

次に、デバイスを管理する「プロジェクト」を作成します。

16-make-project

適当なプロジェクト名を入力します。

17-named-project

次の画面では、テンプレートとアクションに応じた属性情報を設定していきます。今回はSMSの送信を試してみます。

20-setting-template

任意のLambda関数を実行する場合は、「アクション」からLambda関数を選択するだけです。

19-actions

次に「プレイスメントの作成」を行います。

21-make-placement

適当な名前を指定して、登録したデバイスを選択します。

22-config-placement

これで設定が完了しました。

ボタンを押して動作確認してみる

この状態でボタンを押すと、メッセージが無事届きました。

28-first-message

メッセージの中に属性情報を取り込んでみたいと思います。下記のように「プレイスメントの編集」をクリックします。

24-edit-placement

「messages」を下記のように修正して更新します。

コーヒーを{{Building}}の{{Floor}}階にあるクラスメソッドのオフィス{{Room}}まで送って下さい。連絡先は{{phoneNumber}}です。

25-edit-massege

更新できたら再度ボタンを押してメッセージを送信します。下記のように属性情報が入った内容を受け取ることができました。便利に使えそうですね。

29-2nd-message

全ての情報は{{*}}で取得できます。

27-project

30-all-message

Lambda側を確認すると、下記の様な関数が作成されていることを確認できました。

31-lambda

最後に

今回は予め用意されているLambda関数を使いましたが、任意のLambda関数を実行できるところが一番面白い点だと思います。
サービス名称のように簡単にLambda関数との関連付けができるので、色んなアイデアで活用していきたいと思います。

以上です。