仕事机に置いた植物を枯らさないように監視システムを作った。
前に会社の同僚が「スペースに植物があると、ストレス、空気浄化、生産性に役立つよ!How Office Plants Lower Stress and Boost Focus | Bloomscape」って言ってたので仕事机に植物を置いてみた。
無印で卓上に置くのに良さそうな植物を買ってきたんだけどなんどか植物を枯らしてしまったことがあるのでちょっとドキドキしてた。
で、ドキドキしてると生産性が悪くなっちゃうし、まぁエンジニアだしまずはちゃんと数値取るところから始めようと思ってご家庭に転がっている M5Stack に色々センサーつけて監視することにした。
機材一覧
計測
これで温湿度気圧、二酸化炭素量、土壌水分量を計測できるようになった。SGP30が計測出来る二酸化炭素は正確じゃないというかまぁ概算なんだけどお手軽にはかるには良いのでのそままで。
本当は給水ポンプ付きのユニットもあったのでそれを使おうか悩んだんだけど、給水用の水貯めておくと猫が飲んじゃうので諦めた。
コーディング
今回は頑張ってUIをすこしちゃんとした。だいたいM5Stack触るときは何も気にせず M5.Lcd.println
で黒い画面に細かい白い文字を出すだけだったんだけどそれだと動作確認したら満足しちゃってなかなか完成させなかった。
なので今回はセンサー類が順次届くまでに仮の数字で先に画面だけ作っておくようしてみた。まぁ、結局デザイン力ないので黒字に緑でターミナルっぽくするくらいしかできないんだけど比較的頑張ったと褒めたい。
少なくとも「ちゃんと完成させよう」という気持ちにはなれて完成できた。
温度と湿度取れるので計算して不快指数も出すようにした。
データの可視化
最初は Amazon Timestream に送って Amazon Managed Service for Grafana で表示させようと思ってたんだけどざっと試算したら月に1500円位かかりそうだった(Managed Grafana が一人で趣味で使うには高い)
で、まぁよく使われているのは Ambient だと思うんだけど今回は IIJ がやってる Machinist に送ることにした。
M5Stackの画面には出していないけど気圧も送るようにした。
良かったこと
植物のためにって思ったんだけど植物に快適なように温度とか湿度とか調整すると当たり前だけど人間にもまぁ快適なので良い。