5
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

芽が出ない!と、ならないように! にんじんの発芽適温botで失敗知らず!

Last updated at Posted at 2024-10-05

家庭菜園の悲しみ…

私は小売業店舗で農産物の担当をしています。

野菜好きが高じて、今年の春から🍅家庭菜園🍆を初めました。
夏野菜は程よく収穫でき、大満足!

次は秋植えだっ!
と先日、意気揚々とニンジンの種を植えました。

22815835.jpg

$\huge{ッが…}$



$\huge{全然芽が出てこない…}$

どうやら、気温が高すぎた様です。

にんじんは35℃以上だと発芽を全くしなくなるそう。
もし事前に知っていればッ…!!
そんな思いで、都道府県を入力すれば
今の気温が発芽適温か教えてくれるLINE Botを作りました。


$\huge{届け、私の無念!}$

完成品

使用ツール

・Make
・天気予報 API(livedoor 天気互換)
・Googleスプレッドシート
・LINE Developers

最終構造

スクリーンショット (16).png

作成開始

天気予報のAPIを選択

天気情報は私には愛着のある天気予報 API(livedoor 天気互換)を使用しました。
日本語で分かり易い為、安心感があります。

以前、好評を得ていたlivedoor天気がサービス終了となりましたが、
個人の方が互換性APIを作られた様です。

データの関係上、最低気温は取得出来ないそうです。

今回は最高気温(高温)が判断出来れば良い為、問題ありません。

天気情報から選択地点の最高気温を抽出

今回はノーコードでプロトタイプできるMakeを用いて作成していきます。


こちらが天気予報APIです。
https://weather.tsukumijima.net/api/forecast

まず、Watch Events の LINEモジュールと
Send a Reply Message の LINEモジュールを繋げ、

その間に天気予報のAPIを入れたHTTPモジュールと
JSON解読用のJSONモジュールを配置します。

スクリーンショット (22).png

地点IDを都道府県名に変更

天気予報APIには地点IDが必要ですが、調べるのが手間です。
なので、Googleスプレッドシートを用いて
都道府県名を入れれば県庁所在地の天気情報が出てくる様にしたいと思います。

都市名の方がより正確な情報を取得出来ますが、地名を打ち込む際に、
その地点のデータの有無が判断しにくい為、今回は割愛します

まずは、都道府県名とその県庁所在地の地点IDのGoogleスプレッドシートを作成します。

スクリーンショット (17).png

これを使って
都道府県名(A)を 地点ID(B)に変換します。

しかし、打ち込みをしていくと、
」や「」などを打ち込むのも邪魔だなと感じたので、

スクリーンショット (18).png

FilterText operatorsContains(case insensitive) に設定し、
「静岡」でも「静岡」でも使える様にしました。

IMG_0356.jpg

また、誤字や勘違い等の対応として、
Router で分岐させ、Does not existFilter を付けて、
スクリーンショット (19).png

存在しない都道府県を入力した場合は
正しい都道府県名を漢字で入力してください。」と表示するようにしました。

IMG_0354.jpg

発芽適温

本元の発芽ジャッジ部分ですが、
JSONモジュール と
Send a Reply Message の LINEモジュールの間に Router を配置し、
FilterCondition4.Forecasts[ ].temperature.max.celsius を入れ、
Numeric operatorsLess than or equal to を設定し、「29」を入力します。

※幅を持たせる為に、30℃を設定温度としました。

スクリーンショット (20).png

これにより最高気温が29℃以下の時には
以下のメッセージが送られるようになります。

メッセージと共に今日の最高気温も表示する形にしました。

IMG_0355.jpg

次にSend a Reply Message の LINEモジュールを Clone して Router と繋げ、
Filterfallback にします。

スクリーンショット (21).png

これにより30℃以上の場合は以下のメッセージが送られる様になりました。

IMG_0357.jpg

最後に

今回は当日の最高気温のみでしたが、本来なら当日30℃以上だったら、
じゃあ、いつ蒔けるのよっ!
と思うはずですので、週間天気予報で先の気温を調べ、
この日なら蒔けそうですよ
と提案できる形にまで持っていければと考えています。

更に言えば、


$\huge{なぜ🥕ニンジン🥕限定…}$


今回はLINE Botを使用してみましたが、
基本的には入力が一度のみという制約がありました。
(私が調べた限りです。間違えていたらスイマセン)
その為、「どこの」・「何」という複数の選択肢が出来ませんでした。

つまりは複数の入力に対応できる物を使用すれば、
更に実用性の高いものが出来ると思います。

まだまだ改善の余地はありそうです。

こんな機能があったら良いかもという提案ありましたら教えてください。
最後まで読んでいただきありがとうございます!




※2024/10/13㈰追記
上記の改良案に必要な、長期の天気予報情報を取得出来るAPIを調べてみました。

私が調べた限りではこちらのAPIが良いかなと思いました。

Visual Crossing Weather API

アカウントを作成すれば、
無料プランで15日先までの予報データを提供してくれます。

スクリーンショット (24).png
一日に1000レコードまで使用出来るという事で十分かと思います。

こちらとは別のAccuWeather APIというAPIも15日先までの予報データを提供してるので候補に入れてましたが、無料プランだと5日先までの提供のようです。

5
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?