0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

30元,嵌入式大神教你用ZW101+LD2402模块手搓智能指纹门锁!

海凌科物联 ? 2025-08-11 12:05 ? 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

57303c34-7668-11f0-9080-92fbcf53809c.png

嵌入式AIoT必看!30+行业场景技术分享,重塑端侧硬件

Screen-Lock智能蓝牙指纹锁基于乐鑫ESP32C3模组构建, 搭载 RISC-V 32 位单核处理器,并使用海凌科ZW101及LD2402模块实现智能屏锁功能,支持人体检测,适用于学习监督,员工统计,信息安全保护。


Screen-Lock智能蓝牙指纹锁采用Espressif ESP32C3模组作为本项目主控,提供WIFI及蓝牙能力;采用Hi-Link ZW101指纹模组,实现指纹解锁输入密码功能;采用Hi-Link LD2402人体雷达,实现人体距离检测功能;采用TP4054充电IC,实现锂电池充电功能;支持3V振动马达,用于提醒,总体功能清单如下:

蓝牙HID输入

离开工位时自动锁屏

回到工位时指纹解锁

统计工作时长及离开时长

统计休息次数

统计经过时的次数

久坐提醒

用眼距离过近提醒

Web控制中心


Screen-Lock智能纹锁架构设计


5744edaa-7668-11f0-9080-92fbcf53809c.png

主控电路这里选用ESP32C3芯片,借助C3的蓝牙功能通过HID实现锁屏和输入密码,借助C3的WIFI功能通过局域网搭建Web服务实现可视化数据及设备控制中心。C3芯片价格便宜且引脚IO足够。


57577a1a-7668-11f0-9080-92fbcf53809c.png


指纹模块选用Hi-Link ZW101模块,由于该模块默认串口波特率较低,所以使用软件模拟串口进行通讯,把C3的硬件串口留给LD2402使用,这里还引出了一条T_OUT信号线,这是一条触摸信号线,你可以把他当作触摸按键使用。


57689976-7668-11f0-9080-92fbcf53809c.png


人体检测模块选用HI-Link LD2402人体存在24G毫米波雷达模块,这个模块的串口波特率为115400,比较高,所以这里使用硬件串口通讯,模组带一个输出IO,用于判断是否有人存在,不过这个IO比较多余,可以去除掉,因为串口会实时发送数据告诉人体距离,如果你有扩展需求可以去掉这个IO接其他外设。


577a9630-7668-11f0-9080-92fbcf53809c.png


供电电路使用LDO方案,这里选用ME6217C33M5G芯片,尺寸小巧,外围器件较少。

578df1da-7668-11f0-9080-92fbcf53809c.png


充电IC选用TP4054,价格便宜,而且体积小,很适合集成,CHRG这里也引出一条IO,可以反馈电池充电状态。

579fc73e-7668-11f0-9080-92fbcf53809c.png

屏幕选用SSD1306,0.91寸屏,用作信息提示。


57aeadf8-7668-11f0-9080-92fbcf53809c.png


振动马达也是用作提醒功能使用,3.3V使用NMOS通过IO控制,我这里用的AO3400A支持5.7A,可以选便宜点的,马达额定电流只有80mA。

Screen-Lock智能纹锁软件开发

57bcf674-7668-11f0-9080-92fbcf53809c.png

开发环境

软件环境:VSCode+PlatformIO

开发语言:C/C++

依赖库

EspSoftwareSerial:软串口驱动库

Adafruit SSD1306:屏幕驱动库

蓝牙HID驱动

蓝牙HID基于BleKeyboard库修改,原库年久失修,由于安全协议问题会导致最新Windows及Android系统拒绝与其通讯。通过在原库 void BleKeyboard::begin (void) 中添加以下两行解决

pSecurity->setCapability(ESP_IO_CAP_NONE);//安全设置pSecurity->setInitEncryptionKey(ESP_BLE_ENC_KEY_MASK | ESP_BLE_ID_KEY_MASK);

指纹驱动

指纹库基于Hi-Link提供的例程修改,原例程缺少一些数据位判断及适当延时,导致接收到的数据包未过滤而返回通讯失败。通过对原库receiveResponse()函数改良,添加数据位判断,以及init初始化添加等待延时解决。

