Node-Redのダッシュボードを眺めれば「末端の」マイコンがセンスした各種情報一目瞭然。しかし四六時中Dashboardを眺めているわけにもいきませぬ。手元のスマホにお知らせができたら良いと思うのです。そこで今回はいつもお世話になっておりますLINEのmessaging-APIを使わせていただいて、スマホにPUSH。
※「ブロックを積みながら」投稿順 index はこちら
※動作確認にはRaspberry Pi 3 model B+のRaspberry Pi OS(32bit)上にインストールした以下を使用しています。
-
- Node-RED v2.0.5
node-red-contrib-line-messaging-api
今回使用させていただく node-red-contribのノード、line-messaging-apiの解説ページは日本語です。ああなんといっても日本語はお楽だあ。ありがとうございます。
node-red-contrib-line-messaging-api
このノードをインストールすれば、Node-RedとLINEの間でやりとりができるようになるのであります。ただし、前回に引き続き、とりあえず「無料」なんだけれども、使い込みたくなったときに「有料化」がチラつくことになります。
まずはインストールの前に
普段からLINEの「一般向け」各種サービスにはお世話になっております(最近役所の手続きもLINEベースだったりするし。)しかし今回のmessaging-APIの試用は、通常のLINEのアカウントではできません。以下のLINE Developersというサイトへ行き、BIZ用のアカウントの開設が必要であります。
https://developers.line.biz/ja/
開設はとくに難しいことはなく「するする」やれるじゃないかと思います(個人の感想デス。)ありがちなことに無料でお試し的な分量の利用はできるものの、本格的な利用のためには有料プランの契約が必要になるのではないかと想像されます。多くの人が慣れ親しんでいるLINEのインフラを使っていろいろできると思えば「安いもの」かも知れませんが。。。
ノードのインストール
例によってノードのインストールは、Node-Redエディタのパレットの管理から行えます。以下は既に追加済のところです。
上記でインストールすると、下のキャプチャの左側のようにパレットの中に LINE というカゲゴリが出現し、6個ものノードが使えるようになります。
今回は、その中から Broadcast ノードを使ってみます。このノードを使えば開設したアカウントに友達登録した人々に一斉にメッセージを送ることが可能。通常は商品のキャンペーンみたいなことに使うのかも知れませんが、異常事態発生のご報告でもよしと。
今回実験のフロー
さて、今回実験のフローは伝統の「Hello World.」です。上流のInjectノードから文字列 “Hello World.”を送ったら、Bloadcastノードがそれを受け取って、LINEのmessage-APIを使って、LINEに繋がっている人々にHello Worldするもの。なお、Bloadcastは成功/失敗の情報などをmsgに載せて下流のノードへ流すので後ろにはDebugノードも設置してあります。フローはこんな感じ。
さて、Bloadcastノードの設定は簡単です。必要なことはAPIのコンソールから発行してもらったSecretとAccessTokenを入力するだけです(お見せできないので以下ではポツポツになってますけど。)
これは簡単設定。
フローを実行
上記のInjectノードを突いてみると、直ぐにこの老人のスマホ上のLINEアプリ(友達登録済)がピンと反応しました。そしてHello World. とどいてますな。
なお、上部にあるメッセージはデフォルトのWelcomeメッセージみたいです。勿論、カスタマイズ可能。
Node-RedとLINEの接続、APIを使えるアカウントさえあればとっても簡単。