Screen-Lock智能蓝牙指纹锁基于乐鑫ESP32C3模组构建, 搭载 RISC-V 32 位单核处理器,并使用海凌科ZW101及LD2402模块实现智能屏锁功能,支持人体检测,适用于学习监督,员工统计,信息安全保护。
蓝牙HID输入
离开工位时自动锁屏
回到工位时指纹解锁
统计工作时长及离开时长
统计休息次数
统计经过时的次数
久坐提醒
用眼距离过近提醒
Web控制中心
Screen-Lock智能纹锁架构设计
主控电路这里选用ESP32C3芯片,借助C3的蓝牙功能通过HID实现锁屏和输入密码,借助C3的WIFI功能通过局域网搭建Web服务实现可视化数据及设备控制中心。C3芯片价格便宜且引脚IO足够。
指纹模块选用Hi-Link ZW101模块,由于该模块默认串口波特率较低,所以使用软件模拟串口进行通讯,把C3的硬件串口留给LD2402使用,这里还引出了一条T_OUT信号线,这是一条触摸信号线,你可以把他当作触摸按键使用。
人体检测模块选用HI-Link LD2402人体存在24G毫米波雷达模块,这个模块的串口波特率为115400,比较高,所以这里使用硬件串口通讯,模组带一个输出IO,用于判断是否有人存在,不过这个IO比较多余,可以去除掉,因为串口会实时发送数据告诉人体距离,如果你有扩展需求可以去掉这个IO接其他外设。
供电电路使用LDO方案,这里选用ME6217C33M5G芯片,尺寸小巧,外围器件较少。
充电IC选用TP4054,价格便宜,而且体积小,很适合集成,CHRG这里也引出一条IO,可以反馈电池充电状态。
屏幕选用SSD1306,0.91寸屏,用作信息提示。
Screen-Lock智能纹锁软件开发
开发环境
软件环境: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);
指纹驱动
boolreceiveResponse(){
uint8_t response[64];
uint8_t index = 0;
uint32_t startTime = millis();
// 先等待包头 EF 01
bool headerFound = false;
while (millis() - startTime < 2000) { // 延长等待时间到2秒
if (fingerprintSerial.available()) {
uint8_t b = fingerprintSerial.read();
if (!headerFound) {
if (index == 0 && b == 0xEF) {
response[index++] = b;
} elseif (index == 1 && b == 0x01) {
response[index++] = b;
headerFound = true;
} else {
index = 0; // 重新开始找包头
}
} else {
response[index++] = b;
if (index >= 9) {
// 包长度在第7和8字节
uint16_t packetLen = ((uint16_t)response[7] << 8) | response[8];
if (index >= 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键进入下载模式即可。
原理图
PCB板
Screen-Lock智能纹锁成品
如有源码采购和项目交付需求,请扫码联系小编,微信号:beacon0418
推荐站内搜索:最好用的开发软件、免费开源系统、渗透测试工具云盘下载、最新渗透测试资料、最新黑客工具下载……
还没有评论,来说两句吧...