水やり記録を付けたいが今まで何度も挫折してました…せっかくなので園芸のIoT化ということでデジタルとアナログを混ぜて非エンジニアでも簡単にできる水やり記録方法の紹介です。IFTTTとGoogleのアカウントで簡単記録をつけてみます。
背景:水やり頻度を記録したいがなかなか継続できない
もはや、これは自分の性格の問題かもしれないが、水やり頻度や前回水やりを行った日を確認をしたいと思って、紙に書いてみたりスマホのメモ帳に入れてみたり色々な方法を試してきたがどうしても続かない。忘れたときに継続するモチベーションが下がる。
「できるだけ簡単に記録がつけられ」そして「誰でも簡単に再現性のある方法」の2つを叶える方法の紹介です。
また最近は園芸のデジタル化が比較的しやすくなってきています。温度や湿度はかなりハードルが下がりました、LED栽培の照明のオンオフなどもデジタル的に自動になりました(下記の記事を参照ください)。水やり履歴も何とか保存できないかと思いチャレンジしてみました。
水やり履歴をデジタル記録する方法
「できるだけ簡単に記録がつけられ」を意識して水やり完了したら下記のいずれかの方法で記録する。
- スマートフォンのホーム画面のアイコンをタップ(今回はこの方法)
- ホーム画面に置きたくない場合はURLをなにかにメモ
- 栽培場にQRコードを印刷しておいておきQRコードリーダーで読み取る
上記を実行した場合にGoogleドライブにあるGoogleスプレッドシートに自動的に日時を記録する。要するにURLを1回表示すればGoogleスプレッドシートに記録完了を目指します。
水やり履歴をデジタル記録するために必要なもの
「誰でも簡単に再現性のある方法」を意識して
- スマートフォン(別にガラケーでもいいですが)
- Googleのアカウント
ひとまずデジタル記録するために準備するものはこの2つです。Androidスマホを利用していればもれなく両方の準備が完了です!取っ掛かりは楽な方が良い!!
設定方法
まずIFTTTのアカウントをgoogleのアカウントを使って作成します。(googleのアカウントと連携しなくても可能です)右上のSing upをクリックするとAppleかGoogleかFacebookのアカウントのいずれかでIFTTTのアカウントを作成する画面になります。googleドライブと連携をするのでGoogleアカウントがよいかもしれません。
※IFTTT自体はそれらの企業とは関係のない外部サービスですが、世界的に有名なサービスです。
ログインをしたら色々書いてありますが、今回の目的は水やり記録をつけるのみなので「Create」を押します。
今回は、URLを表示したらGoogleスプレッドシートに記録するを実現します。If Thisで条件を作っていきます。If Thisをクリックします。
サービスが並んでいるページになりますので「Webhooks」と入力します。そうするとWebhooksのサービスが絞られるので選択(クリック・タップ)してサービス連携の画面が出てきてすすめると連携完了で設定画面に移ります。
「Receive a web request」しか選択肢がないと思いますが選択(クリック)します。
シンプルです。わかりやすいイベント名をつけましょう。日本語は使わないほうが良いです。「watering_record」とかで良いと思います。入力したら「Create trigger」でIf Thisの設定が終了です。
さて後半です。IFが完成したので、「Then That」を選択します。
また「Choose a service」のページです。今度は「google」と検索してください。Googleのサービスが出てきますが、「Google Sheets(Googleスプレッドシート)」を選択してください。このときgoogleアカウント以外でIFTTTのアカウントを作った場合、googleアカウントとIFTTTの連携を聞かれるかもしれません。
Add row to spreadsheet
This action will add a single row to the bottom of the first worksheet of a spreadsheet you specify. Note: a new spreadsheet is created after 2000 rows.
Webhooksは選択肢が1つだったのですがGoogle Sheetsは選択肢が2つ。記録を行としてつけていくので「Add row to spreadsheet」を選択してください。
Google Sheetsの設定画面はWebhooksの設定画面よりは多い、3つあります!下記の通り設定してください。
- Spreadsheet name:watering_record
- Formatted row:いじらない(OccurredAtがあれば良いと思うが)
- Drive folder path:オプションなので消しておく
こんな感じです。「Create action」で作成です!
他にも色々できるのですがそれは今度ということで「もしWebhooksが開かれたら、Googleスプレッドシートに1行追加する」が完成です。「Continue」で作成終了です。Applet Titleを聞かれますがそのままで良いでしょう。「Finish」です。
動作確認をしましょう
動作確認をしましょう。HOMEにゆくと自分が作成した命令があります。Applet Titleです。それを選択します。
赤く囲った部分が「Webhooks」の動作確認と記録方法を確認するところです。選択します。
そうすると「Webhooks」を利用している条件一覧のページにゆくのですが、上部にある「Documentation」を選択します。
開くと今まで超シンプルだった見た目のページから嫌だなあって感じのページになります。グレーで塗りつぶしているところは一人ひとりに割り当てられた自分専用の番号です。パスワードみたいなものです。
赤く囲った部分の更に中の赤く囲った部分に「event」とあると思うのですがそこに一番最初に設定したEvent_nameを入れます。「watering_record」です!それを入力したら「Test It」です!「event has been triggered」と出るはずです。
連携したGoogleアカウントのマイドライブにIFTTTというフォルダが自動的に生成されて、その中にEvent_nameで設定した「watering_record」というファイルができていると思います。
テストボタンを2回押した結果こんな感じに記録されています!!ここまで来たら成功ですね。
水やり記録用URLについて
先程の設定画面の赤枠の部分のURLが表示用のURLです。少しコピーがしにくいですがスマートフォンの画面でそのURLを開いてください。下記のようなURLでxxxxの部分には自分のkeyが入ります。
https://maker.ifttt.com/trigger/watering_record/with/key/xxxxxxxxxxxxxxx
URLを開くと白いページに「Congratulations! You’ve fired the watering_record event」の文字だけのページになります。これで水やりカウントされました。(URLを1回表示するだけでGoogleスプレッドシートに勝手に記録されちゃいます!)
このページ(URL)をホーム画面に登録したりブックマークに登録したり、メモ帳にURLを貼り付けたりして、開くたびに開いた日時をGoogleスプレッドシートに記録します。なおスマートフォンで開いたらタブは閉じておいたほうが安全かもしれないです。誤って記録されないためにも。
以上です!
うまくデータが溜まったら履歴結果をここに記載します。更新がなかったらきっとどこかで記録漏れが生じて履歴として価値がなくなってやる気が無くなってしまったのだと思います…!
参考:本当はここまでやりたかった
今はサービスが終了してしまったAmazon Dash Button、それがAWS IoTボタンとしてAmazonから販売されているが、AWSとの契約が必要だったりひと手間必要だったり。
Alexaかgoogle homeかなにかに連携するボタンがあればよいのだが見つけられなかったので今回の方法を取りました。スマホのロックを解除して今回の場合はホームボタンのアイコンをタップする。よりも本当は栽培場においてあるボタンを押すにしたかった!今後機会があれば検討してみます。
もっと楽な方法
LED栽培や室内温室栽培等の場合は、ケージ内の湿度が潅水することによって一気に上がります。湿度パラメーターで潅水履歴管理はできるように思えます。あとはデジタル水分計などのセンサーを小型のIoT機器(Raspberry Pi)などでモニタリングもできそうです。