ESP32やM5StickからLINEメッセージ(LINE Notify)を送信する方法を紹介します。
あらかじめLINE Notifyへの登録を済ませ、トークンを取得しておいてください。
LINE Notify
LINE NotifyはGitHub,IFTTT,MackerelなどのWebサービスからの通知を、LINEで受信することが出来る便利なサービスです。
サンプルコード
まずはサンプルをご覧ください。LINE NotifyのAPIにメッセージをPOSTしているだけです。
#include <HTTPClient.h>
HTTPClient httpClient;
String LINE_NOTIFY_TOKEN = "トークンをここに入力";
void sendLine(String body)
{
// HTTPClinetでPOSTする
String postUrl = "https://notify-api.line.me/api/notify";
httpClient.begin(postUrl);
httpClient.addHeader("Content-Type", "application/x-www-form-urlencoded");
httpClient.addHeader("Authorization", "Bearer " + LINE_NOTIFY_TOKEN);
// POSTしてステータスコードを取得する
int status_code = httpClient.POST("message=" + body);
Serial.println(httpClient.getString());
if (status_code == 200)
{
Serial.printf("[SUCCESS]LINE Notify (URL:%s)", postUrl.c_str());
}
else
{
Serial.printf("[SUCCESS]LINE Notify (URL:%s) Code:%d", postUrl.c_str(), status_code);
}
// HTTPClinetを終了する
httpClient.end();
}
これだけでLINEを送ることができます。
ESP32でPOSTする方法については、こちらの記事にまとめてあります。LINE NotifyにPOSTする際はJSONではなくapplication/x-www-form-urlencoded
でエンコードする必要がありますが、以前の記事で紹介した手順をほぼ踏襲していますので、参考にしてみてください。
メッセージを送信する
sendLineを実行すると、LINE Notifyでメッセージが送信されます。
sendLine("こんにちは");
引数に送信したいメッセージを指定してください。LINEが届きます。
コメント