ちまたで流行の「IoT(Internet of Things)」。
様々な”モノ”がインターネットに接続されて、それらが情報交換することにより相互に制御する仕組みのことですが、ラズパイはこのIoT開発と相性が良いと言われています。
その理由の一つは、ラズパイにWiFiなどの通信機能が標準で備わっていることのようです。
今回は、そんな利点を活かしてラズパイのIoT開発に一歩近づくために、Pythonを使ってLINEでラズパイから情報を通知できるようにしてみました。
本ブログでは、ラズパイで写真撮れるようにしたり、デジタル時計作ったりもしているので、興味のある方はぜひご覧ください。
事前準備:LINE NotifyでのトークンID取得
ラズパイからLINEで情報を通知できるようにするためには、LINE Notifyというサイトにて、トークンIDというものを取得する必要があります。このトークンIDを、ラズパイ上でのPythonプログラムに設定することで、LINE通知ができるようになります。
やることは次の7ステップ。
- 「https://notify-bot.line.me/ja/」にアクセス。
- ログイン。
- マイページに移動。
- 「トークンを発行する」を選択
- トークン名を入力し、通知を送信するトークルーム(グループ)を選択
※トークンルームは自分のLINEグループなどが表示されるので、そこから通知したいグループを選択します。今回は「1:1でLINE Notifyから通知を受け取る」を選択して、個別に通知を受けるようにしました。 - 「発行する」を選択し、トークンを発行する
- トークンIDが表示されるため、コピーしてメモしておく
※ちなみにこのタイミングで、選択したトークングループにLINEが通知されます。
以上で、トークンIDの取得は完了です。トークンIDは確実にコピーしておきましょう!
なお、発行が完了すると、マイページ上に、発行済みのトークングループが表示されます。
ラズパイからLINEで情報通知させてみた
トークンIDが発行できたら、ラズパイでPythonプログラムを作成してそこにトークンIDを設定し、実際にLINEで情報を通知させてみたいと思います。
今回は、以下のプログラムを作成し、”LineToken.py”というファイルで保存しました。今回は、超単純ですが、現在時間を通知させるプログラムとしています。
import requests
import datetime
# 発行されたトークンID
ACCESS_TOKEN = "XXXXXXXXXX"
headers = {"Authorization": f"Bearer {ACCESS_TOKEN}"}
dt_now = datetime.datetime.now()
data = {"message": "\n現在の時間は" + dt_now.strftime('%Y年%m月%d日 %H:%M:%S') + "です。"}
requests.post(
"https://notify-api.line.me/api/notify",
headers=headers,
data=data,
)
※上記プログラムの中の「ACCESS_TOKEN = "XXXXXXXXXX"
」のXXX・・・部分に、事前準備で取得したトークンIDを設定します。
このプログラムを実行した結果、ちゃんと現在時間が通知されました!!
まとめ
今回は、超簡単でしたが、ラズパイからLINEで情報を通知するプログラムを作ってみました。今回の記事の内容は、普通のノートPCなどでもPythonの実行環境さえあればできるので、ラズパイというよりは、PythonでLINEを扱う記事、という感じでしたね。
今後は、ラズパイの特徴も踏まえて、このLINE通知機能が使えるように考えたいと思います。例えば、天気予報や、地震情報などを、リアルタイムに送れると良さそうです。また、電子工作を組み合わせて、より”IoT”と呼べる代物を作りたいところです。
コメント