序
我买了泥土和香菜种子,打算种点香菜吃,就想起是不是可以弄个自动灌溉,所以就弄了土壤水分检测。。。
因为手上本来就有esp8266,所以就直接用这个了。
我参考的是这篇文章,他用的是ESP12和8266还不一样,他加了电阻,但是我发现8266好像不需要,然后8266也有3.3v的供电,挺方便的。
原料
声明:原料全部为自费购买,没有推广!
- esp8266,烧录esphome固件,这个固件是挺好用的,具体的烧录方法就不赘述了,网上很多。
- 电容式土壤湿度传感器模块
- 杜邦线
组装
组装很简单
传感器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。
node-red自动化
其实打算弄个小水泵,湿度降低到一定的程度自动放水,但是懒了。。。以后再说吧,目前我用node-red做了个通知而已。
{ "message": "该浇水了", "title": "该浇水了" }
1 条评论
esphome 請需要燒綠代碼嗎?