SORACOM LTE-M Button を押したログを kintone に保管
SORACOM LTE-M Button を押したログを kintone に保管:
・SORACOM LTE-M Button が押されたら、Lambda を起動して、その結果を kintone に保管。
LTE-M 内蔵ボタンデバイス「SORACOM LTE-M Button powered by AWS」 ( https://blog.soracom.jp/blog/2018/07/04/soracom-lte-m-button-powered-by-aws/ )
SORACOM LTE-M Button powered by AWS でできる事や環境の準備まとめ ( https://blog.soracom.jp/blog/2018/10/25/are-you-ready-for-lte-m-button/ )
SORACOM LTE-M Button powered by AWS を用いた開発 TIPS ( https://blog.soracom.jp/blog/2018/11/07/tips-of-soracom-lte-m-button/ )
AWS IoT 1-Click コールバックイベント ( https://docs.aws.amazon.com/ja_jp/iot-1-click/latest/developerguide/1click-events.html )
処理内容
・SORACOM LTE-M Button が押されたら、Lambda を起動して、その結果を kintone に保管。
設定内容
AWS Lambda の設定
AWS IoT 1-Click Button の登録
AWS IoT 1-Click Lambda を起動する設定
kintone アプリの設定
実行結果
コード
index.js
'use strict'; var request = require('request'); // npm install request var Domain = "cybozu.com"; var Subdomain = "SUBDOMAIN"; var Path = "/k/v1/record.json"; var Protocol = "https://"; var AppId = "KINTONE_APP_ID"; var Token = "KINTONE_TOKEN"; exports.handler = function(event, context) { var clicktype = event.deviceEvent.buttonClicked.clickType; var message = ""; if(clicktype == "SINGLE"){ message = "ボタンが1回押されました"; } else if (clicktype == "DOUBLE"){ message = "ボタンが2回押されました"; } else if (clicktype == "LONG") { message = "ボタンが長押しされました"; } else { message = "clickTypeを正常に取得できませんでした" } require('date-utils'); // npm install date-utils var dt = new Date(); var url = Protocol+ Subdomain + '.' + Domain + Path; var json = { "DateTime": { "value" : dt.toFormat("YYYY-MM-DDTHH24:MI:SSZ") }, "Message" : { "value" : message } }; funcPostKintoneRecode(request, url, AppId, Token, json); }; // kintone アプリにデータを追加 function funcPostKintoneRecode(request, url, appId, token, json) { var options = { url: url, method: 'POST', headers: { 'Content-type': 'application/json', 'X-Cybozu-API-Token': token }, body: { app : appId, record: json }, json: true }; request.post(options, function (err, res, body) { console.log('response' + res.statusCode); if (!err && res.statusCode === 200) { console.log('response SUCCESS!!'); } else { console.log('response error: ' + res.statusCode); console.log(body); } console.log('response end'); }); }
参照情報
LTE-M 内蔵ボタンデバイス「SORACOM LTE-M Button powered by AWS」 ( https://blog.soracom.jp/blog/2018/07/04/soracom-lte-m-button-powered-by-aws/ )SORACOM LTE-M Button powered by AWS でできる事や環境の準備まとめ ( https://blog.soracom.jp/blog/2018/10/25/are-you-ready-for-lte-m-button/ )
SORACOM LTE-M Button powered by AWS を用いた開発 TIPS ( https://blog.soracom.jp/blog/2018/11/07/tips-of-soracom-lte-m-button/ )
AWS IoT 1-Click コールバックイベント ( https://docs.aws.amazon.com/ja_jp/iot-1-click/latest/developerguide/1click-events.html )
コメント
コメントを投稿