##今回の目標
LINE Notifyを使って、自分のLINEアカウント宛に温度を通知させる
他の記事はこちら
スマートホーム目指してラズパイ触ってみた(1) 〜ラズパイ4+SenseHatセットアップ編〜(Qiita)
[スマートホーム目指してラズパイ触ってみた(2) 〜Macからリモートデスクトップ接続編〜(Qiita)]
(https://qiita.com/keilog/items/76117db977ce5096ac19)
[スマートホーム目指してラズパイ触ってみた(4) 〜Amazon S3 (AWS CLI)連携編〜(Qiita)]
(https://qiita.com/keilog/items/a7894275daf151686a86)
[スマートホーム目指してラズパイ触ってみた(5) 〜Amazon S3 + QuickSight連携編〜
(Qiita)]
(https://qiita.com/keilog/items/c1d0b69c3892904e48eb)
##Step1 : LINE Notifyでアクセストークンを取得する
まずアクセストークンを取得するために、LINE Notifyにログインします。
https://notify-bot.line.me/ja/ (LINE公式サイト)
手順は下記記事を参考にしました。
※発行したトークンは1度しか表示されないので、テキストメモなどに控えておきます。(うっかり失くした場合は、新たにトークンを再発行できます。)
LINE Notifyをブロックしていたら解除します。
またLINE Notifyが友だちにいない場合は、以下のQRをスマートフォンで読み取って追加可能です。
##Step2 : SenseHatで測定した温度をLINEに通知させる
SenseHatで測定した温度は、以下のコードで確認できます。
ラズパイ拡張モジュールのSenseHatについてはこちらの記事をご参考ください。
スマートホーム目指してラズパイ触ってみた(1) 〜ラズパイ4+SenseHatセットアップ編〜(Qiita)
from sense_hat import SenseHat
sense = SenseHat()
sense.clear()
temp = sense.get_temperature()
msg1 = "現在の温度"
msg2 = "℃です。"
message = "{0}:{1:.1f}{2:}".format(msg1,temp,msg2)
print (message)
実行すると結果がShellに出力されます。
この出力結果をLINEに通知させたいので、上記のコードと組み合わせて下記のように記載します。
from sense_hat import SenseHat
sense = SenseHat()
sense.clear()
temp = sense.get_temperature()
import requests
url = "https://notify-api.line.me/api/notify"
token = "取得したトークン"
headers = {"Authorization" : "Bearer "+ token}
msg1 = "現在の温度"
msg2 = "℃です。"
message = "{0}:{1:.1f}{2:}".format(msg1,temp,msg2)
payload = {"message" : message}
r = requests.post(url, headers = headers, params=payload)
print (message)
「取得したトークン」の箇所にはメモしておいたトークンをコピペします。
実行(Run)すると、実行結果がLINEに通知されるようになります。
##おまけ
温度を定期的に通知させたい場合は、ラズパイのターミナルで下記コマンドを打ちます。
編集モードになるので、以下のように間隔とファイル名を記述します。
■毎分ごとに通知させたい場合
例)*/1 * * * * python3 /home/pi/temp_line_notify.py
■30分ごとに通知させたい場合
編集したらCommand+Xで終了します。
これを行うと設定した間隔で通知されますが、停止しない限りずっと通知が来るので、停止させたい場合は同じコマンド(#sudo crontab -e)で編集して、該当行をコメントアウト(#)します。
##その他参照記事
[ラズベリーパイ4でcronを動かす(Qiita)]
(https://qiita.com/gdate/items/bdf6c620404679063211)
ITmedia NEWS:名刺サイズの超小型PC「ラズパイ」で遊ぶ
https://www.itmedia.co.jp/news/articles/1912/01/news009.html
https://www.itmedia.co.jp/news/articles/2009/15/news037.html
https://www.itmedia.co.jp/news/articles/2009/16/news021.html