boolreceiveResponse(){uint8_t response[64];uint8_tindex=0;uint32_t startTime = millis();//先等待包头 EF01bool headerFound = false;while(millis() - startTime =9) {//包长度在第7和8字节uint16_t packetLen = ((uint16_t)response[7] <=9+ packetLen) {//收到完整包break; } } } }}#if defined(HLK_DEBUG)Serial.println("Received response:");printResponse(response,index);#endif// 简单校验包头和确认码if(index>=12&& response[0] ==0xEF&& response[1] ==0x01&& response[9] ==0x00) {returntrue;}returnfalse;}

固件烧录

首次烧录连接设备时,主控可能会不断重启导致端口不稳定,这时候要先按住BOOT键,然后再按RST键,最后松开BOOT键进入下载模式即可。

如果你通过源码烧录,不需要自己设置分区,platformio会自动按照默认分区表配置分区烧录,你只需要点击烧录箭头即可自动编译,自动查找端口,自动烧录。

57d4fca6-7668-11f0-9080-92fbcf53809c.png


为了简化烧录,附件中提供的固件是bootloader.bin + partitions.bin + firmware.bin 合并后的固件,所以如果你使用附件提供的合并固件,仅需设置烧录地址为0即可。

57e8e16c-7668-11f0-9080-92fbcf53809c.png

如果你通过源码编译,则会在build目录下产生bootloader.bin partitions.bin firmware.bin这三个bin文件,所以在烧录时请按照下图提供的分区地址烧录。

58004514-7668-11f0-9080-92fbcf53809c.png

原理图

5810252e-7668-11f0-9080-92fbcf53809c.png

PCB

5821c4e6-7668-11f0-9080-92fbcf53809c.png


Screen-Lock智能纹锁成品

5833bf3e-7668-11f0-9080-92fbcf53809c.png584ed81e-7668-11f0-9080-92fbcf53809c.gif586e856a-7668-11f0-9080-92fbcf53809c.gif58940506-7668-11f0-9080-92fbcf53809c.png58a6f760-7668-11f0-9080-92fbcf53809c.png


声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 模块
    +关注

    关注

    7

    文章

    2796

    浏览量

    50972
  • 嵌入式
    +关注

    关注

    5161

    文章

    19783

    浏览量

    319616
  • 指纹门锁
    +关注

    关注

    0

    文章

    12

    浏览量

    2332
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    哪位大神教教我怎么入门嵌入式啊!

    自学了一点时间的嵌入式感觉还是没有什么具体的概念哪位大神能指点我一下啊 ,心得,体会都可以的{:19:}
    发表于 05-31 22:52

    【华强芯城指纹模块试用申请】指纹门锁

    有一些了解,公司的智能旅行箱用到了深圳某公司的指纹锁,由外包提供了全套方案,我接触过图正等指纹芯片厂,准备后期公司自己开发指纹锁,刚好在电子发烧友上看见电容
    发表于 09-04 17:19

    【华强芯城指纹模块试用申请】智能门锁

    项目名称:智能门锁试用计划:在现有的产品上做功能测试 ,看是否优于现使用的指纹模块
    发表于 09-05 17:35

    蓝牙智能门锁解决方案 BLE蓝牙指纹智能门锁开发方案

    APP远程监控,应急突变,即时报警,手机即刻收到报警电话。强大内“芯”,越越灵敏内置超低功耗芯片ST17H25,制作高端智能门锁每一次解锁,都会通过指纹拼接、图像识别、自学习算法,不
    发表于 07-20 15:42

    智能指纹锁成智能家居入口,或迎来大规模爆发

    的“门面”担当,在智能家居未来的万亿市场里将成为重要的一环。   门锁是居家安防最重要的装置,基于锁具的技术革命,不断从传统的机械锁发展到电子智能锁。随着智能指纹锁相关技术的日益
    发表于 10-31 09:24

    基于W600 RT-Thread智能指纹门锁的设计方案

    。  使用 W600 嵌入式WiFi芯片  使用 FPC1020A 电容指纹识别模块  支持指纹识别开门  支持NEC红外遥控开门  支持
    发表于 03-14 16:04

    基于STM32F103做的WIFI指纹智能门锁

    基于STM32F103做的WIFI指纹智能门锁,WIFI使用的是ESP8266+机智云连接,指纹模块是FPM10A光学
    发表于 09-27 07:47

    嵌入式指纹锁的设计与实现

    指纹识别具有唯一性、可靠性,在安全领域得到了广泛的应用。本文在基于指纹识别模块的基础上开发了嵌入式指纹锁, 为
    发表于 05-30 09:34 ?3135次阅读
    <b class='flag-5'>嵌入式</b><b class='flag-5'>指纹</b>锁的设计与实现

    教你用热像仪检测锂电池

    教你用热像仪检测锂电池
    发表于 02-07 13:26 ?13次下载

    智能指纹门锁有什么优势

    智能指纹门锁的优势有哪些?智能指纹门锁功能特点是什么。作为家庭的靠前道安全保障,门锁是每个家庭都会用到的设备,
    发表于 06-03 11:25 ?1395次阅读

    一步一步教你用Zview拟合交流阻抗谱

    一步一步教你用Zview拟合交流阻抗谱(稳压电源技术参数)-一步一步教你用Zview拟合交流阻抗谱 ? ? ? ? ? ? ??
    发表于 08-31 13:03 ?7次下载
    一步一步<b class='flag-5'>教你用</b>Zview拟合交流阻抗谱

    嵌入式指纹模块是如何选择更适合

    嵌入式指纹模块是如何选择更适合。
    发表于 08-08 15:19 ?0次下载

    ZW651指纹识别模块资料

    时,对干湿手指都有灵敏的反应和判断,能获得最佳的成像质量,适用人群广泛。 具备自学习功能,实际使用过程中越越好用。 HLK-ZW651 模块还具备感应手指功能,当手指按压到指纹
    发表于 06-25 09:40 ?0次下载

    大神教你30条PCB设计时提升降噪与抗电磁干扰能力的技巧,必看!

    大神教你30条PCB设计时提升降噪与抗电磁干扰能力的技巧,必看!
    的头像 发表于 10-17 15:16 ?1134次阅读

    新品 | 智能触摸解锁ZW302x系列指纹模块 支持存储100枚指纹

    海凌科全新推出HLK-ZW302x指纹模块,单价低至15左右,支持存储100枚指纹,目前共两款,一款圆形
    的头像 发表于 04-15 17:33 ?605次阅读
    新品 | <b class='flag-5'>智能</b>触摸解锁<b class='flag-5'>ZW</b>302x系列<b class='flag-5'>指纹</b><b class='flag-5'>模块</b> 支持存储100枚<b class='flag-5'>指纹</b>