跟CT一起玩转全屋智能 篇五:人来灯亮,人停灯更亮的智能灯光联动
创作立场声明:为了给大家带来更多更实用的智能家居技巧干货分享,特别新开专栏“跟CT一起玩转全屋智能”,希望大家多多支持。
哈喽,艾瑞巴蒂。我是你们的智能家居领路人CT。这次我给大家带来的内容是与灯光有关的,其实我相信所有的智能家居玩家,实现的第一个联动就是通过人体传感器/门与灯光实现的自动化。而在我翻新装修的伊始,我就确定了家里的厨卫阳台灯光要实现完全的自动化,也就是可以不依靠开关,来实现灯光的开启关闭,以及不同场景下自动切换不同的灯光效果。甚至在厨房和客卫干区,我都没有预留固定位的物理开关。而今天要带给大家的就是卫生间干区的灯光自动化,首先让我们看下我这块区域的平面图:
如图中红色部分所示,这块区域主要是洗漱用的,同时也是通往客卫湿区的一条通道,平时也是比较暗的,即使白天走过还是需要亮个灯。在最早灯光设计的时候,我就向设计师提出了主过道不需要射灯,只需要灯槽的想法:
最后的灯光布置图如下:
而最后呈现的效果是这样的:
效果是不是还不错的样子(大家忽略台面下面的下水和电线,正常视角是看不到的),但是如果按照原先设想人走过的时候只开灯带是这样的效果:
瞬间就没有啥感觉了,但是如果仅仅是走过灯就全亮未免也太土豪了,一点都不符合国家节能减排的号召。所以我在最基础的灯槽光之上,把灯槽亮度调低到50%,然后把镜灯和台盆灯带亮度也调整到50%,这样效果基本还在,同时也兼顾了能耗问题。
这部分的自动化非常简单,就是小白上手实例第一例,人来灯亮,人走灯灭,因为我全屋用的是Yeelight pro,所以这里用了颗Yeelight的P20人在传感器来实现这一功能:
这颗人在传感器除了基础的PIR人体感应外,还额外增加了微波雷达来判断人体存在情况,不过比较可惜的是,凡是动的物体都会被认作是人,所以除了干区之外,我只在厨房用。
经过过道的灯光自动化解决了,但是这里不仅仅是过道,上完厕所洗个手暗点就暗点了,但是小朋友的洗漱,一些衣服手洗都在这块区域,所以如果仅仅是一个50%亮度的氛围光是明显不够的,真正需要时还是要把台盆上方的两个射灯打开,这里就出现了一个问题,如何让系统知道我要洗漱。这里我就想到了利用距离传感器来实现这一功能:
如图所示,我在台盆下方安置一个距离传感器,然后当有人靠近台盆时,就会使得距离传感器的读书发生变化。从而让系统判断出有人在台盆前,自动将干区的所有灯光调亮至100%。不过这里有两个问题,一是没有现成的可接入系统的距离传感器,二是如果人还是走过,只是比较靠近台盆位置,就会引发误触。但这些对我并不是什么难事,没有现成产品,我们就DIY一个:
这里我使用的是SHARP 2Y0A21红外距离传感器,这枚距离传感器在小便斗上非常常见,其精度不高,但是体积小巧,价格便宜。虽然不是数字传感器,不能直接输出距离信息,只能输出模拟电平,但是也足够我们使用了,毕竟TOF的激光测距传感器一枚可以买它3,4枚。而超声波体积又有些大。而MCU则依旧是ESP系列,10块钱一个,没啥说的。两个加起来也就30元。两个的接线也非常容易:
一共就三根线,从左往右是A0,GND,5V就可以了。接着就是刷ESPEASY了,当然,像ESPHOME之类的固件理论上都行,不过我ESPEASY熟,就不给自己找麻烦了,不过相对于ESPHOME,ESPEASY接入HA还需要手动配置,而esphome则是可以自动发现,这个还是等我空了研究好了再跟大家说,毕竟先跑起来才是最重要的,ESPEASY大家可以直接在github上下载,下载完了直接刷编译好的包就好:
这里推荐的是normal_ESP8266_4M1M的版本,切记不要刷带后缀有VCC的。等刷完之后,根据提示重启D1 MIN,这时我们就能在蓝色窗口看到设备的IP地址了:
打开WEB后选择devices:
我们添加一个Analog input - internal的设备,设置如下:
然后再添加一个Switch input的设备:
最后添加一个Generic - Dummy Device的设备
最后我们看到的device页面如下,其中analog的数值就是距离数值,我们这里不用去深究它究竟是多远,只要知道它数值越大,距离越远,数值越小,距离越近。
然后我们去TOOLS页面,选择Advanced,打开rules:
刷新下页面,然后就可以看到Rules标签,进去后填入下方的rule,其中400是阈值,请根据实际情况进行调整:
这里我写的比较复杂,主要是为了解决文章开头的第二个问题的,如何让路过状态不触发。我这里加了个判断,例如我这里设定的阈值是400,当数值小于400的时候就判断台盆柜前有人,而检测有人之后我设定了一个1秒的计时器和一个变量,一秒后再次检测数值是不是小于400,如果是,那就打开我们设定的PIR SWITCH,向系统发送有人的指令,然后系统据此进行自动化联动,而当检测数值大于400,也就是台盆柜前没人时,我这里设置了一个10秒的冷冻时间,10秒之后系统再次检测无人的话,就把PIR SWITCH关掉。
当然,仅仅这样是不够的的,我们还要将状态发送系统,所以我们还要在Controllers添加mqtt服务器:
基本上就是把mqtt broker的信息填一下。然后别忘了去devices里把PIR的Send to Controller勾上
至此,我们就完成了ESP端的设置,接着就是设置HA了,在configuration.yaml的binary_sensor:下加上:
其中SHARP_IR是ESP的名字,一定要与ESP上的设置相同,包括后面的PIR/State就是我们之前设定的switch的名字和状态名。然后我们找个合适的位置把传感器装上:
当然,这里的传感器和线同样在正常视角是无法被看到的。
最后在HA里做对应的自动化就可以了,这里还是最基础的人来灯亮,人走灯灭的小白级别联动。当然,如果想连米家的话,可以魔改小米的门窗传感器将其接入。最后发个视频来展示下成果:
小不点吃鱼
校验提示文案
恐仙僧
校验提示文案
值友8578404341
校验提示文案
值友8578404341
校验提示文案
恐仙僧
校验提示文案
小不点吃鱼
校验提示文案