【完成例】Raspberry Piで環境モニターを作る方法 | 水耕栽培を監視

ラズパイ

水耕栽培向けの環境モニターをRaspberry Pi を使って作る方法を紹介します。

家庭用の水耕栽培キット(iDOO など)は手軽で便利ですが、

  • 室温・湿度は適切か
  • 水位が下がっていないか
  • 栽培環境が安定しているか

を 常に目で確認するのは意外と大変 です。

そこで本記事では、

  • Raspberry Pi
  • Grove 温湿度センサー(DHT20)
  • 赤外線距離センサー(GP2Y0E03)

を使って、iDOO 水耕栽培キットを常時監視できる環境モニター を構築する完成例を紹介します。

スポンサーリンク
スポンサーリンク

はじめに

水耕栽培でサニーレタスを栽培しているのですが、出張が多いため外からも様子が分かるようにしたい思い、休みの期間を利用して作成しました。

水耕栽培で「監視すべきポイント」

iDOO などの水耕栽培キットでは、以下の管理が重要だと感じています。

項目理由
室温成長速度・病害リスクに直結
湿度カビ・蒸れ防止
水位ポンプ空回り・根腐れ防止
環境変化留守中・夜間の異常検知

👉 環境モニター化することで「放置でも安心」な栽培環境 を作れます。

水耕栽培向け環境モニターの全体構成

赤枠部分がセンサーとラズパイ

現在は配線を施して、センサーをベタで付けています。こちらは今後、しっかりと固定する予定です。

システム構成

本システムは、Raspberry Pi を中心に以下の 3種類の情報 を5分ごとに取得・保存・表示する水耕栽培向け環境モニターです。

種類内容使用技術
室内環境温度・湿度Grove DHT20(I2C)
水位タンク内の水量GP2Y0E03(I2C距離センサ)
外気情報気温・湿度・天気OpenWeatherMap API
表示WebダッシュボードFlask + HTML
通知メール通知Yahoo SMTP

Raspberry Pi 単体で
「計測 → 保存 → 可視化 → 通知」
までを自動で行う構成になっています。

構成図

構成図

温湿度センサー(DHT20)と赤外線距離センサー(GP2Y0E03)はともにI2C通信になります。

取得したデータはcsvログ保存、グラフ表示で可視化しています。

データ、グラフをFlaskで表示。

メール機能を追加して値を定期的に送る機能を実装。

使用部品一覧(iDOO監視用)

必須部品

商品画像 商品名 特徴 Amazon 楽天
iDOO 水耕栽培キット 画像なし iDOO 水耕栽培キット 野菜栽培用キット。今回の監視対象 Amazon 楽天
Raspberry Pi 4 画像なし Raspberry Pi 4 中央制御 Amazon 楽天
microSDカード(32GB以上) 画像なし microSDカード(32GB以上) OS・ログ保存 Amazon 楽天
Grove 温湿度センサー(DHT20) 画像なし Grove 温湿度センサー(DHT20) 栽培環境監視 Amazon 楽天
赤外線距離センサー GP2Y0E03 画像なし 赤外線距離センサー GP2Y0E03 水位検知 Amazon 楽天
iDOO 水耕栽培キット 画像なし

iDOO 水耕栽培キット

野菜栽培用キット。今回の監視対象

Raspberry Pi 4 画像なし

Raspberry Pi 4

中央制御

microSDカード(32GB以上) 画像なし

microSDカード(32GB以上)

OS・ログ保存

Grove 温湿度センサー(DHT20) 画像なし

Grove 温湿度センサー(DHT20)

栽培環境監視

赤外線距離センサー GP2Y0E03 画像なし

赤外線距離センサー GP2Y0E03

水位検知

※総額3万円以内で始められます。

メール通知内容

メール通知内容

メール通知内容の一例です。

なぜこのセンサー構成なのか?

Grove 温湿度センサー(DHT20)

  • 水耕栽培に十分な精度
  • I2C通信で安定
  • 湿度変化を正確に検知
  • 結露・蒸れ対策に有効

用途

  • 葉物野菜の適温管理
  • 夏場・冬場の環境チェック

SeeedStudio Grove 温湿度センサーV2.0(DHT20)

