Raspberry Pi Pico W で自動ガーデニング システムを構築する

Raspberry Pi Pico W で自動ガーデニング システムを構築する

緑の親指とある程度の忍耐力があれば、屋内にエキゾチックな植物がいくつかある場合でも、ジャガイモや多年草のある本格的な屋外ガーデンがある場合でも、ガーデニングは素敵な趣味です。

そうは言っても、まったく正当な理由がないように思われる理由で植物が枯れ始めたときに、忍耐力が尽きる場合もあります。

Raspberry Pi Pico W は、植物が指一本動かさずに (ほぼ) 確実に繁栄するようにするためのソリューションを提供するのに役立ちます。

植物モニター、いくつかのコード、および小さなマイクロコントローラーを使用して、家のどこからでも植物の健康状態を追跡する方法を確認しましょう。

必要なハードウェア

驚くべきことに、必要なハードウェアはそれほど多くありません。Plant Monitorには多くの魔法が含まれています。開始するには、いくつかのアイテムが必要です。

このプラント モニタはワニ口クリップの使用をサポートしていますが、このプロジェクトでは、プラント モニタリング デバイスの背面に取り付けられたピン コネクタを使用します。

ガーデニング アシスタントの設定

このプロジェクトでは、プラント モニターを Raspberry Pi Pico W に接続し、コードを作成して操作してすべてを機能させます。自宅のインターネット接続内でアクセスできる単純な Web ページを提供するには、Web サーバーが必要です。

Raspberry Pi Pico にはさまざまなモデル バージョンがあります。このプロジェクトでは、Raspberry Pi Pico W を使用する必要があります。Pico W の機能については、Pico W とは何か、何ができるかについてのガイドをご覧ください。

まず、プラント モニタが接続され、正常に動作していることを確認しましょう。この記事の後半では、ホーム ネットワークに接続された任意のブラウザ対応デバイスを使用して工場を監視するために使用する単純な Web サーバーのセットアップに取り組みます。

プラントモニターの準備

さまざまなインターネット サイトから多くのセンサーを購入できるため、土壌センサーの中には、土壌中で簡単に摩耗するものもあれば、風雨にかなり耐えるものもあることがわかります。Monk Makes Plant Monitor は、土壌で腐食しにくいため、優れたオプションです。このモニターは、土壌の水分を測定するだけでなく、湿度と温度も測定します。

マイクロコントローラーに接続された土壌中の植物モニター

プラント モニターから Raspberry Pi Pico W に接続する必要があるのは、4 つのピンだけです。

  • GNDはGNDに行きます
  • 3V は 3V3 Out に接続します
  • RX_IN は GP0 への道を見つける
  • TX_OUT は GP1 と合流します

電源に接続すると、Raspberry Pi Pico W はそれ自体とプラント モニターに電力を供給できるようになります。デバイスが正常に動作していることを確認するハードウェアのライトがいくつかあることに気付くでしょう。また、緑色、黄色、または赤色に光る LED ライトもあります (土壌で検出された水分のレベルによって異なります)。

Monk Makes Plant Monitor にはいくつかの優れた Python モジュールが付属していますが、植物の土壌の状態を監視するには、簡単なコードを作成する必要があります。MUO GitHub リポジトリから次の python ファイルを取得できます。

土壌センシング部分にはpmon.pytest.pyが必要です。Python ファイルのmicrodot.pymm_wlan.pypico_w_server.pyは、後で単純な Web サーバーを完成させるために使用されます。

まだ行っていない場合は、MicroPython と Python の微妙な違いを確認してリフレッシュする絶好の機会です。

Python ファイルpmon.pyは、プラント モニター用の MicroPython クラスを作成します。UART は二重データ転送を処理し、アナログからデジタルへの変換も必要です。また、このファイルでは、 wetnesstemp、およびHumid関数も定義されていることに気付くでしょう。

   def get_wetness(self):
        return int(self.request_property("w"))

    def get_temp(self):
        return float(self.request_property("t"))

    def get_humidity(self):
        return float(self.request_property("h"))

    def led_off(self):
        self.uart.write("l")

    def led_on(self):
        self.uart.write("L")

