SORACOM LTE-M Button(powered by AWS)でAWS LambdaのFunctionを呼び出すときに、
eventとして渡ってくる内容について整理する

前準備
- SORACOM LTE-M Button powered by AWSをSORACOMコンソールに登録する
- AWS IoT 1-Clickに紐付けする
AWS LambdaのFunctionを呼び出す設定
AWS IoT 1-Clickのテンプレート設定で、
アクションに「Lambda 関数の選択」を選択し、実際に動かすLambda関数を指定します。
実際に渡ってくる内容
eventとして連携されてくるjson内容を出力してみた。
これがわかっていると、実機がなくてもLambdaでテスト実装することができる。
{
"deviceInfo": {
"deviceId": "****************",
"type": "button",
"remainingLife": 76.69762,
"attributes": {
"projectRegion": "us-west-2",
"projectName": "iotbutton_yesno",
"placementName": "iotbutton_yesno",
"deviceTemplateName": "iotbutton_yesno"
}
},
"deviceEvent": {
"buttonClicked": {
"clickType": "DOUBLE",
"reportedTime": "2019-12-08T12:34:56.789Z"
}
},
"placementInfo": {
"projectName": "iotbutton_yesno",
"placementName": "iotbutton_yesno",
"attributes": {},
"devices": {
"iotbutton_yesno": "****************"
}
}
}
イベント情報を噛み砕いてみる
-
deviceEvent.buttonClicked
: ボタン側で起きたイベントの情報-
clickType
: SORACOM LTE-M Buttonがどう押されたか- SINGLE : 1回押し
- DOUBLE : 2回押し
- LONG : 長押し
-
reportedTime
: ボタンが押された時間
-
-
placementInfo
: AWS IoT 1-Clickで登録されているプレイスメントの情報-
projectName
: AWS IoT 1-Clickで紐づけられているプロジェクト -
placementName
: AWS IoT 1-Clickで紐づけられているプレイスメント -
attributes
: AWS IoT 1-Clickのプレイスメントに指定した属性情報(上記の例では設定なし) -
devices
: SORACOM LTE-M Buttonのシリアル番号(※)
-
上記のイベントを受け取っている設定周りは以下の通り