今回使用する温湿度センサーです。千石電商の方が安い場合もありますので、そちらもご参照下さい。

赤外線距離センサー GP2Y0E03(=水位検知)

  • ミリ単位で距離測定
  • 水面までの距離を測ることで 水位を間接的に監視
  • 超音波より水面反射の影響が少ない

用途

  • 給水タイミングの判断
  • 水切れ防止
  • ポンプ保護

水耕栽培との相性が良いセンサーです。

GP2Y0E03 赤外線測距センサモジュール

今回使用する赤外線センサーです。千石電商の方が安い場合もありますので、そちらもご参照下さい。

ソフトウェア構成(運用イメージ)

プロジェクト構成

weather_app/
│ app.py
│ .env(APIキーなど)
└── templates/
    └── index.html
└── static/
    └── favicon.ico

ソースコードはGithubに公開しています。ご参照下さい。以下は、プログラムの解説です。

.envの中身

OPENWEATHER_API_KEY=***

# ===== Mail (Yahoo) =====
MAIL_ENABLED=1
MAIL_HOST=***
MAIL_FROM=***
MAIL_APP_PASSWORD=***
MAIL_TO=***

# メールの配信間隔
MAIL_INTERVAL_SEC=***

# (任意)アラーム閾値:水耕栽培の環境に合わせて調整
ALARM_TEMP_WARN_C=***
ALARM_TEMP_CRIT_C=***
ALARM_HUM_WARN_PCT=***
ALARM_HUM_CRIT_PCT=***

「***」を任意の値を設定して下さい。

app.py の役割と処理の流れ

app.pyこのシステムの心臓部です。
Flask を使った Web アプリでありながら、裏側では定期的なセンサ取得も行っています。

処理の流れ(5分周期)

  1. センサ値取得
    • DHT20:室内温度・湿度
    • GP2Y0E03:水位(距離mm)
    • OpenWeatherMap:外気情報
  2. データ保存
    • メモリ(グラフ表示用)
    • CSVファイル(ログ保存用)
  3. 状態判定
    • 温度・湿度・水位をしきい値と比較
    • OK / WARNING / CRITICAL を判定
  4. Web画面更新
    • Flask + HTML(index.html)で表示
  5. メール通知
    • 15分ごとに状態を Yahoo メールで送信

この流れを バックグラウンドスレッドで自動実行しているため、Web画面を開いていなくても計測・通知は継続します。

index.html(表示画面)の仕組み

index.htmlRaspberry Pi 内蔵のWeb画面です。
PCやスマホのブラウザからアクセスできます。

表示される内容

  • 天気(OpenWeatherMap)
  • 室内温湿度(DHT20)
  • 水位(GP2Y0E03)
  • 状態(OK / WARNING / CRITICAL)
  • 過去ログのグラフ(最大48時間)

グラフ表示のポイント

  • Chart.js を使用
  • 5分間隔でデータをプロット
  • 警告水位・危険水位は 水平線 で表示
  • データ欠損があってもグラフが崩れない設計

水位グラフでは「線が上に行くほど空に近づく」 ため、危険が視覚的にすぐ分かります。

よくあるトラブルと対策(水耕栽培視点)

❌ 水位が正しく取れない

  • センサー設置位置が不安定
  • 水面の揺れ

タンク上部に固定し、平均値で判定するのがおすすめです。

❌ 温湿度が高すぎる

  • 風通し不足
  • 夏場の室温上昇

異常値で ファン制御・通知 へ拡張可能です。

応用・拡張アイデア(水耕栽培特化)

  • 水位低下で LINE / Discord 通知
  • 一定水位以下で水やり
  • 栽培ログを週単位で保存
  • 成長データと環境の相関分析

家庭用水耕栽培を一段レベルアップできます。今後は上記にも挑戦していく予定です。

まとめ:iDOO水耕栽培キット監視に最適な構成

  • 温湿度+水位を同時監視
  • 配線が簡単(I2C)
  • Raspberry Pi で拡張自在
  • 放置栽培でも安心

「水耕栽培 × IoT」入門として最適な構成です。あくまでも監視だけなので、給水や液体肥料は自分で行う必要があります。このあたりは今後改善していきたいと思います。

タイトルとURLをコピーしました