Help us understand the problem. What is going on with this article?

[備忘録]IFTTTを使えばM5StackからLINEに通知するのは簡単だった

概要

M5StackからLINEに通知するやり方を調べていたらIFTTT(If This Then That)を使うやり方があることを知りました。
名前は知っていたけど、使ったことなかったので試してみた時のメモです。

やること

シンプルにM5StackのボタンAが押された時にLINEへ通知がいくのを確認できるようにしたいですね。

こちらを参考にしました
http://kyokucho1989.chillout.jp/2019/11/09/ifttt%E3%81%A7%E7%B0%A1%E5%8D%98iot%EF%BC%81m5stack%E3%81%A8line%E3%82%92%E9%80%A3%E6%90%BA%E3%81%99%E3%82%8B%E6%96%B9%E6%B3%95/

手順

IFTTTのアカウント作成

↓こちらからアカウントを作成します。
https://ifttt.com/

作成しましたら、↓のcreateを押します
Image from Gyazo

そして、↓の画面から接続していきます

Image from Gyazo

とっても分かりやすいUIですね。
Thisをwebhookに設定し、ThatにLINEを設定していきます。
LINE Notifyの開発ページに飛ぶ必要すらないってのは簡単ですね。

あとはこちらのコードをArduino IDEから書き込めば完了です!

* IFTTTを使ってm5stackとlineを連携させるプログラム
 * 参照元:https://thousandiy.wordpress.com/2017/10/17/esp32_ifttt_line/
 */

#include <M5Stack.h>
#include <WiFi.h>
#include <WiFiClient.h>

const char* ssid     = "****";
const char* password = "****";

String makerEvent = "push_line"; // Maker Webhooks
String makerKey = "****"; // Maker Webhooks

const char* server = "maker.ifttt.com";  // Server URL
WiFiClient client;

bool checkWifiConnected() {
  // attempt to connect to Wifi network:
  while (WiFi.status() != WL_CONNECTED) {
    Serial.print(".");
    // wait 1 second for re-trying
    delay(1000);
  }

  Serial.print("Connected to ");
  Serial.println(ssid);
  return true;
}

void send(String value1, String value2, String value3) {
  while (!checkWifiConnected()) {
    Serial.print("Attempting to connect to WiFi");
    WiFi.begin(ssid, password);
  }

  Serial.println("\nStarting connection to server...");
  if (!client.connect(server, 80)) {
    Serial.println("Connection failed!");
  } else {
    Serial.println("Connected to server!");
    // Make a HTTP request:
    String url = "/trigger/" + makerEvent + "/with/key/" + makerKey;
    url += "?value1=" + value1 + "&value2=" + value2 + "&value3=" + value3;
    client.println("GET " + url + " HTTP/1.1");
    client.print("Host: ");
    client.println(server);
    client.println("Connection: close");
    client.println();
    Serial.print("Waiting for response "); //WiFiClientSecure uses a non blocking implementation

    int count = 0;
    while (!client.available()) {
      delay(50); //
      Serial.print(".");
    }
    // if there are incoming bytes available
    // from the server, read them and print them:
    while (client.available()) {
      char c = client.read();
      Serial.write(c);
    }

    // if the server's disconnected, stop the client:
    if (!client.connected()) {
      Serial.println();
      Serial.println("disconnecting from server.");
      client.stop();
    }
  }
}

void setup() {
  //Initialize serial and wait for port to open:
  Serial.begin(115200);
  delay(100);

   WiFi.begin(ssid, password);
  while (!checkWifiConnected()) {
    WiFi.begin(ssid, password);
  }
}

void loop() {
  M5.update();
  if (M5.BtnA.wasReleased()) {
   send("LINE","test1","test2"); //任意の文字列3つ
   M5.Lcd.println("send");
  }
  delay(20);
}

*こちらは参考サイトのサンプルと同じものです。

iotlt
IoT縛りの勉強会です。 毎月イベントを実施しているので是非遊びに来てください! 登壇者を中心にQiitaでも情報発信していきます。 https://iotlt.connpass.com
https://iotlt.connpass.com/
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした