本文作者:立创开源硬件平台 OSHWHub 用户@Aknice,禁止商用,未经许可禁止转载,点击查看原文章
1、工程描述
一个基于ESP32的物联网门禁系统。开门动作通过舵机控制,ESP32发出PWM信号对舵机进行开门动作。
使用安全和可靠性申明
对于任何电子的东西,都是具有不可靠性。
亲测可以在无人为干预,即不人为重启电源,按下硬件Reset键或插拔电池等,稳定运行1个月,但强烈建议保留机械锁,在机械锁基础上再加装电子锁,并且把钥匙备份。
一则故事:
以前有个新闻说有一家人突发大火,并且屋里停电,然而他的家里前阵子刚换的电子锁,还是纯电子锁,没有机械开锁,还是用AC电才能开的,竟然不内置电池!然后门就打不开了,一家人因为电子锁失效导致无法逃生。
设计特点
2、基于Blinker联网,在外也可以远程控制
3、支持指纹开门,指纹支持Touch通电功能
4、支持霍尔感应门开关状态
5、内置web,即使晚上路由器断电无网络也可以通过web开门
6、支持电脑bat开门
7、支持遥控空调功能,可自定义遥控编码
8、支持接入米家,小爱同学语音控制,天猫精灵语音控制
9、支持1.3寸和0.96寸oled显示状态

2、软硬件设计
OLED指示
OLED屏幕支持1.3寸和0.96寸,通过代码即可修改屏幕定义,屏幕状态显示有两页。
第一页是显示关于联网的各种状态
WIFI图标:当联网时图标正常显示(只显示图标,wifi距离显示没做),当没连接wifi时显示一个x
WIFI名称:当连接WIFI时会显示连接的WIFI名字(中文不支持)
时间显示:显示当前年月日时分秒,无联网时会显示横杠
仅列出局部,更多可查看原工程。
第二页是显示关于ESP32状态的
大页面的显示是当前电池的电量剩余状态和电压的估计值,并不是精确值。
还有充电状态,左边电池图标的容量会根据电池电量的剩余变化,另外还有门状态的检测,检测当前门是开还是关。
其他显示:
1、按下指纹时会显示“指纹识别中”“指纹错误”“识别超时”等字样
2、开门时显示开门字样3、开机时显示系统初始化字样
4、重启时显示reboot字样(下文会介绍重启功能)
LED指示
5V电源:表示供MCU的5V工作
门电源:舵机6.6V接通指示灯
指纹电源:指纹3.3V电源接通指示灯
红外指示(闪烁):表示当前有红外发射信号发射
低电指示(闪烁):表示电池电量低于20%
WIFI指示(闪烁):表示当前无WIFI连接,正常连接上WIFI指示灯是灭的,WIFI指示闪烁,网络指示也会闪烁
网络指示(闪烁):表示当前无网络连接,正常连接上网络指示灯是灭的
指纹模块
指纹模块这里要介绍一下,毕竟较为少见。指纹模块只能用3.3V供电,不能用5V!!!
使用附件【指纹模块上位机测试软件.zip】通过CH340工具进行录入指纹。

指纹按照接线颜色接在PCB上就行。
因为是光学指纹,因此指纹集成了Touch功能,即只有手指按下,光学模块的灯才会亮,这样比较省电,不过也可以修改软件来让指纹模块灯常亮,不过不推荐这样做,会影响指纹模块使用寿命。
Blinker
内容较多,请查看B站视频,并配合附件【Blinker配置.txt】、【Blinker配置方法.docx】、【代码使用方法以及遥控功能使用方法.docx】。
配置好后界面是这样的
门状态检测
其实就是用霍尔传感器和磁铁对门状态进行检测。
请注意DATA脚直通MCU,这个霍尔的供电电压是6.6V,DATA输出是5V,不要接错线,6.6V接DATA会烧MCU的。

关于重启
内置有软重启程序,重启触发条件:
1、如果WIFI没连接,或者连上WIFI但是断网,并且超过1800秒,即半小时,就会触发软重启。2、比如正常运行2小时,突然断网了就会重启。
3、比如已经断网30分钟了,就会重启。
具体条件可以查看代码。
软重启目的是Blinker断网断WIFI后自动重连只有几分钟,当晚上断电断网后,到早上来电有网后,Blinker都不会重连,因此只能每隔半小时重启,让Blinker尝试联网。
3、成品展示



4、电路设计



ESP32 3D图
更多详情及附件,可从原工程查看。
本文作者:立创开源硬件平台 OSHWHub 用户@Aknice,禁止商用,未经许可禁止转载