Linuxコマンドで超簡単にLINEにメッセージを送る方法

PC
スポンサーリンク

目的

マイコン(Raspberry Pi Zeo WH)と水分量センサーを使って鉢植えの土が乾いてきたのを検知したら、LINEに「お水ちょうだい」とメッセージを送るために、プログラムからLINEにメッセージを送る方法を調べてみました。

 

装置の構想はこちら。

植木鉢の土が乾いたら、LINEで知らせるシステムを考えてみた。
部品選定で考えたポイント 先日ようやく着手した「水やりお知らせ装置」の工作。 装置の機能としては「鉢植えの土が乾燥してきたらスマホに教えてくれる」という極めてシンプルなものです。 実現方法は無数にありますが、部品を...

 

プログラムからLINEにメッセージを送る方法

最もメジャーな方法として、LINEから公開されているMessaging APIを利用する方法があります。このAPIは高度な機能を備えていますが、実装にはそれなりの知識が必要になります。

今回はLINEにメッセージを送りたいだけなので、高度な機能は一切必要ありません。そのような時に便利なのがLINE Notifyという、超簡単にメッセージを送信するためのAPIです。

LINE Notifyがどれだけ簡単かというのは、以下の2つの特徴で理解いただけるでしょうか?
1. 面倒なプログラミングは不要
2.
curlコマンド一発でLINEメッセージを送信できる

なんともありがたい機能です!

 

それでは、実際にLINE Notifyを使ってみることにします。

 

準備するもの

今回は、Wi-Fi経由でインターネットに接続したRaspberry Pi Zero WH + Raspbianの環境で試してみました。

ハードやOSに依存した機能は使っていません。
そのため、curlコマンドが実行できてインターネットにつながっている環境であればほぼ同じ手順で実行できるはずです。

 

Raspberry Pi Zero WH + Raspbianのセットアップはこちら。

Raspberry Pi Zero WHの初期設定
Raspberry Pi Zero WH 購入 鉢植えをこれ以上枯らさないように、水やり時期を教えてくれる装置を考え始めて2週間。イメージしている機能を実現するのにぴったりのマイコンボードが見つかったので早速注文しました。 ...

 

アクセストークンを取得する

まずは、LINE Notifyを使用するためにアクセストークンを取得します。
LINE Notifyのページにログインすれば、簡単に取得できます。
以下の手順通りに実行すればアクセストークンを取得できます。

 

1. LINE Notifyのページにアクセスします。

LINEのアカウントとパスワードを入力してログインします。

 

2. トークンを発行します。

矢印の「トークンを発行する」をクリックします。

 

3. トークン発行に必要な情報を入力します。

①トークンを識別する任意の名前を入力します。
(メッセージ送信時、メッセージ本文の先頭に表示されます)
②送信相手を選びます。
③上記の①と②が完了したら「発行する」ボタンをクリックします。

 

4. トークンが発行されます。

一度閉じると再表示できませんので、コピーして保存しておきます。
※もしもトークンがわからなくなった場合は、作成したトークンを削除して再作成してください。

 

5. LINE Notifyのページを終了します。

 

LINEにメッセージを送る

トークンを入手したら、早速メッセージを送ってみましょう。

■送信コマンドの形式

$ curl -X POST -H 'Authorization: <TOKEN>' -F 'message=test message.' https://notify-api.line.me/api/notify

<TOKEN>の部分に入手したトークンを指定して実行すると、”test message.”という文字列を送信します。

 

”test message.”の送信例

 

日本語の送信例

 

もちろん日本語も送信OK!

 

まとめ

どうでしたか?
想像以上に簡単にLINEメッセージを送ることができたのではないでしょうか。

これだけ普及しているLINEですから、様々なセンサーや監視対象物からの通知を受けるためのユーザインタフェースとして利用できれば、家族や友人とのコミュニケーションツールにとどまらず、非常に便利なツールとして活用できそうです。

 

土壌の水分量が低下した時に通知する手段として「LINEへのメッセージ送信」ができるようになったので、今回はここまでで終了です。

 

 

コメント