ウェブサイトでラズベリーパイ自動植物散水
水分センサーを読み取り、必要に応じて水をまくことで、観葉植物を自動的に処理するようにPiを設定します。
ストーリー
- 私には植物を殺すのが好きです。
- オランダの人々は、屋内で物事を非常にうまく育てています。
屋内で物事がどれだけうまく育つかについて読んだ後、私はおそらく自動化が健康な植物への私の道だと思い始めました。そこで、私は最低限のものを作ることにしました–植物、ポンプ、そして水センサーを手に入れましょう。水センサーが「ここに水がありません」と表示したら、ポンプを使用してそこに水を入れます。
また、RPi GPIOと対話するための言い訳として、すべてをRaspberryPiで実行することにしました。
マテリアル:
- Raspberry Pi 3
- 土壌水分センサー
- フレキシブルウォーターライン
- 5Vリレー
- 3-6Vミニマイクロ水中ポンプ
- TOLI120pcsマルチカラーデュポンワイヤー
- 5v電源(任意のUSBケーブル+ USBウォールチャージャー
配線:
私が最初にしたことは、USBケーブルから5V電源を作ることでした。古いiphoneケーブルを使って、iphone側を切り取り、赤と黒のワイヤーを取り出しました。これに頑丈なワイヤーをはんだ付けし、ACアダプターに接続しました。電圧計で確認すると、5Vの出力が得られました。
RPi配線:
ポンプ–ポンプを電源に接続し、リレーモジュール1のスロットBとCの間に黒いアース線を配線します(RPiが0vのLOW信号をピン1に送信すると、回路がポンプをオンにします。
この図は、Raspberry Pi 3を使用している限り、正しいGPIOをキャプチャする必要があります。RPiへの別の電源は示されていません。
ハードウェアのセットアップ:
配線が完了したら、フレキシブルホースをポンプに取り付け(私は電気テープを使用しました)、水瓶に落とします。ホースのもう一方の端を植物に取り付けます。
次に、すべての電源を接続します(そして、Raspberry Piがこのようなオペレーティングシステムのバージョンを実行していることを確認します)。
ソフトウェア
注:上記のとおりに配線を取得した場合、次のセクションのコードは変更なしで機能します。この設定には2つの部分があります。 1つのファイルはすべてのGPIOと回路ロジックを制御し、もう1つのファイルはローカルWebサーバーを実行します。
- water.py
- auto_water.py
- web_plants.py
- main.html
GPIOスクリプト
GPIOを制御するためのコードから始めましょう。これには、次のようにRaspberryPiにインストールできるRPi.GPIOpythonライブラリが必要です。
$> python3.4 -m pip install RPi.GPIO
これをインストールすると、ここにあるwater.pyスクリプトを使用できるようになります。次のようにインタラクティブなPythonセッションを実行することで、これが正しく機能していることをテストできます。
$> python3.4>>> import water>>> water.get_status()>>> water.pump_on()これにより、センサーが濡れているか乾いているか(get_status())に関するステートメントが出力され、 1秒間ポンプします。これらが期待どおりに機能する場合は、良好な状態です。
この時点で、水センサーを調整することもできます。植物の状態が正しくない場合は、湿った土壌にあるセンサーの小さなネジ(ポテンショメーター)を2番目のライトが点灯するまで回してみてください。
フラスコウェブサーバー
このプロジェクトの次の側面は、Webサーバーをセットアップすることです。このコードは、web_plants.pyというファイルにあります。このPythonスクリプトは、上記のスクリプトからさまざまなアクションを有効にするWebサーバーを実行します。
$> python3.4 -mpipインストールフラスコ$> python3.4 -mpipインストールpsutil
$> sudo python3.4 web_plants.pyこれで、RPiのIPアドレスに移動すると、次のようなWebダッシュボードが表示されます。
ボタンをクリックして、すべてが期待どおりに機能することを確認してください。もしそうなら、あなたはレースに出かけます。これが私がフラスコ+ GPIOで従ったもう1つの素晴らしいチュートリアルです
ウェブサイトを自動的に実行する
最後に、RPiがオンになったときにWebサイトを自動的に開始する必要があります。これは、ウェブサイトをスタートアップコマンドとして登録するcronjobと呼ばれるツールを使用して実行できます。
これを行うには、次のように入力します:
$> sudo crontab -e
@reboot cd
これで、piを再起動すると、サーバーが自動的に起動するはずです。
詳細を読む:ウェブサイトでラズベリーパイ自動植物散水
製造プロセス