Contents
Node-REDからLine-Notifyを送信
1. 概要
Node-REDからスマートフォンへメッセージを送る方法として、gmailと同様に、LineのNotify機能を使うことができます。例えば、R-MSM で温度データを取得していて、温度が設定値を上回った時に、LineのNotifyにメッセージを送り、連絡するというような使い方が想定されます。
ここでは、「Node-REDからGmailを送信」で作成したNode-REDのフローをベースにLine-Notifyノードを追加することで、Line-Notifyにメッセージを送る実験をします。
2. 準備事項
Line-Notify機能を使用するには、2つの準備が必要です。
1) Line-Notifyノードの取得:インストールしたままのNode-REDのエディタには、Line-Notifyノードはありませんので追加が必要です。取得が未だの場合は、こちら(line-notifyのノードを追加)を参考にLine-Notifyノードを取得して下さい。
2) Line Notifyのアクセストークンの取得が必要です。アクセストークンはWebサービスからの通知をLINEが受信する際の認証に使用されます。アクセストークンの取得方法は、本文で説明していきます。
3. 仕様
以下のような簡単な仕様のLine Notifyへの送信システムを作ります。
・injectノードを押すとLine Notifyへメッセージを送信する。
・メッセージの内容は、「現在は、2022年12月10日 09時34分32秒です。」というような日時の情報とする。
4. 送信実験結果
① injectノードを押すとLine Notifyにメッセージを送信します。
② スマートフォンのLine Notifyに日時メッセージが、トークン名[from Node-RED test]から送られてきました。
※ トークン名は、アクセストークン取得時に設定します。
5. Line Notifyのアクセストークンの取得
ここから、Node-REDでLine-Notifyにメッセージを送信する方法を説明します。まず、Line Notifyのアクセストークンの取得方法を説明します。
① Line Notifyのページにアクセスします。
② 右上のログインをクリックします。
③ メールアドレスとパスワードを入力します。
④ 「ログイン」を押します。
⑤ ログイン出来たら、右上の自分の名前のところからダウンメニューを開き、「マイページ」を選択します。
⑥ アクセストークンの発行のところで、「トークンを発行する」をクリックします。
⑦ トークン名(送り主表示に使用されます)の入力をします。
⑧ トークンルームのリスト画面から、適当なものを選びます。最後に発行するをクリックします。
a) 自分だけに送る場合は、「1:1でLINE Notifyから通知を受け取る」を選びます。
b) グループラインに送る場合は、グループラインを選びます。
⑨ 「発行する」をクリックします。
⑩ アクセストークンが表示されますので、「コピー」ボタンを押し、コピーし、どこかにペーストしておきます。
⑪ 終わったら「閉じる」をクリックします。
⑫ 閉じるを押すと、「連携中サービス」として表示されます。
以上で、アクセストークンの取得が完了しました。
次に、Node-REDにline notifyノードを配置し、アクセストークンを設定して、lineが送られるかを確認するフローを作成します。
6. Line Notifyへの送信フローの実装
6-1.メッセージ送信ボタンの設置
送信ボタンとしてinjectノードを配置します。
① injectノードを配置し、ダブルクリックしてプロパティ画面を表示します。
② 名前を入力します。
③ 「完了」を押します。
6-2. 日付のフォーマットの変更
Date/Time Formatterノードを配置します。
① Date/Time Formatterノードを配置し、injectノードと接続します。そして、ダブルクリックしてプロパティ画面を表示します。
② “Input from”を“msg.payload” にします。
③ “Output Format”を「YYYY年MM月DD日 HH時mm分ss秒」とします。
④ “Output from”を“msg.payload”にします。
⑤ 名前を入力します。
⑥ 「完了」を押します。
6-3. メール送信文を作成
Templateノードの配置します。Templateノードを使用することで、“msg.payload”や”flow“などの変数を簡単に埋め込めます。
① Templateノードを配置し、 Date/Time Formatterノードと接続します。そして、ダブルクリックしてプロパティ画面を表示します。
② 名前を入力します。
③ テンプレートの部分にメールの主文を入れます。ここでは「現在は{{payload}}です。」としています。
{{payload.adc0.val}}や{{flow.thresholdNo6}}のように変数を二重の{}でくくると値を引用できます。
④ 「完了」を押します。
6-4. line-notify ノードを設定
line-notifyノードの配置し、アクセストークンを設定します。
① line-notifyノードを配置し、 Templateノードと接続します。そして、ダブルクリックしてプロパティ画面を表示します。
② アクセストークンを設定するため、「トークン」欄の鉛筆マークをクリックします。
③ 「Name」を入力します。
④ アクセストークンを入力します。
⑤ 最後に、「追加」を押します。
⑥ 「Name」を入力します。
⑦ メッセージ欄を空欄にします。
⑧ 最後に、「完了」を押します。
6-5. デプロイの実行
① debugノードを配置し、 line-Notifyノードと接続します。
② 「デプロイ」を押します。
6-6. 送信実験
① 送信ボタンを押します。
② 送信先にLine Notifyが送られてきたか確認してください。
③ デバッグ画面の日時とLine Notifyに届いたメッセージの日時が同じか確認してください。