この記事で扱っていること
- LabVIEWからLINEに通知を送る方法
を紹介しています。
注意:すべてのエラーを確認しているわけではないので、記事の内容を実装する際には自己責任でお願いします。また、エラー配線は適当な部分があるので適宜修正してください。
2023年現在の今でもコミュニケーションツール、SNSとして広く使用されているLINE(アプリケーション)で通知を受け取ることで、例えばプログラムが終了した、あるいは異常が発生した際に自分のスマホですぐに知ることができます。
本記事では、LINE Notifyのサービスを使用して、指定したLINEグループに任意のメッセージを送る方法の例を紹介しています。
どんな結果になるか
プログラムとしては、送りたいメッセージを入力する文字列制御器があるだけです。
プログラムを実行すると、指定したグループに、後述するトークンとともにメッセージを送ることができます。
プログラムの構造
この機能を実現するための前段階として、LINE NotifyでAPIキーを発行する必要があります。これにはLINEアカウントが必要です。
文字通り「LINE Notify」と検索すれば出てくるLINE NotifyのページでLINEのアカウントでログインをします。
画面の指示に従って進み、トークンを発行します。
このトークンは、最終的にメッセージを送った際に、そのメッセージの先頭に角括弧付きで表示される文字で、特に制限はないようです。
また、通知を送信するトークルームの指定を行います。
LINE Notifyから通知を受け取る専用のトークルームのような形で「1:1でLINE Notifyから通知を受け取る」といった選択肢もありますが、まぁここは好きなものを選んでください。
APIキーを発行したら、これをコピーしておき、LabVIEWプログラムの中で使用します。
LabVIEWプログラムは一応こんな形でできました。
各関数に入力している文字列が少しでも異なるとうまくいかないと思うので、下記の図を参考に間違えずに入力します。
なお、HTTP系の関数は以下の関数パレットにあります。
日本語を送る場合
上記のプログラムの場合、日本語がメッセージに入っていると文字化けしてしまいます。これを回避して日本語でもメッセージが送れるようにするにはひと手間かかります。
日本語文字化けを防ぐために、LabVIEWへアドオンツールを入れます。
NI ~~という名前がついているパッケージをVI Package Managerというツールで入手することができ、今回はNI Unicode Toolsというものを使用します(入手は無償です)。
ちなみに、VI Package ManagerはLabVIEWへのアドオンソフトウェアをインストールするためのツールで、よく似た名前のソフトにNI Package Managerというものがありますが、これとは全く別のソフトですのでご注意を。
ここからダウンロードできる関数を使用して以下のようにプログラムを組めば日本語を扱うことができます。
写真も送りたい場合
LINE Notify自体はテキストだけでなく写真も送ることができます。
ただし、画像を指定するにはバイナリ形式で開く等の作法が必要なので、こういった処理が得意なPythonでの実装に任せることにします。
以下のようなPythonスクリプトを用意しておきます。
これをLabVIEWで呼び出して指定します。
なお、LINE Notifyの仕様の関係で、送れる画像ファイルはpngかjpegに限られるようです。
(以下の図では私が使用しているPythonが64 bitなのでLabVIEWも64 bitにした都合上LabVIEWのメニュー表記などが英語になっています)
もしLabVIEWとPythonの連携の仕方がわからない、という場合には以下の記事も参考にしてみてください。
この方法の場合、VI Package Managerで特定のアドオンを入れていなくても、日本語をそのまま文字化けなしに送ることができます。
本記事では、LabVIEWからLINEに通知を送る方法を紹介しました。
プログラム内でエラーが発生したときに通知をスマホに送るなどといった使い方は、なかなか便利だと思います。
何か測定を行ってそれが終了したとかあるいは異常が起きたなどと行ったときに通知できるようにする場合などに参考にしてもらえばと思います。
ここまで読んでいただきありがとうございました。
コメント