SORACOM LTE-M Button を押したログを kintone に保管

SORACOM LTE-M Button を押したログを kintone に保管:


処理内容

・SORACOM LTE-M Button が押されたら、Lambda を起動して、その結果を kintone に保管。


設定内容


AWS Lambda の設定



Button05.png

Button06.png



AWS IoT 1-Click Button の登録



Button03.png

Button04.png



AWS IoT 1-Click Lambda を起動する設定



Button01.png

Button02.png



kintone アプリの設定



Button07.png

Button08.png



実行結果



Button09.png



コード

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 )

コメント

このブログの人気の投稿

投稿時間:2021-06-17 05:05:34 RSSフィード2021-06-17 05:00 分まとめ(1274件)

投稿時間:2021-06-20 02:06:12 RSSフィード2021-06-20 02:00 分まとめ(3871件)

投稿時間:2020-12-01 09:41:49 RSSフィード2020-12-01 09:00 分まとめ(69件)