我买了泥土和香菜种子,打算种点香菜吃,就想起是不是可以弄个自动灌溉,所以就弄了土壤水分检测。。。

因为手上本来就有esp8266,所以就直接用这个了。

我参考的是这篇文章,他用的是ESP12和8266还不一样,他加了电阻,但是我发现8266好像不需要,然后8266也有3.3v的供电,挺方便的。

原料

声明:原料全部为自费购买,没有推广!

组装

组装很简单

传感器GND --- 8266的G
传感器VCC --- 8266的3v
传感器AUOT --- 8266的A0

代码

sensor:

  - platform: adc
    unit_of_measurement: "%"
    icon: "mdi:flower-outline"
    accuracy_decimals: 0
    pin: A0
    filters:
      - lambda: |-
          if (x > 0.68) {
            return 0;
          } else if (x < 0.29) {
            return 100;
          } else {
            return (0.68-x) / (0.68-0.29) * 100.0;
          }
    name: "Soil Sensor"
    update_interval: 60s

因为厂家没有给数据,所以我们只能自己测试,我这里是只测试了百分之0和百分之100的时候。它这个是检测湿度,湿度越高电压越低。

如何测试电压

其实只要把代码改动一下

filters:
      - lambda: |-
            return x;
    name: "Soil Sensor"
    update_interval: 30s

这样我们直接return x就是直接返回电压,然后就可以在日志里看到电压了,我们记录直接把它插入水里(湿度百分百),和在空气中干燥的时候(湿度百分之0),记录两个电压把上面的代码的两个数字改成我们记录的就行了。

当然你可以更加复杂的统计,但是我没有这个条件,只能测试0和100。

图片.png

1651396035981.jpg

node-red自动化

其实打算弄个小水泵,湿度降低到一定的程度自动放水,但是懒了。。。以后再说吧,目前我用node-red做了个通知而已。
图片.png

图片.png

图片.png

图片.png

{    "message": "该浇水了",    "title": "该浇水了"        }
最后修改:2022 年 05 月 01 日
感谢您的支持