本帖最后由 louis_lee 于 2020-10-25 23:10 编辑
1.缘起
坐在马桶上忽然灯灭了,坐着干会活突然陷入黑暗,感觉现有PIR人体传感器基本都会陷入这种尴尬场景。一直苦思冥想,想找到一个合适的判断是否有人的感应装置,无奈人体存在感应器价格太贵,也不知道效果是否理想。后来忽然发现论坛大佬@neroxps的神贴https://bbs.hassbian.com/thread-6185-1-1.html,惊叹一声牛B。无奈电路啥的硬件纯小白,用红外对管看起来安装比较麻烦;用VL53L0X传感器,还涉及到I2C啥的,不是很懂,也懒得重头学,只得作罢。
2.硬件
2.1传感器
某天淘宝中闲逛,发现一个简单的神器,光电反射开关,感觉瞬间解决了我的问。简单好用,学习成本低,而且不用对射,省去安装的麻烦。另外,可以安装在桌下等地方,看不见,也就不妨碍装修风格。当然啦,前提是房间门附件有个桌子或是其他可以隐蔽安装的家具。
大概是长这样的:
原理非常简单易懂,当反射距离大于/小于阈值时(通过螺丝调节)时,输出高/低电平。通过两个光电反射二元传感器的时间差,可以判断进/出房间,如同上述帖子提到的一样。
2.2接线
根据选用的开发板不同,引脚有差异,以我购买的ESP32S node-mcu开发板来说,如图(灵魂接线图哈哈)
另外电源我就选用了3米长的microUSB联到桌下的插线板上
3.esphome刷写固件
大佬用的我都不会用,只能用esphome这种简单的刷固件方式喽
esphome:
name: 随便起个名吧
platform: ESP32
board: nodemcu-32s
wifi:
ssid: "你的WiFi名"
password: "你的WiFi密码"
# Enable fallback hotspot (captive portal) in case wifi connection fails
ap:
ssid: "Esphome 32 Fallback Hotspot"
password: "zrSLkHpn8Ufd"
captive_portal:
# Enable Home Assistant API
api:
password: "自定义一个密码"
ota:
password: "自定义一个密码"
binary_sensor:
- platform: gpio
pin:
number: GPIO22
mode: INPUT_PULLUP
inverted: True
name: throughs_sensor_1
- platform: gpio
pin:
number: GPIO18
mode: INPUT_PULLUP
inverted: True
4.home assistant集成
利用HA 的自带集成工具就可以把传感器集成到HA上,自动化建议在node-red上做,我觉得用neroxps大佬的那个就行。但这个传感器不能识别距离比较近的两个人,比如说你和你老婆抱着就走进来了
所以建议加些逻辑,比如说联合其它传感器一起使用,利用其它传感器进行纠错。还可以加些重置计数的逻辑,比如说所有人离开家就重置计数等等,我觉得还是可以提高传感器的准确率的。
|