一、作品简介
作品照片:
作品功能:
通过人脸识别技术,实现无接触解锁。并可以通过云端进行解锁操作。
所需物料:
1.openMVH7和ESP32S3(参赛购买)。
注:目前项目已完成的功能,ESP32S3可以ESP8266代替。
2.openMV官方1.8寸LCD。
3.电子锁和继电器。
说明:理论上来说开发板无法驱动电子锁(当然正常也没有人这么干),需外接一个继电器,控制电子锁。
4.两个5V模块。
说明:分别给电子锁和继电器供电。
二、系统框图
1.设计思路:
利用OpenMV4H7实现人脸识别功能,实现本地解锁;通过串口将开锁命令发送给ESP32-S3,ESP32-S3基于MQTT协议将锁的状态同步至阿里云物联网平台,同时也可以通过云下发实现远程操作和管理。
opeNMV4H7和ESP32S3两款开发板,openMV官方LCD屏幕,在此基础上就加了两个必需模块,一个电子锁
和一个继电器。功能就是控制电子锁开关。这部分涉及到的东西并不太多,所以这里就不过多赘述了。
注:此处有一个大坑。电子锁端接的5V电源由于前级连接会一直处在短路状态(我购买的继电器只提供信号,不能提供电源,所以电子锁接了一个5V电源,并且连接继电器的常闭输出端),所以请诸君注意。
3.软件部分:
(1)openMV4H7:
编程工具:openMV IDE、串口工具。
编程语言:micropython。
编程工具:VS code、ESP-IDF插件(VS code)。
编程语言:c。
阿里云物联网平台。(当然其他的也可以)
三、各部分功能说明
1.openMV4H7:用户人脸识别。当openMV4H7检测到人脸,LCD同步画面,LED蓝灯亮,开始与SD卡内存储的人脸数据进行比对。匹配成功则控制继电器进行开锁操作,LED绿灯亮,同时通过串口3向ESP32S3发送“open”,表示现在要进行开锁操作(5秒后,自动关锁,LED灯灭,同时通过串口3向ESP32S3发送“close”,表示现在要进行开锁操作);匹配失败LED红灯亮。当无人脸识别时,超过30s,关闭LCD显示,进入静默态,直至下一次识别到人脸时唤醒。
2.ESP32S3:根据openMVH7的状态进行网络通信。通过串口1接收openMV4H7发送的状态信息,通过MOTT协议向阿里云物联网平台同步锁状态信息。也可以接收云端发送“开锁-1”或“关锁-0”相关指令,向openMV4H7发送控制消息,控制锁的开/关。
注:以上是已实现的功能,原计划(未实现)的功能会在其他简单说明。
四、作品源码
代码链接:
【2024 DigiKey创意大赛】智能门禁(家庭版)(作品贴) - DigiKey得捷技术专区 - 电子工程世界-论坛
五、作品功能演示视频
视频链接:
【2024 DigiKey创意大赛】智能门禁(家庭版)(作品贴) - DigiKey得捷技术专区 - 电子工程世界-论坛
六、项目总结
本次项目实现了:人脸识别开锁、人脸识别画面同步(本地openMV LCD端)、云端远程控制继电器、锁状态云端与本地同步。
计划未实现:
等等。
总体来说,这次参赛对我个人收获挺多的。期间遇到挺多奇葩现象,其实亿大部分情况下也就是考虑不到位或设计误差。
本次项目的完成度远远达不到预期,只能后面有时间填坑了。
帖子链接:
【2024 DigiKey创意大赛】物料开箱 - DigiKey得捷技术专区 - 电子工程世界-论坛
【2024 DigiKey 创意大赛】OpenMV浅玩 - DigiKey得捷技术专区 - 电子工程世界-论坛
【2024 DigiKey创意大赛】智能门禁(家庭版)(作品贴) - DigiKey得捷技术专区 - 电子工程世界-论坛
七、其他
计划未完成:MyEye的APP、LCD触摸、添加人员和人脸识别可根据LCD触摸操作选择(主要是触摸未实现,所以这里没办法搞)。
ESP32S3的性能远远没发挥,这里非常可惜。
有什么问题请大家多多指教。有什么问题可以在贴下留言,看到必回,不过推荐电邮(代码中有联系方式)。
谢谢各位观众老爷的观看!!!
本帖最后由 逾岸888 于 2024-11-13 14:25 编辑源码及其他说明