はじめに
こちらは
Arduino と Raspberry Pi の違いのまとめ
の個別記事で、Raspberry Pi で処理の完了をユーザに通知する。
要件
- 処理が完了したら、その処理を実行したユーザに処理の完了を通知する
- 複数人が利用するシステムで、ユーザは特定されている
- 処理完了をすぐに気がついてもらうことが必要で、通知には即時性が求められる
処理の通知処理のオプション
いろいろと用途に応じてオプションがあると思う。
emailを送る,SmartPhoneのApplication, ディプレイへの表示、 SMSでメッセージ通知など
今回のプロジェクトの処理は、処理を開始して2,3分で終わるものの、終わったあとにすぐ結果を得たいという動機があるため、email だとちょっと遅い可能性もあり、SMS を選択したい。
しかし、SMSだと価格は安いものの費用がかかるものしか見つけられなかったので、LINE を使って処理完了のメッセージを送ることにした。ユーザは複数人だが、とりあえず自分だけに送付できればよいので進める。
LINE Notifty
LINE Notify
に自分のLINE accountでloginして、
Generate access token (For developers)
から Generate token を選択すると、TOKEN が得られる。えらく長い40数文字の文字列だ。
このTOKENを用いて、下記のようにすれば簡単にLINE Notifyというaccountから自分宛にMessageを送ることができる。
#!/usr/bin/python
import requests
TOKEN = 'INPUT YOUR TOKEN HERE' # 取得したTOKENをここに入れる
API = 'https://notify-api.line.me/api/notify'
MESSAGE = 'ready.'
payload = {'message': MESSAGE}
headers = {'Authorization': 'Bearer ' + TOKEN}
line_notify = requests.post(API, data=payload, headers=headers)
肝はこれだけである。Library のおかげでいとも簡単にHTTPの通信ができてしまう。
APIはこちらに説明がある。オプションでJPEGやPNGの画像も同時に送ったりすることができる。
https://notify-bot.line.me/doc/en/