news 2026/10/1 20:28:45

基于单片机的密码锁智能柜设计(STM32 + 随机密码下发 + 手机远程开锁)

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
基于单片机的密码锁智能柜设计(STM32 + 随机密码下发 + 手机远程开锁)
  • 基于单片机的密码锁智能柜设计(STM32 + 随机密码下发 + 手机远程开锁)
    • 一、系统功能总览
    • 二、核心模块选型对比
      • 2.1 主控芯片:STM32F103C8T6 vs ESP32-WROOM-32
      • 2.2 显示模块:OLED12864 vs LCD1602
      • 2.3 无线通信模块:ESP8266 vs nRF24L01
      • 2.4 继电器选型:SRD-05VDC-SL-C
    • 三、系统接线总表
    • 四、系统软件设计
      • 4.1 主程序流程
      • 4.2 密码生成与管理流程
      • 4.3 显示模块流程
      • 4.4 无线通信流程
      • 4.5 继电器控制流程
    • 五、系统实现与测试
      • 5.1 硬件焊接与调试
      • 5.2 软件编译与调试
      • 5.3 系统功能测试
    • 六、总结

基于单片机的密码锁智能柜设计(STM32 + 随机密码下发 + 手机远程开锁)

传统柜子一把钥匙走天下:钥匙丢了进不去、被复制了防不住,在快递暂存、健身房储物、共享寄存等场景里越来越力不从心。本文带来一套基于 STM32F103C8T6 的密码锁智能柜:柜子上只有一个"开启"键,按下后单片机现场生成一串高随机性的伪随机序列码,经 ESP8266 发送到绑定手机,用户凭收到的动态密码在柜端键盘输入,验证通过继电器即刻开锁;密码一次一换、错误次数受限,安全性与便捷性双双拉满,是智能存储设备的经典入门设计。

一、系统功能总览

功能模块具体说明
动态密码生成单片机按下"开启"键即时生成伪随机序列码,一次一密
密码下发密码经 ESP8266 无线发送至绑定手机,用户凭短信式通知取码
密码验证柜端矩阵键盘输入密码,单片机比对验证
开锁控制验证通过驱动 SRD-05VDC-SL-C 继电器吸合,打开锁具
防试开保护密码错误提示重输,超过限制次数锁定并报警
密码管理密码安全存储,支持定期更新与泄露后及时更换
手机号绑定用户手机号绑定与数据库管理,支持查询、修改、删除
状态显示OLED 实时显示操作提示、密码输入与系统状态

二、核心模块选型对比

2.1 主控芯片:STM32F103C8T6 vs ESP32-WROOM-32

对比项方案一:STM32F103C8T6方案二:ESP32-WROOM-32
内核Cortex-M3 @72MHz双核 LX6 @240MHz
Flash/RAM64KB / 20KB4MB / 520KB
无线功能需外接 WiFi 模块WiFi+蓝牙内置
长期稳定性系列成熟,供货稳定生态较新
价格约 10 元约 20 元

选择方案一(STM32F103C8T6)。密码生成与验证属轻量任务,C8T6 性能绰绰有余;无线通信由独立 ESP8266 承担,主控与通信解耦便于维护。STM32 系列的长期稳定性和广泛应用为项目提供了额外保障。

2.2 显示模块:OLED12864 vs LCD1602

对比项方案一:OLED12864方案二:LCD1602
分辨率128×64 点阵16×2 字符
显示类型自发光单色图形字符型液晶
信息量支持中文字符与图形仅限两行字符
视角/对比度全视角,黑白对比鲜明视角受限,需调对比度
功耗低背光常开功耗高

选择方案一(OLED12864)。系统需要显示密码输入界面、操作提示与状态信息,图形点阵屏信息呈现能力远胜字符屏,全视角高对比保证各种光线条件下清晰可读。

2.3 无线通信模块:ESP8266 vs nRF24L01

对比项方案一:ESP8266方案二:nRF24L01
联网方式WiFi 直连互联网2.4GHz 点对点私有协议
上云能力TCP 透传,密码可送达任意手机需自建接收端,覆盖有限
传输速率最高 72Mbps低速
开发支持文档丰富、社区活跃相对封闭

选择方案一(ESP8266-01S)。动态密码必须送达用户手机,数据要经云平台转发,ESP8266 直连 WiFi 即可完成全链路;nRF24L01 还需自建接收网关,开发周期与硬件成本双升。

2.4 继电器选型:SRD-05VDC-SL-C

