LoginSignup
1
1

Arduino CloudでガーデニングIoT -自動灌水その1-

Posted at

自動灌水

最終的には、土壌・植物・季節に応じて量と頻度を調節する自動灌水のシステムを作り、スマホで植物の状態を確認できるシステムを作りたい。まずは、土壌の水分量をセンシングする部分をESPr® DeveloperとArduino Cloudを用いて作成した。

準備物(¥4000程度)

手持ちのArduinoを活用しようと思ったが、Wi-Fi対応でなかったため、廉価版Arduinoとして利用できるESPr® Developerを購入。土壌水分センサーはAmazonで売っているセンサーを買った。また、下記を参考に、ESPr® DeveloperにはGeneric ESP8266 Moduleをインストールしておいた。

Arduino Cloud

とりあえず土壌水分センサーの出力をそのままアナログ入力に繋いでみて、Arduino Cloudと繋げる。

名称未設定のノート-4.jpg

基本的に以下の記事を参考に進めれば問題なく接続できる。

ただし、deviceの登録時には"Third party device"を選択する。

スクリーンショット 2024-03-30 23.30.17.png

セットアップでのクラウド変数とスケッチについては以下の通り設定して、USBに接続した。"cloudMoisture"は既にセットアップで定義しているので、スケッチでは型指定しない。スケッチを書き込んだらESPr® DeveloperをPCに繋ぐ必要はなく、Wi-Fi経由で状態を確認したり、ダッシュボードの設定を行うことができる。
※macでは、Safariで書き込みができず、Chromeでは書き込むことができた。

スクリーンショット 2024-03-30 23.57.38.png

#include "thingProperties.h"

void setup() {
  Serial.begin(115200);

  delay(1500); 

  initProperties();

  ArduinoCloud.begin(ArduinoIoTPreferredConnection);
  
  setDebugMessageLevel(2);
  ArduinoCloud.printDebugInfo();
}

void loop() {
  ArduinoCloud.update();  
  cloudMoisture = analogRead(A0);
}

次に、ダッシュボードの設定を行う。"Chart"を選び、"Linked Variable"に先ほど設定したクラウド変数"cloudMoisture"を紐付ける。すると、入力を時系列データとして表示することができ、無料のFreeプランでは過去1日間のデータを表示することができる。csv形式でダウンロードすることも可能。

スクリーンショット 2024-03-31 22.46.56.png

今回使用したボードとセンサーでは入出力の範囲が噛み合わず、とりあえず抵抗分圧でアナログ入力の電圧を1/3にした。次はこのセンサーを入力に繋ぐ最適な方法を探していく。

参考

https://sample.msr-r.net/esp8266-setting/
https://cloud.arduino.cc/
https://qiita.com/macole/items/ba3fcbcc5945423984ac

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1