天気予報通知Bot OpenWeatherMap+LINE Messaging+Node-RED+RaspberryPi


概要

天気予報を見る習慣が無くて、いつも天気を見るの忘れて傘持っていったらよかったとか、
子供の雨具忘れたりするので、
朝に昼と夕方の天気予報を通知するアプリを作ってみました。

下記の記事を存分に参考にさせてもらいました。
違いはenebularを使っていないことと、現在の天気でなく、予報データを使っているところです。
https://qiita.com/kmaepu/items/facecab4c67ca9c16a1a

■構成概要

RaspberryPi+Node-REDを使ってSmartHome化をしており、これに追加する形で構築。

■我が家の全体構成

天気情報用にOpenWeatherMap API取得

OpenWeatherMapは無料で利用できる天気予報API.

無料で利用できるAPIの項目は以下の通りなので、ほぼ個人利用であれば無料でOK.
(1分間に60コール/1ヶ月に1,000,000コールまで)

・現在の天気
・3時間ごと5日間の天気予報

OpenweatherMapのAPI KEYの取得する。
取得したKEYをNode-REDのOpenweatherノードに入力。
Instagram post - 3 (1).png

OpenweatherMapの5dayforecastのデータは多分かきのようなイメージになっているので、そこから使いたい予報時刻のデータのみをNode-RED側で処理して使う。

通知用にMessenger APIを取得

・LINE Messenger API
Messaging APIを使って、ユーザー個人に合わせた体験をLINE上で提供するボットを作成できるBot、とのこと。

LineMessenger APIの取得

アカウントを設定し、プロバイダー作成、チャンネル作成。

USER IDはビジネスアカウントと連携しないと出てこないので注意が必要。

Node-RED 構成

node-openweathermapのノード インストール
line-messaging-apiのノード インストール


毎朝7:30に天気予報が通知されるようになりました。
他のセンサーデータの通知などにも使えるので今後発展させていく予定です。

参考