本系统锁具驱动选用 SRD-05VDC-SL-C 电磁继电器。该型号工作电压 5V 直流,由电磁线圈与一组触点构成:线圈通电励磁后触点闭合,断电后断开,负载能力足以驱动电子锁具,且耐用性设计适合长期工作。驱动电路以 NPN 三极管 S8050 为核心——基极经限流电阻接单片机 GPIO,发射极接地,集电极接继电器线圈负极,线圈正极接 5V 电源;GPIO 输出高电平三极管导通、继电器吸合。线圈两端反向并联续流二极管,吸收感性负载断电瞬间的反向电动势,保护电路安全。价格合理、负载能力足够,是低电压开关控制的经济实用之选。

三、系统接线总表

模块引脚连接 STM32 引脚备注
"开启"按键一端PA0按下接地,上拉输入,触发密码下发流程
4×4 矩阵键盘ROW0~ROW3PB11/PB12/PB13/PB14行线输出扫描
4×4 矩阵键盘COL0~COL3PB15/PA4/PA5/PA6列线读取,0~9 数字键 + 功能键
ESP8266TXD/RXDPA3/PA2USART2,115200,交叉相连
ESP8266RSTPA8复位控制,CH_PD 接 3.3V
OLED12864SCL/SDAPB6/PB7I2C 接口,SSD1306 驱动,3.3V 供电
继电器INPB10经 S8050 三极管驱动 SRD-05VDC-SL-C
蜂鸣器I/OPB5三极管驱动,密码错误与锁定报警

接线说明:主控最小系统由 8MHz 晶振倍频至 72MHz 主频,32.768kHz 晶振配合备用电池维持 RTC 计时(记录开柜时间);NRST 复位电路由按键、电容与上拉电阻组成,保证系统从可靠状态启动。继电器线圈两端反向并联续流二极管保护三极管。

四、系统软件设计

4.1 主程序流程

系统上电后电源模块为单片机、按键、显示、通信模块与继电器供电,单片机完成内部初始化与硬件自检,OLED 显示待机界面。用户按"开启"键后:单片机生成伪随机序列码作为本次解锁密码,经 ESP8266 发送到绑定手机;OLED 提示输入密码,用户在矩阵键盘键入收到的密码;单片机验证比对,正确则驱动继电器开锁,错误则提示重输并累计错误次数,超限锁定报警;柜门关闭后系统复位回到初始状态,等待下一次指令。主程序骨架如下:

