很久没更新博客了,最近发生了很多事情,又经常加班,断更是不会断更的,博客会一直更新下去。
本篇文章介绍如何使用最便宜的ESP01
+ SR501
人体红外传感器,接入HomeAssistant ,实现APP/Siri 控制、识别。成本不到10块钱 = =、
SR501 就是下面图片这种,带透镜,可以多方位180度感应。
这种传感器是5V
供电,输出3.3V
高电平,它有两种触发模式:
- 1、当检测到有人活动时,会持续输出高电平,等延时时间一结束就变为低电平,(楼梯电灯就是这个模式);
- 2、当检测到有人活动时,会输出高电平,在延时时间段内,如果有人体在其感应范围活动,将一直保持高电平输出,直到人体离开检测范围,才输出低电平。感应模块检测到人体的每一次活动后会自动顺延一个延时时间段,并且以最后一次活动的时间为延时时间的起始点,(电梯的红外感应就是这种模式)
这里需要使用第2种模式,原理是:通过ESP 监测模块输出引脚,当有高电平时(即有人活动时),触发相应动作,比如控制一个电灯开启。有的朋友搞这个模块的时候会遇到频繁触发的问题,其实就是选错了模式。
话不多说,上代码:
上面程序用到自动化模板控件Template
,它的作用在于触发红外传感器时,能够自动将继电器打开 ,延时一段时间后自动关闭,如果光使用relay
,是达不到自动关闭的效果的。
目前只测试了下自动延时的效果,其实还可以改成if_else
、while
和wait_until
的触发模式,也就是说,不需延时,只要检测到人体就一直保持触发状态,让继电器一直闭合(这里需要将红外模块设置成连续触发模式)
这个可以用于卫生间、起床小夜灯的场景,当检测到人体活动时,一直保持触发状态,让灯一直开着。
下面以if_else
代码为例:
(注:这段代码我没有测试验证,写得比较匆忙,待验证 = =)
最后提个醒,红外模块最低供电电压是5v
,3.3V
是带不动的,ESP01需要3.3V
供电,所以转换一下电压才能接上去。
接入HA的图忘了截,回头补上
版权属于:编码书生
本文链接:https://codess.cc/archives/383.html
所有原创文章采用知识共享署名-非商业性使用 4.0 国际许可协议进行许可。
除特别注明,您可以自由的转载和修改,但请务必注明文章来源且不可用于商业目的。
![]()
学习学习看看
没有延时的红外感应吗?如果人不动的话呢
学习
学习一下
学习学习
am312感觉也可以
膜拜大佬
顶顶,膜拜大佬
看看
向大佬学习
顶顶,膜拜大佬
跟大佬学习
小白来学习的
kkkkkk
来学习一下大佬文章,不知道505能不能用
学习学习
顶顶,膜拜大佬
不错,感谢分享。学习
看看诶
顺着esp开关过来接着看看。(ฅ´ω`ฅ)
顺着esp开关过来接着看看。(ฅ´ω`ฅ)
我想看看是怎么接入homekit的 现在我接上了ha
找了很久了,谢谢
好东西啊
不错
看看
正是须要的
没有接线图吗
这个要学习一下
非常好的代码
感谢楼主分享
感谢楼主分享
这个是好东西
看看学习一下
谢谢分享
谢谢分享
哇哦~这个还是可以来瞅瞅的
我想看看
2
感谢楼主分享
不错。
我又来向楼主学习了OωO
7篇文章学完,马上采购硬件,准备开干,谢谢了
斯蒂芬斯蒂芬斯
楼主厉害,学习学习
学习学习
UP主,真牛,参考一下,正好手上有这个~
不错 试了 可以用
牛逼
我看代码先
我的是5v给人体红外供电。3.3v给esp-01供电。然后人体红外output接esp-01的gpio0。esphome的代码如下
binary_sensor:
- platform: gpio
pin: GPIO0
name: "PIR Sensor"
device_class: motion
不稳定。有时过几分钟自动触发一次然后毫秒级的变成未触发。然后有时,未触发和触发毫米级的来回切换。不知是什么原因。
可以了,是我的失误。应该是给人体红外供电的5v模块出的问题。换了个5v的模块,就可以了。测试挺灵敏。还未长时间测试。
我的没接继电器。而是通过Homeassistant的自动化和其他设备联动。目前是联动灯泡,比较灵敏,希望会稳定。因为不稳定的话,灯就打开了,白白浪费电了。当然可以通过其他联动来避免,比如,只是晚上18:00-23:00之间联动,如果检测到人不在家,然后再关上灯泡。
共地没有?5V的 GND 和3.3V 的GND 需要连一起的,最好是通过一个大电阻(比如1M或10M)连接在一起,防止出现未共地而出现的干扰
现在不知哪里出了问题。我做了两个,第一个还算稳定,测试一晚上,有次误报。第二个同样的接线方式,同样的代码,接上就是触发,然后就一直触发。用万用表量了人体红外的输出,没有电压输出了,HA还是显示触发。给人体红外和esp01供电的电压测试都正常,人体红外和Esp01又换了新的,结果也是如此,甚至给esp01的gpio2接了个下拉电阻,HA还是显示一直触发。
不好意思,网络不稳定,点了一次,以为没法过去,又点了重新发送。刷新,发了两遍。上面是给gpio0接了下拉电阻。
现在不知哪里出了问题。我做了两个,第一个还算稳定,测试一晚上,有次误报。第二个同样的接线方式,同样的代码,接上就是触发,然后就一直触发。用万用表量了人体红外的输出,没有电压输出了,HA还是显示触发。给人体红外和esp01供电的电压测试都正常,人体红外和Esp01又换了新的,结果也是如此,甚至给esp01的gpio2接了个下拉电阻,HA还是显示一直触发。
博主给个接线图呗,SR501好像接3.3v串口也能收到信号
哥们,能不能分享一下SR501和ESP01的接线
给博主提个建议,就是最好画一个如何接线的图。
谢谢建议,我抽空把线路连接图补上
甚至会出现这个奇怪的地方。我把人体模块去掉,直接用万用表量esp-01的gnd和gpio0,它之间是一直有3.3v电压的。
膜拜
来了
看看隐藏内容
如何注册!
过来学习
正好需要
蛮好玩的。
看看
谢谢拉每半年
wo zhiqian huifuguo l
不错进阶了!
感谢
学习一下
99999999
前来学习,多谢分享
想学习一下,感谢分享!
就是来看看
学习学习OωO
谢谢分享
谢谢分享
感谢感谢!!正需要学习
thanks
谢谢分享。。。
学习学习
谢谢博主,希望继续更新
学习学习
OωO
学习学习
大
打卡学习
学习一下
哈哈看看
学习学习
参照官网吗?esphome yaml文件
学习学习
谢谢老板!
学习一下
感谢分享
111
学习学习一下
学习学习一下
学习一下
学习
感谢博主 |´・ω・)ノ
感谢楼主分享
评论学习|´・ω・)ノ
学习
222
11111
学习
学习学习
来了,来了,谢谢分享
又翻到这篇文章了,帮助很大,谢谢
学习学习
学习了
主的不少博文,含金量好高啊!
123
学习12
谢谢分享
KK
哈哈看看
学习
哈哈看看
OωO 我要看代码
可以可以ヾ(≧∇≦*)ゝ
我就是来看看行不行
大佬,esp系列不是3.3V供电吗?5V供电
红外传感器是5V,ESP是3.3,仔细看文章
我的意思是模块是5V供电
文章里我用的是ESP8266-01 (即ESP01) 模块,这个模块是3.3V供电的,你买的可能是带USB下载的ESP8266-12F系列,那个是可以5V供电
另外这个模块的电平信号是3.29V的,在某一些模块上,岂不是要用到电平转换
是的,跟一些传感器搭配使用时,需要转换电平。ASM1117-3.3 + ESP01 的成本不到ESP8266-12F的一半,也是我选择使用这个模块的原因
我用的是ESP32,功能强大,双核。而且自带一个蓝牙,我的项目既需要用到蓝牙,也需要用到smartconfig
你这是做网关吧,WiFi + 蓝牙 + Zigbee ?
不是网关啊,smartconfig,只是为了方便模块一键联网。或许api提供的某些信息。蓝牙则是控制硬件的改变。比如说改变灯带的颜色。
谢谢分享
这个是人体传感器接入HA不通过小米网关的吗
不需要小米网关
终于更新了,才看到
测试
感谢楼主的分享,受益匪浅
支持作者
感谢楼主的分享,受益匪浅
博主的不少博文,含金量好高啊!
哈哈,大佬见笑了,只是随便写点教程,经常因为忙而断更
看你的不少博文,似乎你对智能家居和物联挺感兴趣,路子走的也挺正。
本身是从事嵌入式行业的,所以对这一块比较感兴趣,也比较喜欢动手
博主的不少博文,含金量好高啊!
厉害了
膜拜大佬啊
感谢分享。。。。。。。学习中
进来看看是不是esphome接入
感谢分享。。。。。。。。
有一款am312的人体感应器是3.3供电
终于更新了,才看到
哈哈看看