淘宝买一个霍尔水流传感器 10几20几都有 原理是有一个小叶轮,水流过的时候轮子转动,霍尔传感器感应到,会输出高低电平信号。
每升水会输出几百个高低电平信号。
我买的长这样,具体自己搜索吧,我就不给链接了
我使用的是esp32,理论上esp8266也可以。
传感器有三个pin,红色接esp32的3.3v,黄色接一个可以输入的gpio,我使用的是gpio5,黑色接esp32的GND。
以上接线就接好了,水路自己连接。
esp32刷esphome ,关于esphome怎么刷,论坛有很多教程
https://bbs.hassbian.com/forum.p ... p;highlight=esphome
网页版耍不成的可以用这个达人的工具包
https://bbs.hassbian.com/forum.p ... p;highlight=esphome
我的配置文件如下
esphome:
name: esphome32
platform: ESP32
board: nodemcu-32s
wifi:
ssid: "myap"
password: "mypass"
# Enable logging
logger:
# Enable Home Assistant API
#api:
# password: 'esphome'
ota:
password: 'esppass'
web_server:
port: 80
mqtt:
broker: xxx.mqtt.com
username: admin
password: admin
sensor:
- platform: pulse_counter
pin: 5
name: "Water Speed"
id: water
unit_of_measurement: 'L/Min'
update_interval: 10s #上报时间间隔
filters:
- multiply: 0.001818182 #一升水550个脉冲
- platform: total_daily_energy
name: "Daily Water use"
power_id: water
unit_of_measurement: 'L'
filters:
- multiply: 60
time:
- platform: sntp
id: my_time
我用了两个,一个是pulse_counter代表水流速度,ID是water,一个是total_daily_energy 依靠水流速度积分得到每日用水量,引用id water
目前用水量每天8点清零,应该需要设置一下时区
我同时启用了mqtt,这样可以远程读数据
如果远程的话在HA里面加入如下配置
- platform: mqtt
name: "水流速度"
state_topic: "esphome32/sensor/water_speed/state"
unit_of_measurement: 'L/分钟'
- platform: mqtt
name: "今日水量"
state_topic: "esphome32/sensor/daily_water_use/state"
unit_of_measurement: 'L'
最后看成果
因为我是远程用的,所以没有用集成里面的esphome
|