Raspberry Pi を使って植物に自動的に水をやる方法

02/19 2016
Raspberry Pi を使って植物に自動的に水をやる方法

古いじょうろを掘り出して庭をいじるのが至福だと考える人もいるかもしれないが、それはとても 21 世紀的ではない。さらに、別のハッキング プロジェクトに費やせる時間を考えてみましょう。

この Raspberry Pi プロジェクトでは、天気予報サービスとポンプに接続されたアドオン ボードにリンクされた Raspberry Pi を使用して、植物への水やり全体を自動化します。

必要になるだろう

  • Raspberry Pi A+ B+ または Pi 2
  • 最新のRaspbian OS
  • Piface リレー プラス
  • 12Vペリスタティックポンプ
  • 12v 1A 電源
  • バレルジャックからネジ端子へ
  • 水族館航空会社
  • はんだ付けスキル
  • Wi-Fiドングル
  • Weathermap.orgアカウントを開く
  • すべてのコードはここからダウンロードできます

まず、ポンプの端子に接続をはんだ付けすることから始めます。これらはホットグルーガンまたは熱収縮で固定できます。バレル ジャックのネジ端子にさらに多くのワイヤを使用し、どちらがプラス (+) とマイナス (-) であるかをメモしておく必要があります。

Piface Relay Plus でリレー 3 を見つけ、電源の GND (-) を COM 端子とポンプ接続の 1 つに挿入します。NO (ノーマルオープン) 端子を見つけて、残りの両方のワイヤを挿入します。次に、Piface Relay Plus ボードを Raspberry Pi に接続し、デスクトップを起動する必要があります。

Piface ボード用のソフトウェアをインストールし、Python 3 で openweathermap を使用するには、Xターミナルを開いて次のように入力します。

$ sudo apt-get update && sudo apt-get install python3-pifacerelayplus

$ sudo pip-3.2 インストール pyowm

プログラミング メニューから Python 3 IDLE を開き、新しいファイルを作成します。プロジェクトを garden_manager.py として保存します。

i mport pifacerelayplus, time, pyowmを使用して Piface、pyowm、time ライブラリをインポートすることでコードを開始します。

次に、key という変数を作成し、http://openweathermap.org から API キーを保存します。

ここで 2 つの関数を作成する必要があります。最初の関数は、Piface に接続されたポンプを制御します。この関数はポンプと呼ばれており、引数を 1 つ取ります。庭に水をやる時間です。

Raspberry Pi を使って植物に自動的に水をやる方法

変数pfrを使用して、リレーを使用する関数呼び出しを短縮します。次に、現在の状態に応じてリレーのオンとオフを切り替えます。次に、 time.sleep() を使用して一時停止し、水が流れるようにしてから、リレーをオフに切り替えます。

2 番目の関数は、今後 24 時間の天気予報を取得します。これには、現在地と予測する日数という 2 つの引数が必要です。次に、openweathermap API キーを保存する変数を作成し、さらに 2 つの変数に予測関数の出力が含まれます。

Raspberry Pi を使って植物に自動的に水をやる方法

for ループを使用して予測データを反復処理します。この機能は、複数日間の天気を予測する場合に真価を発揮します。

Raspberry Pi を使って植物に自動的に水をやる方法

最後に、関数は if…else ステートメントを使用して予測を確認します。雨が予想されない場合、この情報は、pump() 関数を呼び出す前にシェルに出力されます。雨が予想される場合、この情報はシェルに出力され、24 時間待ってから再度確認されます。

Raspberry Pi を使って植物に自動的に水をやる方法

最後に、今後 24 時間にわたって Blackpool の Forecast() 関数を呼び出すループを作成する必要があります。もちろん、住んでいる場所に場所を変更することもできます。

Raspberry Pi を使って植物に自動的に水をやる方法

いつものように、この時点でコードを保存し、「実行」>「モジュールの実行」をクリックしてテストします。テストの場合は、 time.sleep() の継続時間を大幅に短くすることが賢明です。

高電圧での作業

このプロジェクトでは、ポンプに電力を供給するために 12V 電源を使用しましたが、なぜリレーを使用する必要があるのか​​疑問に思われるかもしれません。Raspberry Pi は 5V を超える電圧に耐えられず、それ以上の電圧を使用すると GPIO または Raspberry Pi 自体が損傷する危険があります。

Raspberry Pi を使って植物に自動的に水をやる方法

リレーは、Raspberry Pi に接続された回路によってトリガーされる磁気スイッチです。この回路は 5V 耐性があり、作動すると磁石が有効になり、リレー内のスイッチが閉じます。

Raspberry Pi と高電圧回路の間には接続がないため、高電圧を安全に制御できます。

4 つのリレーが付属する Piface Relay Plus ボードを使用しました。あるいは、ブレッドボード上でリレーを使用することもできますが、安全上の理由から、ボード上の最大電圧 12V のみを使用することをお勧めします。それ以上の電圧を使用するには、より堅牢なソリューションが必要になります。

リレーだけが唯一の解決策ではなく、トランジスタを使用して高電圧を制御することもできます。トランジスタは、高電圧回路を絶縁しますが、低電力回路によって制御されるという点でリレーと同様に機能します。リレーとトランジスタはどちらも高電圧プロジェクトを制御する低コストの方法です。

回路について不明な点がある場合は、電源を投入する前に知識のある人に尋ねてください。