自動化された庭
コンポーネントと消耗品
> ![]() |
| × | 1 | |||
![]() |
| × | 1 | |||
![]() |
| × | 1 | |||
![]() |
| × | 1 | |||
| × | 1 | ||||
![]() |
| × | 1 | |||
![]() |
| × | 1 | |||
| × | 1 | ||||
| × | 1 | ||||
![]() |
| × | 1 | |||
| × | 1 |
アプリとオンラインサービス
> ![]() |
| |||
![]() |
| |||
| ||||
| ||||
![]() |
|
このプロジェクトについて
<図>

これは私の自動化された庭を使用する2番目のプロジェクトですが、今回はすべてがCayenneによって制御されるため、はるかに簡単になります。また、タイムラプスビデオを作成するためにRaspberryPiを追加しました。
Arduinoのセットアップ <図>









私たちの庭を監視するために、私は役立つことができるいくつかのデバイスを使用しました。始める前に、イーサネットシールドをArduinoに接続することを忘れないでください。
接続
土壌水分: 植物に水が必要かどうかを確認します。
- VCC:5v
- GND:GND
- A0:A1
ファン:私 熱くなると、アクティブになるか、新鮮な空気を与えるだけです。
- 1本のワイヤが抵抗からピン3に接続されます。ファンのGNDはトランジスタの中央のピンに接続されます。
- ファンの+はリレー(中央のピン)に行きます。トランジスタの最後のピンはGNDに行きます。
- ダイオードはトランジスタの中央のピンとGNDに接続されます。
ウォーターポンプ: 土壌水分で活性化します。
- +はリレーの中央に移動し、GNDは電源のGNDに移動します。
フォトレジスター(オプション): この部分では、部屋に十分な光があるかどうかを測定できます。
- 一部はA0に接続され、抵抗はアースに接続されています。
- もう1つは5Vです。
- アノード(+)はリレーに接続されます。もう1つは電源のGNDです。
ライト:
- アノード(+)はリレーに接続されます。もう1つは電源のGNDです。
湿度/温度センサー: このデバイスをCayenneで正しく動作させるには、いくつかのコードが必要です。
- VCC:3.3V
- GND:GND
- DAT:デジタルピン8
水位センサー:
- VCC:5V
- GND:GND
- SIG:A2
最終取り付け <図>


