AWS IoT Core を使って会場にあるデバイスを制御

AWS IoT Core を利用して、会場に設置されたデバイスを制御します。

AWS IoT Core とその先の環境は運営側で準備しているため、この章では AWS IoT 1-Click から AWS IoT Core への送信までを行うのがゴールになります。

mkmk-button / AWS IoT Core 全体像

作業1: AWS Lambda を作成する

AWS IoT 1-Click から呼び出され、AWS IoT Core に送信する Lambda 関数を作成します。

AWS マネジメントコンソール を開きログインしたあと、リージョンが オレゴン (us-west-2) になっている事を確認します。
なっていなければ オレゴン に切り替えてください。

mkmk-button / 2-1 aws-console

AWS Lambda のコンソールを開き、 [関数の作成] をクリックします。

一から作成 を選んだあと、以下のように入力して [関数の作成] をクリックします。

mkmk-button / AWS Lambda 作成

関数コードでは、以下のようにします。

コードを以下の URL のコードと入れ替えて [保存] をクリックします。
https://gist.github.com/ma2shita/7cfc919010bf9050a6edea2b741a31ee

mkmk-button / AWS Lambda コード

環境変数では、以下のようにします。

mkmk-button / AWS Lambda 環境変数

メールの時同様に、テストを作成します。
テストイベントは以下の JSON を使います。その際、以下の値を変更してください。

{
  "deviceEvent": {
    "buttonClicked": {
      "clickType": "SINGLE",
      "reportedTime": "2018-05-04T23:26:33.747Z"
    }
  },
  "deviceInfo": {
    "attributes": {},
    "type": "button",
    "deviceId": " G030PMXXXXXXXXXX ",
    "remainingLife": 5
  },
  "placementInfo": {
    "projectName": "TestProject",
    "placementName": "button1",
    "attributes": {
      "thingName": "運営から入手した `awsiot-thing-name` に置き換える"
    },
    "devices": {
      "myButton": " G030PMXXXXXXXXXX "
    }
  }
}

AWS Lambda 上でテストをして会場にあるデバイスが動けば成功です。
テスト前にはスタッフにお声がけください

作業4: AWS IoT 1-Click の設定を行う

デバイスの確認

今から行う作業の対象デバイスがすでに別のプレイスメントに割り当てられていると作業が継続できないため、あらかじめ プレイスメントからデバイスの割り当てを外す を参考に行ってください。

プロジェクト/プレイスメントの作成

[管理] > [プロジェクト] とクリックした後、[作成] をクリックします。

以下、プロジェクト内での設定です。

mkmk-button / AWS IoT 1-Click プロジェクト

[プレイスメントの作成] をクリックした後、プレイスメント内での設定を以下のようにします。

以上で終了です。

作業5: ボタンからの動作を確認してみる

SORACOM LTE-M Button を押して会場にあるデバイスが動くか確認してください。
実施前にスタッフにお声がけください

デバイスは動き出してから 5~10 秒で自動的に停止します。

あとかたづけ

作業は任意です。