家庭菜園ロガーの製作:稼働記録

 グラフの上にある表示は tenki.jp による名古屋のその日の天気と最高/最低気温です。

2024/03/31〜2024/04/06

 電源電圧は 3.56 V 程度まで下がっていたところから、3/31〜4/2の3日間で 4.10V 程度まで上がった。電圧は外気温依存性があって、気温が高いほど電圧が高くなる傾向があるが、夜明け前(午前5時ごろ)で気温が一番低い時の電圧を比べても、3.56→3.72→3.85 と上がっている。日中の充電はうまく機能している。4/3の雨で土壌水分の値が変化した。

2024/04/07〜2024/04/13

 4/11〜4/12 は気象台では「曇」だが、当地では少し雲が切れて日差しがあった。直射日光が当たらない日は、電池の電圧が上がるほどの充電はできていない。消費電流程度の充電はできているかもしれない。

2024/04/14〜2024/04/20

 4/16は当地では夜遅くに雨が降った。4/17の明け方には止んで、少し日差しがあった。

2024/04/21〜2024/04/27

 この週は天気が悪くて、電源電圧がだいぶ下がってしまった。4/28 は晴れそうなので、どこまで復活するか。

2024/04/28〜2024/05/04

 電源電圧は復帰した。ちゃんと充電はできている。土壌水分計を5/3に畑からプランターに移行し、5/4のお昼前にプランター内の場所を確定して記録を開始した。赤い方が横長のプランターで、青い方が丸プランター。長プランターの方は、けっこう土の表面がカラカラになっている。

2024/05/05〜2024/05/11

 5/5の朝にプランターに水をあげた。水分計は420〜550から一気に320〜350に下がった。その後、5/7の午前中に雨がプランターに降り込み、さらに土が濡れた状態になった。5/8〜5/11は日中の気温が比較的高く、水分計の数値は徐々に上がっていった(乾いていった)。ただ、直射日光が当たるのは午前中に限定されており、日光が当たらなくなると数値が下がることがわかる。プランターの下の方から水分が拡散して上がってくる、ということかな?

 5/11時点で、目視ではプランター表面は乾いている様子だけど、水分計の表示ではかなり湿っていることがわかる。この気温だと、完全に灌水してから4日程度では乾燥状態にはならないことになる。なお、プランターに植えたミニトマトの成長点は、まったく萎れていなかった。土の表面が乾燥しても、慌てて水をあげなくてもよさそう。

2024/05/12〜2024/05/18

 5/13に電源電圧が低下したため、5/14に電池を交換。3/24からずっと同じ電池で運用していたので、51日間持ったことになる。

 5/12の午後に雨が降って、少しプランターにも降り込んだ。5/15〜5/16の雨は少量で、降り込みはなかった。5/18の9:00頃に灌水。長プランターは約2L、丸プランターは約1L。「プランター表面に水が溜まる」よりも前に止めたので、前回 (5/5) に灌水したときほど水分計の値は下がっていない。

2024/05/19〜2024/05/25

 5/20〜5/25にかけて、次第にプランターの水分が失われていく様子が観測された。5/25に灌水。今回は土の表面に少し水が溜まるところまで加えた。

2024/05/26〜2024/06/01

 いろいろとトラブルが発生。5/27の深夜に突然データ送信がストップした。5/30の朝に気づいて対処した。電池を交換すると回復したが、直前に電源電圧の低下は見られなかったので、何か別の要因があったのかもしれない。ちなみに、電池を交換した時、触ると熱く感じるほど電池が発熱していた。

 水分計2の動作がおかしい。ノイズが大きくなり、6/1 の昼ごろから明らかに異常値を検出するようになった。

2024/06/02〜2024/06/08

 6/2 の 8:00 ごろに灌水(液体肥料入り)。その後、11:00 ごろに水分計2を交換。正常に値が出るようになった。

 動作停止が 6/3 と 6/6 の2回起きた。直前の動作に異常が見られず、外部要因との相関もない。電池の性能低下が原因かも。これまでの運用では、3本のニッケル水素電池を2組用意して交互に使っている。3本直列の全電圧が低下して動作停止した時に、過放電になった電池があるのかもしれない。

2024/06/09〜2024/06/15

 動作が安定しない。6/9 も途中で停止して、電池を一度交換した。6/11 にまた停止した後、夜に自動復帰したが、電圧が大きく下がっており、最後に急激に電圧降下して動作停止した。

 動作停止中に何が起きているのか、データを取れるようにしたい。また、ラズピコのプログラムを見直したところ、WiFi接続ができなかった時の自動スリープ時に、WiFi電源を ON にしたままディープスリープするようになっている。動作停止中に電圧が降下するのはこのせいかも。行儀が良くない挙動なので、改善したい。

2024/06/16〜2024/06/22

 相変わらず動作が安定しない。ポストができない間、メッセージを内部ストレージに書き込んで、ポストできるようになったら送信するようにプログラムを書き換えてみた。6/17 に停止した後のログを見ると、「WiFiに接続できない」という事象が1回だけ起きており、その後何が起きているのかは依然として不明。

 ただ、6/18に電池を交換して再起動すると、その後は停止していない。6/19の7時ごろにプランターに灌水した後、6/22にはかなり乾いた状態になっている。ミニトマトが成長してきたので、水の減りが早くなっている。6/22には、液肥を加えて灌水した。

2024/06/23〜2024/06/29

 相変わらず動作が安定しない。6/28の停止は電圧低下によるものだが、6/24はわからない。どうも深夜に動作停止することが多い。6/27に再開したが、「接続できない」ログのポストは無かった。

2024/06/30〜2024/07/06

 相変わらず動作が安定しない。対応する時間がなかったので放置中。

2024/07/07〜2024/07/13

 7/7は気温40℃超え! それでも動作は継続しているので、ラズパイの熱暴走の線は薄くなった。そもそも、動作停止しているのは夜間が多いしな。

 7/14にようやく検証する時間がとれた。一部スクリプトの不具合で、接続できなかった時の処理中に、メモリ不足エラーを起こすことがあるとわかった。特に、urequests.get() で得たオブジェクトが生き残っていると、メモリ不足を起こしやすい。なるべくこまめに del して、gc.collect() でメモリを明示的に回収するようにした。しばらく様子を見る。

2024/07/14〜2024/07/20

 まだ不安定。途中で止まってしまうのは、「正常に WiFi 接続できなかった時に、いつもと違う作業をやろうとして、スクリプトエラーで停止してしまう」ためだとわかってきた。問題を起こしそうな部分を try...except で囲んで、スクリプトエラーで止まらないように対策が必要。

 7/21に検証して、ENOMEM の他に、ECONNABORTED というエラーも発生しうることがわかった。これは urequests.get() の中で起きると思われるので、urequests.get() の呼び出しを try...except で囲んで対処する。しばらく様子を見る。