フリッツィングにはまだ4チャンネルリレーがないため、図では2リレーを使用しました。リレーには12V電源を1つだけ使用しました。プラス線とマイナス線を分離し、プラス線から3本の線をはんだ付けしてリレーの各部を接続しました。すべてが同時にオンになるわけではないので、1つで十分です。
Arduinoリレーに5V電源を使用しました:
- VCC:5V
- GND:GND
- IN1:PIN2ライトをアクティブにします
- IN2:PIN5ウォーターポンプを作動させます
- IN3:なしIN4
- PiN4:FANをアクティブにします
カイエンのセットアップ
ここでは、非常に簡単なカイエンの構成方法を見ていきます。
- 最初にここでアカウントを作成します。
- 次に、Rj45ケーブルが接続されたイーサネットシールドが必要です。
- カイエンに接続し、ハム/温度センサーを構成するためのコードは次のとおりです。
このコードは w5100シールドで機能します コードは、他のイーサネット/ WiFiシールド用のカイエンで入手できます。また、トークンを追加することを忘れないでください アカウントを作成すると取得できます。
#include "DHT.h" //#define CAYENNE_DEBUG //コメントを外してデバッグメッセージを表示#defineCAYENNE_PRINT Serial //これをコメントアウトして、印刷を無効にし、スペースを節約します#include
# define DHTPIN 8 //接続するデジタルピン#defineDHTTYPE DHT22 // DHT 22(AM2302)、AM2321
#define VIRT_TEMP V1#define VIRT_HUM V2
//カイエン認証トークン。これは、カイエンダッシュボードから取得する必要があります。chartoken[] ="your toker";
DHT dht(DHTPIN、DHTTYPE); unsigned long prev_DHT_refresh、interval_DHT_refresh =1000;
void setup(){Serial.begin(9600); Cayenne.begin(token);
dht.begin();} void loop(){Cayenne.run();
getDhtValues();
}
void getDhtValues(){unsigned long now =millis(); if(now --prev_DHT_refresh> interval_DHT_refresh){//温度または湿度の読み取りには約250ミリ秒かかります! //センサーの読み取り値も最大2秒古い場合があります '古い'(非常に遅いセンサー)float h =dht.readHumidity(); //温度を摂氏(デフォルト)として読み取りますfloat t =dht.readTemperature(); //読み取りが失敗したかどうかを確認しますif(!isnan(h)&&!isnan(t)){Cayenne.virtualWrite(VIRT_HUM、h); Cayenne.celsiusWrite(VIRT_TEMP、t); } prev_DHT_refresh =now; }}
カイエンのデバイス <図>







Arduinoはほぼ完成です。今では簡単な部分です。 Cayenneにすべてのデバイスを追加します。
デバイスの追加->カスタムウィジェット
好きなウィジェットの種類を選択してください。湿度と水位のチャートを使用しました。それ以外の場合は値を使用しました。湿度および温度センサーには、仮想ピンを使用します:
- 温度:Vpin1
- 湿度:VPin2
他のデバイスの場合、仮想ピンを選択する代わりに、ピンリンクを使用してアナログを使用します。同じ手順ですが、今回はアクチュエータで、ライト/ファン/ウォーターポンプのリレーに接続されているArduinoのピンを選択します。
イベントとトリガー <図>








ダッシュボードができたので、トリガーを設定します:
- ウォーターポンプ: これにより、検出された土壌水分が乾燥しすぎたときにポンプがオンになります。 2つのトリガーを使用したことに注意してください。1つはウォーターポンプを開始するためのもので、もう1つはそれを停止するためのものです。
- 水位: 値が高い場合は、水が不足していることを意味します。ここに、アラートを送信するメールが届きます。
- イベント: 私は4つのイベントを設定しました。1つは朝にライトを開始し、もう1つは夕方にライトを停止し、2つはファンのオン/オフに使用します。
RaspberryPiをセットアップする <図>




植物の成長のタイムラプスをしましょう。
3ソフトウェア:
- ラズビアン
- SDカードにイメージを書き込むためのWin32diskimager
- Raspberryにリモートで接続するためのパテ WIn32ディスクイメージャ:
ダウンロード後、インストールしてください。開く:
1.「デバイス」が表示されます。通常、デフォルトが適切です(SDカードのみが接続されている場合)
2.青いアイコンフォルダをクリックして、ダウンロードしたRaspbianJessieイメージを選択します
3. [書き込み]をクリックすると、完了です。これで、カードをラズベリーに挿入できます。
パテ: SSH経由で接続し、Puttyを開くことができます(インストールする必要はありません)。
- インターネットケーブルをラズベリーに接続します
- Raspberry 2のIPを簡単に見つける必要があります:
- ボックスインターフェースに接続すると、IPを使用してデバイスを確認できます
- タッチスクリーンとキーボードを接続し、ターミナルに移動してから
ifconfig。
ここで、PuttyにIPアドレスを入力します。 192.168.0.3のようになり、入力します。
- 信頼するように求められます。[はい]をクリックします(画像)。
- ログイン:
pi
、パスワード:raspberry
。後でここに戻る側の窓を残します。
Raspberryを実行しているので、いくつかの更新が必要です。Puttyのコピーにコマンドを貼り付けます。
sudo apt-get updatedsudo apt-get upgrade
VNC:
RaspberryインストールVNCをリモコンに接続する画面がない場合。
sudo apt-get installtightvncserver
サーバーの起動が終了したら:
vncserver:1
そして、コンピュータにvncviewerをダウンロードして、接続するにはIPとサーバーの番号を入力します。この192.168.0.3:1のようになります
カイエン: カイエンでラズベリーのリモートコントロールを行うことができます。インストールするだけです:
wget https://cayenne.mydevices.com/dl/rpi_03wl1tt4nt.shsudo bash rpi_03wl1tt4nt.sh -v
タイムラプス <図>


最後のステップ!これで、カメラがパテまたはターミナルペーストでこれを実行できるようになります:
sudo raspi-config
次に、カメラを有効にします。写真を保存するフォルダを作成する必要があります:
cd / home / pi / Desktopmkdirタイムラプス
Webカメラを接続した後、1時間ごとに写真を撮るスクリプトを作成します。
cd / home / pi / Desktop nano timelapse.sh
これを貼り付けます:
SAVEDIR =/ home / pi / Desktop / timelapse / while [true]; do filename =-$(date -u + "%d%m%Y_%H%M-%S")。jpg / opt / vc / bin / raspistill -o $ SAVEDIR / $ filenamesleep 3600; done;
>
そして、スクリプトが実行可能であることを確認するには:
chmod + x timelapse.sh
結論 <図>



チュートリアルは長かったですが、非常に簡単で、プラットフォームに接続して構成するデバイスはほとんどありません。写真には大きな混乱があります。ワイヤーを長すぎました。植物の成長が終わったら、タイムラプスの結果を投稿します。
アドバイス:
イーサネットシールドは、DHCP障害のエラーを受け取る可能性があります。接続しようとしたとき、Arduinoフォーラムで解決策を見つけました。読者を困らせるために、ランダムな場所に2つの100オームの抵抗をはんだ付けする必要があります。
コード
- コードスニペット#1
- コードスニペット#9
コードスニペット#1 Arduino
#include "DHT.h"
//#define CAYENNE_DEBUG //コメントを外してデバッグメッセージを表示
#define CAYENNE_PRINT Serial //これをコメントアウトして、印刷を無効にし、スペースを節約します#include#define DHTPIN 8 //接続しているデジタルピン#defineDHTTYPE DHT22 // DHT 22(AM2302)、AM2321
#define VIRT_TEMP V1#define VIRT_HUM V2
//カイエン認証トークン。これは、カイエンダッシュボードから取得する必要があります。chartoken[] ="your toker";
DHT dht(DHTPIN、DHTTYPE); unsigned long prev_DHT_refresh、interval_DHT_refresh =1000;
void setup(){Serial.begin(9600); Cayenne.begin(token);
dht.begin();}
void loop(){Cayenne.run();
getDhtValues();
}
void getDhtValues(){unsigned long now =millis(); if(now --prev_DHT_refresh> interval_DHT_refresh){//温度または湿度の読み取りには約250ミリ秒かかります! //センサーの読み取り値も最大2秒古い場合があります '古い'(非常に遅いセンサー)float h =dht.readHumidity(); //温度を摂氏(デフォルト)として読み取りますfloat t =dht.readTemperature();
//読み取りが失敗したかどうかを確認しますif(!isnan(h)&&!isnan(t)){Cayenne。 virtualWrite(VIRT_HUM、h); Cayenne.celsiusWrite(VIRT_TEMP、t); } prev_DHT_refresh =now; }}
コードスニペット#9 SH
SAVEDIR =/ home / pi / Desktop / timelapse / while [true]; do filename =-$(date -u + "%d%m%Y_%H%M-%S")。jpg / opt / vc / bin / raspistill -o $ SAVEDIR / $ filenamesleep 3600; done;>
製造プロセス