いっぺーちゃんの いろいろやってみよ~

Espruino on ESP32 で LINE(その2)

Espruino on ESP32 で Twitter(その3) - いっぺーちゃんの いろいろやってみよ~ のLINE版も作っておきます。

 ボタンを押したらLINEにメッセージが飛ぶ、LINEボタンです。

 こんな感じです。

var access_token    = '取得したアクセストークン';

var messages = [
    "%E3%81%8A%E3%81%AF%E3%82%88%E3%81%86",                 // おはよう
    "%E3%81%93%E3%82%93%E3%81%AB%E3%81%A1%E3%81%AF",        // こんにちは
    "%E3%81%93%E3%82%93%E3%81%B0%E3%82%93%E3%81%AF",        // こんばんは
    "%E3%81%8A%E3%82%84%E3%81%99%E3%81%BF",                 // おやすみ
];

if (typeof(ESP32) ==='function') {
    // platform is espruino on ESP32
    // Wi-Fi アクセスポイントへの接続
    var wifi = require('MyWifi');
    // set time zone  fixed to 'JST'
    E.setTimeZone(9);

    // Initialize for switch
    var sw1  = Pin(21);
    sw1.mode("input" );
} else {
    throw "not ESP32";
}

// モジュール読み込み
var tiny_line   = require("tiny_line");

// 初期化
var tl = new tiny_line(access_token, true);

tl.on("connect", function() {
    console.log("%%%% CONNECTED %%%%");
});
tl.on("response", function(code, msg, data) {
    if (code == 200) {
        console.log("%%%% RESPONSE : " + code.toString() + " : " + msg + " %%%%");
    } else {
        console.log("%%%% RESPONSE ERROR!!! : " + code.toString() + " : " + msg + " %%%%");
        console.log("#### RESPONSE ####");
        console.log(data);
        console.log("############");
    }
});
tl.on("end", function() {
    console.log("%%%% END %%%%");
});

function button_down(e) {
    var msg;
    var date = new Date();
    h = date.getHours();
    if (h >=4 && h < 12) {
        msg = messages[0];      // おはよう
    } else if (h >=12 && h < 17){
        msg = messages[1];      // こんにちは
    } else if (h >=17 && h < 21){
        msg = messages[2];      // こんばんは
    } else {
        msg = messages[3];      // おやすみ
    }
    tl.notify(msg, true);
}

setWatch(button_down, sw1, {repeat:true, edge:"falling", debounce:100});

 

 

 解説を、と思ったけど解説するまでもありませんね。
Twitter用の処理(モジュール読み込みとか初期化とか送信処理など)をLINE用に置き換えただけです。
日本語が使えるようになったので、送信文字列は日本語にしておきました。