int main(void) { System_Init(); // GPIO/USART2/I2C/RTC 初始化 OLED_Init(); OLED_ShowString(0, 0, "Smart Lock"); ESP8266_Rst(); ESP8266_Net_Config(); // 入网 + 透传 + TCP 连接云端 while (1) { if (Key_Open_Pressed()) // "开启"键按下 { code = Rand_Code_Gen(); // 生成伪随机序列码 Save_Code(code); // 安全存储,用于比对 ESP8266_Send_Code(code, bind_phone); // 密码下发手机 OLED_Tip("Input Code:"); input = KeyPad_GetInput(); // 键盘读取密码 if (Check_Code(input, code)) { OLED_Tip("Open!"); Relay_On(); // 继电器开锁 Log_Open_Time(); // RTC 记录开启时间 Wait_Door_Close(); // 关门检测 System_Reset(); } else { err_cnt++; OLED_Tip("Wrong!"); if (err_cnt >= ERR_LIMIT) { Lock_Alarm(); } // 超限锁定并报警 } } delay_ms(50); } }

4.2 密码生成与管理流程

伪随机序列码生成算法以单片机内部定时器计数与 RTC 秒值混合作为熵源,逐位抽取生成不定长序列码,保证高随机性与不可预测性。密码存储采用编码写入方式防止明文泄露;系统支持定期自动更换密码,用户怀疑泄露时也可通过手机端主动触发更新,旧码即刻作废。

4.3 显示模块流程

OLED 经 I2C 驱动:使能 I2C 与 GPIO 时钟,SCL/SDA 设为开漏输出并配置时钟频率;先发关闭显示、设置内存地址模式、对比度等初始化指令,再以OLED_Fill填充背景、OLED_CLS清屏;显示字符串时按 6×8 或 8×16 点阵从字库数组取模,中文字符从 F16x16 数组取点阵数据,位图逐行写入,密码输入界面与操作提示按页地址模式布局刷新。

4.4 无线通信流程

USART2 初始化为 115200、8 位数据位、1 位停止位、无校验并启用收发中断。ESP8266 复位脚拉低再恢复,等待串口缓冲区出现 “ready”;设 STA 模式并以AT+CWJAP入网,检查 “OK”;AT+CIPMUX单连接、AT+CIPSEND进透传,确认缓冲区含 “\r\nOK\r\n\r\n>”;AT+CIPSTART连接 TCP 服务器并等待 “CONNECT”。链路建立后,密码报文经透传通道发往云端,由云端按绑定手机号投递,同时接收密码更新与手机号管理指令。

4.5 继电器控制流程

系统初始化时对控制引脚 PB10 置初始电平,保证继电器初始处于释放状态。主循环持续检测控制信号类型:收到开启信号则输出高电平,S8050 导通、线圈通电、常开触点闭合接通锁具电路;收到关闭信号则输出低电平断电释放。每次动作后系统回读引脚状态反馈当前工作情况,随后返回检测阶段循环执行,实现实时可靠的开锁控制。

五、系统实现与测试

5.1 硬件焊接与调试

按原理图完成主控最小系统、矩阵键盘、OLED、ESP8266 与继电器驱动电路的焊接,重点检查电源极性、晶振负载电容与续流二极管方向。逐模块上电验证:测量 AMS 稳压输出 3.3V 正常,键盘按键扫描无串键,继电器吸合释放干脆无粘连。

5.2 软件编译与调试

程序在 Keil 环境下编译烧录,使用 ST-Link 断点调试密码生成、串口通信与继电器控制逻辑;串口助手监视 ESP8266 的 AT 交互过程,确认入网、透传与 TCP 连接各环节应答正确。

5.3 系统功能测试

测试项操作方法系统动作结果
按键响应按下"开启"键即时生成密码并下发手机通过
密码随机性连续多次触发取码密码互不重复,无规律可循通过
正确开锁输入手机收到的密码继电器吸合,柜锁打开通过
错误保护故意输错密码提示重输,超限锁定报警通过
密码更新手机端触发更新旧密码作废,新码即时生效通过
关门复位关闭柜门系统复位回到待机状态通过

六、总结

本文完成了一套基于 STM32F103C8T6 的密码锁智能柜:伪随机序列码一次一密,从根源上杜绝了静态密码被窃取复制的风险;ESP8266 无线下发把手机变成"电子钥匙",OLED 与矩阵键盘构成清晰的人机交互;SRD-05VDC-SL-C 继电器经三极管驱动稳定控制锁具,配合错误次数限制与报警形成完整防护闭环。系统还建立了手机号绑定与密码更新管理机制,兼顾安全、便捷与智能化管理。后续可加装指纹识别模组、接入智能家居联动,或上云实现远程管理与使用记录大数据分析,让储物场景的安全等级再上一个台阶。

七、资料内容完整工程资料(原理图、PCB、代码、元件清单)

八、资料获取方式

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/10/1 20:28:43

音乐格式转换工具怎么选?5条判断标准+7款工具实测对比

搜"音乐格式转换",前排清一色"推荐XX神器",点进去每篇推的还不一样,评论区吵成一锅粥。工具没有绝对的好坏,但选错的代价很具体:加密格式解不开、转完歌名全乱码、文件得先传别人的云端、装完弹窗…

作者头像 李华
网站建设 2026/10/1 20:28:42

生图 + 生视频一体,适合新手的国产 AI 多模态创作工具

在 AIGC 技术快速普及的当下,创作者常面临工具割裂、流程断层的困扰。卓特视觉无限画布作为一款国产 AI 多模态创作工作台,将图片生成、视频制作与文本创作整合于同一节点式空间,支持自然语言交互与工作流复用。它不仅是生成工具,…

作者头像 李华
网站建设 2026/10/1 20:28:36

FastMCP核心组件拆解:工具与提示词如何驱动AI应用

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/10/1 20:28:22

企业云上成本治理——从账单分析到优化的完整路径

随着业务上云的深入,很多团队都会遇到同一个问题:云账单逐月上涨,却说不清钱花在了哪里、哪些是必要支出、哪些是可回收的浪费。云成本治理并不是一次性的省钱动作,而是一套"看得清、分得准、管得住、持续优化"的闭环。…

作者头像 李华
网站建设 2026/10/1 20:28:21

山东省预制柱来样加工定制工厂 彤泰儒创制造厂家实力参考

山东省做预制混凝土构件的朋友,不少人都在找能做预制柱来样定制、预制柱个性化定制的靠谱预制柱服务厂商,找能承接异形柱定制、标准化预制柱批量生产的山东本地工厂,对比下来不难发现,现在做预制柱加工,拼的不只是价格…

作者头像 李华
网站建设 2026/10/1 20:27:35

渐进式披露:AI Agent上下文工程的核心模式与TaoToken实践

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华