13
11

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

LINE Notifyがサービス終了するので、LINE公式アカウントに置き換える

Last updated at Posted at 2024-11-11

簡単にLINEに通知が送れるLINE Notifyが、2025年3月31日にサービス終了するというアナウンスが出ています。

個人的にLINE Notifyを使って、マイコンやクラウドから自分のLINEに通知したりと使用していたので、他のサービスを使って置き換えてみました。

今回は、お試し的にATOMS3 LiteからのLINE通知を試します。
Arduino IDEのコードを紹介するので、Raspberry Pi Pico Wや他のマイコンでもOKだと思います。

IMG_4352.jpg

置き換え先はLINE公式アカウント

アナウンスを見るとLINE公式アカウントのMessaging APIの利用を検討下さいと書いてあったので、LINE公式アカウントに置き換えたいと思います。

image.png

LINE公式アカウント自体は、以前に試した「花粉のピークは過ぎたかもしれないけど、enebularで花粉bot作ってみた」でも扱ってました。
(アカウントの作り方などは、この記事も参考にして下さい)

LINE公式アカウントの設定

アカウントを作る

LINE Business IDでLINE Offical Account Managerにログインしたらアカウントタブから「作成」をクリックしてアカウントを作成します。

image.png

各項目を入力します。今回は個人的に使うだけなので、業種は個人としてます。

image.png

運用目的や主な使い方は次のように設定しました。
image.png

各同意確認の画面が表示されるので、同意します。

アカウントの作成はこれでOK

アカウントの設定

アカウントを作ったらアカウントの設定画面が表示されます。
最初にアナウンスが表示されますが、メールアドレスでアカウントを作成した場合は、友だち追加のQRコードが表示されるので、このタイミングで通知をしたいLINEで友だち追加を行います。

最初にLINE Messaging APIを使って通知を行うには、チャンネルアクセストークンを発行する必要があります。
次の手順で発行します。

  1. 「設定」を開く
    image.png
  2. 「Messaging API」を開く
    image.png
  3. 「Messaging API」を利用する
    image.png
  4. プロバイダー名を入力し、「同意する」をクリックしてプロバイダーを作成する
    image.png
  5. 個人的に利用する場合は、プライバシーポリシーと利用規約の登録は、空欄のままでOK。そのまま「OK」をクリック
    image.png
  6. LINE Developersを開く
    image.png
  7. LINE Developersのコンソールを開く(通常、LINE Offical Account Managerでサインインしてる場合は、同じアカウントなのでそのまま開けます)
    image.png
  8. 作成したプロバイダー、チャンネルを開く
    image.png
  9. 「Messaging API設定」を開く
    image.png
  10. 下の方にあるチャンネルアクセストークンの発行をクリック
    image.png

チャンネルアクセストークンの発行はこれでOKです。
あとで、コピーボタンからコピーして、コードに貼ります。

マイコン側のスケッチ

今回は、ATOM S3 Liteのボタンを押すと通知するようにスケッチを書いてます。
Arduino対応のマイコンであれば、一部を書き換えれば使用できると思います。

LINEのMessaging APIとしては、ブロードキャストメッセージを使用しています。
このAPIは、友達全員にメッセージを送るためのAPIです。今回は個人的に使用するので問題ないですが、LINE公式アカウントを複数の人で使っている場合は、全員に同じメッセージが送信されます。

スケッチを使用する場合は、以下の部分を環境に合わせて書き換えて下さい

  • チャンネルアクセストークンを入力して下さい ⇒ LINE Developersのコンソールで発行したチャンネルアクセストークン
  • Wi-FiのSSID ⇒ 接続するWi-FiのSSID
  • Wi-Fiのパスワード ⇒ 接続するWi-Fiのパスワード
#define CHANNEL_ACCSESS_TOKEN "チャネルアクセストークンを入力して下さい"

#include "M5AtomS3.h"
#include <WiFi.h>
#include <HTTPClient.h>

const char* ssid = "Wi-FiのSSID";
const char* password = "Wi-Fiのパスワード";
const char* authorization ="Bearer " CHANNEL_ACCSESS_TOKEN;

// LINE Messaging API ブロードキャストメッセージで通知
void notify(char* message) {
  HTTPClient http;
  http.begin("https://api.line.me/v2/bot/message/broadcast");
  http.addHeader("Content-Type", "application/json");
  http.addHeader("authorization", authorization);
  char body[256];
  sprintf(body,"{\"messages\":[{\"type\": \"text\",\"text\":\"%s\"}]}",message);
  http.POST(body);
  Serial.println(http.getString());
  http.end();
}

void setup() {
  // M5ATOMS3 Lite用の初期設定
  auto cfg = M5.config();
  AtomS3.begin(cfg);
  // シリアルポート設定
  Serial.begin(115200);
  // Wi-Fi接続
  Serial.print("WiFi connecting.");
  WiFi.begin(ssid, password);
  while (WiFi.status() != WL_CONNECTED) {
    Serial.print(".");
    delay(100);
  }

}

void loop() {
  AtomS3.update();
  // ボタンが押されているか判断
  if (AtomS3.BtnA.wasPressed()) {
    // ボタンが押された
    notify("ボタンが押されたよ");
  }
  delay(100);
}

動作確認

M5ATOM S3 Liteのボタンを押すと無事LINEに通知が飛びました。

Screenshot_2024-11-11-15-10-59-667_jp.naver.line.android.jpg

LINE NotifyとLINE公式アカウントとの違い

LINE Notifyは、LINEアカウントへの通知を簡単な設定で手軽に行えるサービスでしたが、LINE公式アカウントは、たくさんの機能があり、ビジネス向けにも利用されるサービスです。
最近、よく飲食店などでもLINEで、登録するとスマホで注文ができるようになったり、オトクな情報やクーポンなどの配信されていることがあると思います。そこに使用されているのがLINE公式アカウントです。

LINE Notifyはほぼ制限無し、無料で利用できましたが、LINE公式アカウントは無料で利用できる範囲に制限があります。(アカウントを有料プランで設定しなければ、利用できなくなるだけで請求されることはありません)

今回使用したブロードキャストメッセージのAPIも無料のプランだと月に200メッセージまでという制限があります。
メッセージ数ということで、友達が複数いる場合は、マイコンからの1メッセージにつき、送信先の友達分メッセージ数を消費します。また、他のAPIでも送信した先の分だけメッセージ数を消費します。

あと、基本的にLINEアプリから送ったメッセージに対するレスポンスのメッセージには制限がなく、使い放題です。なので、以前の記事で紹介した様にLINE Botとして使用する分には無制限です。

料金プランや制限のあるAPIについては、以下を参照して下さい

LINE公式アカウントでは、LINE Notifyの様に無料で利用しようとすると1日あたりだいたい6メッセージなので、頻繁に通知する用途には向かないと思います。

以上、LINE Notifyの置き換えとして参考にしてもらえればと思います。

13
11
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
13
11

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?