次に、MUO GitHub リポジトリから取得したtest.pyファイルが必要になります。

モジュールtime 、 pmon ( PlantMonitorから) 、およびmachineが、プラントの状態を適切に監視するために必要であることがわかります。

PlantMonitorモジュールがインポートされているため、土壌の状態を監視するために必要なのは単純な while ループだけです。また、印刷コマンドは、 Thonnyで test.pyを実行した後、土壌水分、温度、および湿度の読み取り値を出力します。

time.sleep(2) # PlantMonitor startup time
pm = PlantMonitor()

while True:
    w = pm.get_wetness()
    t = pm.get_temp()
    h = pm.get_humidity()
    print("Wetness: {0} Temp: {1} Humidity: {2}".format(w, t, h))
    time.sleep(1)

土が乾きすぎていると、植物に水をやりたくないですか?ポンプ リレーを Raspberry Pi Pico のピンに割り当て、if ステートメントを使用して湿り値 (100 のうち) を監視し、リレーを介してウォーター ポンプをトリガーして、水を再びオンにして分配します。

relay1 = Pin(15, Pin.OUT) #relay is wired up to GP15 and GND

if w = 24 # watch for a wetness value of 24/100


relay1.value(1) # turn on the relay
    relay1(0) # turn off the relay

植物が受け取る水の量に満足していることを確認するための完璧なバランスを見つけるために、いくつかのテストを行う必要があります. プラントが寒すぎる場合は、別の if ステートメントを追加して、リレーを介して加熱ランプをオンにすることもできます。

単純な Web サーバー

Raspberry Pi Pico W が土壌統計を自宅のインターネット接続にブロードキャストするには、MUO GitHub リポジトリから 3 つの Python ファイルが必要です。

  • microdot.py
  • mm_wlan.py
  • pico_w_server.py

microdotファイルはバックエンド機能を処理して、この単純な HTTP ベースの Web サーバーを作成し、Raspberry Pi Pico W の IP アドレスを使用して呼び出すことができる html ベースの Web ページとして Python コード出力を表示します。

mm_wlan.pyファイルは、ワイヤレス ネットワークに接続する簡単な方法を提供しますRaspberry Pi Pico の IP アドレスと接続メッセージを受け取ります。接続に失敗した場合は、代わりに接続失敗メッセージが表示されます。

pico_w_server.pyファイルは、SSID (Raspberry Pi Pico W は 2.4GHz SSID にのみ接続することに注意してください) と Wi-Fi パスワードを入力する場所ですHTML セクション内で、Web サーバーが Web ブラウザーに表示する内容をカスタマイズできます。Web ページを 1 秒ごとに更新したくない場合は、更新セクションからコメントを削除し、間隔を微調整することもできます。

このファイルの一番下で、ポートをカスタマイズすることもできます。これは、この情報を自宅の外でインターネットに公開したい場合に便利です。

test.pyファイルを実行すると、必要なサーバー python ファイル ( mm_wlanおよびpico_w_server ) がインポートされます。test.pyファイルを実行した後、Pi の場合は IP アドレスを取得し (Thonny の出力にある)、同じ 2.4GHz SSID に接続されている Web ブラウザーから使用したポート (デフォルトは 80) を追加します。自宅で。次のように表示されます。

土壌統計を表示する単純な html ページ

接続された PC の依存性を減らすために、test.pyファイルをmain.pyに変更し、Raspberry Pi Pico W に保存します。LCD を Pico に接続して、ディスプレイを出力するようにプログラムすることも検討してください。 IP アドレス (接続している PC の依存関係を削除する場合)。

緑の親指を取り戻せ

洗練された土壌センサーとシンプルな Web サーバーを使用して、家のどこにいても Web ブラウザーから植物の健康状態を監視できるようになりました。

必要に応じてコードを微調整してください。準備ができている場合は、セットアップした単純な Web サーバーに洗練を加える土壌センシング アプリの作成を検討してください。

このプロジェクトが完成したと感じるには、ポンプとリレーを追加し、ヒート ランプを追加すると、完全に自動化された庭ができあがります。これで、「緑色の親指」ステータスを永久に維持できるようになります。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です