#2_Raspberry Pi 3B+からLINEに天気予報を通知


Raspberry Pi 3B+からLINE Notifyを使ってスマホに天気予報を通知

東京に来てから突発的な雨にうたれることが多くて
「朝ちゃんと天気予報をチェックしておけば...」と後悔することがしばしば。

LINEに毎朝天気予報が送られてくればいいんじゃない?と思い立って作ってみることにしました。

1.下記のURLからLINE Notifyへ

2.右上の「ログイン」ボタンをクリックしてLINEアカウントにログイン

3.右上の自分のアカウント名の右矢印を押して「マイページ」をクリック

4.「トークン名を入力してください」の項目にどういう名前で通知が欲しいか入力。

 今回は「weather_report」としました。
 「通知を送信するトークルームを選択してください」の項目から自分のアカウントを選択
 最後に「発行する」をクリック

5.「トークンを発行する」をクリック

6.トークンが発行されるのでこれをコピーしてテキストエディタなどに控えておいてください

 もしコピーする前にダイアログを閉じてしまった!という場合は再度発行することができるのでご安心を

7.プログラムを作成

8行目の
headers = {'Authorization': 'XXX',}
「XXX」の部分に先ほど発行したトークンを貼り付けます

weather.py

#!/usr/bin/python
#coding: utf-8

import requests
import json

# 「XXX」には発行したLINE Notify トークンを貼り付ける 
headers = {'Authorization': 'Bearer XXX',}

def get_weather():
    url = 'http://weather.livedoor.com/forecast/webservice/json/v1'
    payload = {'city': '130010'}
    data = requests.get(url, params = payload).json()

    for weather in data['forecasts']:
        report = '\n' + data['title'] + '\n' + weather['dateLabel'] + ':' + weather['telop']
        files = {'message': (None, report),}
        response = requests.post('https://notify-api.line.me/api/notify', headers=headers, files=files)
        break

    return

if __name__ == '__main__':

    get_weather()



8.プログラムを実行

☆天気予報の受け取り成功!(なんて時間にやってるんだ...)

16行目のreport変数の内容を書き換えれば天気予報に限らず色々なメッセージをLINEへ送信することができます。
1時間かからず実装できるのでお試しあれあられ。