SORACOM LTE-M 버튼을 누른 로그를 kintone에 저장

처리 내용



· SORACOM LTE-M 버튼을 누르면 Lambda를 시작하고 결과를 킨톤에 저장합니다.
· SORACOM LTE-M 버튼을 한 번 누르고 두 번 누르고 길게 누름을 확인하고 기록합니다.
이번은 버튼의 액션을 kintone 에 기록할 때까지를 시도합니다만, 나중에는 몇개의 제어를 시험할 예정입니다.

SORACOM LTE-M Button 정보



자세한 내용은 아래를 참조하십시오.
htps : // 소라코 m. jp / p 로즈 cts /

설정 내용



AWS Lambda 설정 → AWS IoT 1-Click Button 등록 → AWS IoT 1-Click에서 Lambda 시작 설정 → kintone 설정을 선택합니다.

AWS Lambda 함수 추가



먼저 내용이 비어 있으므로 AWS Lambda 함수를 추가합니다.
이번에는 Node.js로 만들었습니다.


AWS IoT 1-Click Button 등록



SORACOM LTE-M Button을 AWS IoT 1-Click 디바이스에 등록합니다.
자세한 절차는 아래를 참조하십시오.

SORACOM LTE-M Button powered by AWS에서 할 수 있는 일 및 환경 준비 요약
htps : // bg. 소라코 m. jp/bぉg/2018/10/25/어쩌다-어아 dy-후루-l-m-붐/

SORACOM LTE-M Button powered by AWS를 클릭하여 Slack에 알리기
htps : //에서 v. 소라코 m. 이오 / jp / s rt / 아 ws_ Button_s ck / # Regi St Rachion



AWS IoT 1-Click Lambda를 시작하는 설정



AWS Console Console AWS IoT 1-Click 프로젝트 화면에서 버튼을 누른 후 추가한 람다 함수를 실행하도록 설정합니다.




kintone 앱 설정



버튼을 눌렀을 때 시작하는 람다 함수에서 버튼 기록을 남기기 위한 kintone 앱을 추가합니다.
이번에는 API 토큰을 사용하여 kintone API를 호출합니다.



실행 결과



버튼을 누르면 추가된 AWS Lambda 함수가 킥킹되어 kintone에 기록이 남아 있습니다.


AWS Lambda 함수 코드 예제



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」 ( htps : // bg. 소라코 m. jp/bぉg/2018/07/04/소라코 ㅇㅇㅇㅡㅡㅇㅇㅇ )
SORACOM LTE-M Button powered by AWS로 할 수 있는 일과 환경 준비 정리 ( htps : // bg. 소라코 m. jp/bぉg/2018/10/25/어쩌지-어아 dy-후루루-m-붐/ )
SORACOM LTE-M Button powered by AWS를 사용한 개발 TIPS ( htps : // bg. 소라코 m. jp/bぉg/2018/11/07/치 ps-오-소라코 몰로-m-부탄/ )
AWS IoT 1-Click 콜백 이벤트( htps : // / cs. 아 ws. 아마존. 이 m / 그럼 _ jp / 이오 t-1-c ㎃ / ぁ st / ゔ ぇぺぺ ぐ い / 1c ぃ CK ゔ ぇ ts. HTML )

좋은 웹페이지 즐겨찾기