其他的节点几乎都跑在ESPEASY上

 楼道对讲     |      2018-07-19 15:36

  想给入户门换个指纹锁的念头已经不止动了一次,不过如果光换入户门锁而不解决楼道锁无钥匙开启的话,身上还是需要带把钥匙,而钥匙这东西,只要带了,一把,两把,三把就并没有什么区别。所以指纹锁的事也就一直搁置着,不过前些日子从绿米Aqara试用那获得了一把指纹锁,所以楼道门无钥匙开启这事,不得不解决了,以内领导发话了,你要是不解决楼道门钥匙的问题,你别相装什么指纹锁。

  其实很多新建小区已经具备了手机开锁,甚至可以远程查看楼道门摄像头的功能,还有一些即使没有这样的远程功能,也可以通过密码开门,再有的也是有IC卡开门的功能的,IC卡就算不能复制,也是可以塞在手机壳里随身带的不是,但是可惜的是,楼主家的楼道门禁是10多年前的装备了,以上所有这一切都与楼主无关,不过前些日子去了周边其他一个小区,人家小区物业还是居委给楼道门装了一个微信扫一扫开门的玩意,大致是用微信扫描门口二维码,然后输入户号,业主那就能收到条请求开锁的微信,然后就可以选择开不开锁,不过这玩意的意义似乎不大,要么是家里门禁对讲坏了,不然站在楼道口不按门铃,还拿手机微信扫一扫……。要是说楼主不在家,那进了楼道也没用不是,除非业主自己也装了个可以远程下发临时钥匙的指纹锁,闲话不多说,先来看下楼主家的楼道对讲长啥样:

  一共就六个按钮,没有数字键盘,所以什么系统通用密码啥的就想也不用想了。所以只能自己动手来做改造了,其实比较简单的方法是在楼道门这边改造,因为有单键开锁的按钮,只要从开锁键这边引两根线出来,装个继电器,然后手机控制继电器就能完成开锁,但是毕竟是公共区域,就算是改装没问题,不影响安全,但是邻居看到了总会有些意见吧,就算现时不说,回头要是楼里发生啥入室盗窃什么的,也会觉得是你装的乱七八糟什么玩意导致的。邻里关系还是很重要的,特别是将来真不带钥匙了,系统又坏了的时候,还是需要人家帮你开门的是不?所以接着把目光放到了房内,房内的对讲系统是这样的:

  请大家忽略由于地区不均匀沉降造成的墙面裂痕,这事告诉我们新房一定不要急着装修,等它沉个1-2年稳定了再装修会比较好,当然,这条规则仅适用于上海这样的冲击平原,并且离海只要2,3公里的地方。还是说回到楼道对讲,此款对讲机型号为WRT-PX,上网查了下介绍如下:

  第一反应是这玩意应该带电,只要电压在5-12V之间,那么就可以往里面塞个arduino或ESP8266外加继电器实现自动或远程开锁。不过经过测量发现,只有3.分级报警控制线V的电压,但是当有负载接入的线V,完全不可用。难不成我还要单独从配电箱里接根电源线过来?那样做的话先不说丑,工程听上去就很浩大,不是花个1,2个小时就能解决的,而只要工作时长超过2小时的事,楼主就会无限拖延……例如众测报告……难不成就这么放弃了?不行,让我们再来看看对讲机位置:

  从图中可以看到,在门禁对讲机相隔2cm的地方,就有一个控制玄关灯的智能开关,而这个开关是Jones设计制作的基于ESP8285 MCU的单火WIFI开关。并且已经被我刷成了ESPEASY,一直看我文章的值友可能会知道,楼主家的智能家居系统,除了小米外,其他的节点几乎都跑在ESPEASY上,可以说万物基于ESPEASY。于是查了下文档,发现这个单开开关相对于二开,三开的开关额外多出了一个GPIO4的引脚可供用户使用,然后再和Jones确定了开关电路板上的3.3V引脚在正常工作时候是有电源输出的之后,就决定直接使用这个开关内的ESP8285作为门禁的开锁芯片,思路和电路如下:

  其实电路非常简单,这里要着重讲的是,因为单开只有一个引出的GPIO04,但是要实现先接通对讲,再按开锁键,需要有两路继电器,所以,这里额外使用了刷机使用的一个RX引脚,这里不使用TX引脚是因为RX和TX属于硬串口,系统默认是高电平输出,而TX引脚还具有Debug的功能,即使系统内将Debug关掉,TX引脚仍然会时不时输出一些信息,这时可能就会将继电器触发,而RX引脚则相对干净一些,比较容易控制。

  其实就是一个模拟人来接听,并按下开锁键的过程……,而通过反复实验,发现这个开锁键接通时间短了不行,长了也不行,0.2秒是一个非常稳当的数字,0.18和0.25就是开不了锁,所以之前自己开锁的时候,发现经常开不了锁……电路图和逻辑出来以后,就是动手干了,首先是从开关引四根线出来:

  接着就是把继电器给装上,因为一头公,一头母的杜邦线手上没有,所以自己给接了几根,红色为+,绿色为-,棕色的是信号线,其实信号线最好也是分两种颜色,不过这个接线在外面,就不讲究了,错了交换下就成。这样接好了之后先不急着把对讲机装回,我们就先这样裸着去测试下功能:

  这样当系统接收到unlock的命令时,就会按我们设想的操作去执行模拟摘机,解锁的步骤。当然,因为这里面的GPIO03是RX接口,每次开发板重启的时候,RX都会被设定为高电平,所以,我们在rules里面还要加上一段:

  其实是非常容易做到按下门铃,门自动开锁的,但是由于这样会造成不管你家里有人没人,只要谁按了家里门铃,楼道门都会开,安全性上还是有所顾虑的,所以目前设定是必须连入家里WIFI以后,再发送开锁指令才能开锁。当然,如果你在楼道口连不上家里WIFI的话,可以用DDNS和端口映射来实现这一操作,不过记得想周全些,安全性还是第一的。当然,有值友可能会问,每次开锁要输命令不麻烦么。其实无论是安卓还是苹果,都可以将网页快捷方式发送到桌面,到时开锁你只要像打开APP一样点一下桌面上的图标就行啦: