
智能无线交互辅助开门装置
简介
本项目是基于ESP32开发的室内外智能门锁无线识别装置,同时具备室外模块、Web、APP等多种开门方式,通过驱动室内开锁的机械结构将门打开,方便实用,可应用于学校宿舍、出租屋等具有传统开门方式的场景。
简介:本项目是基于ESP32开发的室内外智能门锁无线识别装置,同时具备室外模块、Web、APP等多种开门方式,通过驱动室内开锁的机械结构将门打开,方便实用,可应用于学校宿舍、出租屋等具有传统开门方式的场景。开源协议
:LGPL 3.0
(未经作者授权,禁止转载)描述
一、项目简介🪄
本项目基于ESP32进行开发,分为室内和室外两个模块。
室外模块主要用于IC卡的身份信息识别,第一次使用时会将第一张识别到的卡片设置为管理员,持有管理员卡可以对其他的卡进行录入操作,录入的卡号会存储到Flash,不会因为开关机而丢失信息,将IC卡置于RC522模块上方,ESP32通过RC522模块读取到IC卡,0.96寸的OLED会显示读取结果,当读取到正确的卡号时,ESP32通过ESP-NOW通信技术,发送识别信息到室内模块,驱动室内模块转动电机进行开门操作,如果识别到陌生卡号,则会驱动蜂鸣器进行报警。板载两个WS2812灯珠,用于指示模块状态,将模块的串口拓展了出来,预留了拓展其他模块的接口,例如需要使用指纹模块时,可以将串口接到ZW101指纹模块上,电源部分则使用18650锂电池进行供电,将电池电压升到5V升压和5V降压到3.3V,同时设计了锂电池保护电路DW01A+8205A,防止电池过放。同时也预留了Type-c的接口,支持外部供电。但是室外几乎无外部电源,因此大都使用锂电池供电,若锂电池电量不足,则可与室内模块的锂电池进行更换。
室内模块则主要驱动室内进行开门的操作,当室外模块通过ESP-NOW发送正确的识别结果时,室内模块接收到信息,则会通过IO口的电平改变或者PWM驱动电机或舵机,拉动室内的机械装置,从而进行开门操作。当然室内模块也集成了许多其他的功能,开门操作除了可以使用室外模块之外,还可以利用点灯科技blinker、ESP32的局域网网站,、红外、语音等,室内模块搭载了1.8寸的TFT彩屏,接入了心知天气API,可以读取当地的天气情况,学生的话,可以将自己的课表导入其中,它搭载了语音模块,可用于提醒,同时也集成了红外接收和红外发送电路,可以用作遥控器,定时驱动室内的空调或电视等,室内模块集成了电源管理电路和电源保护电路,有外部输入时使用外部电源同时为室内锂电池充电,无外部输入时可用锂电池作为应急电源进行开门操作,由于室外无外部电源供电,故只能使用电池供电,当室外电池无电时,可将室内电机作为备用进行更换,如此循环。
| 室内模块 | 室外模块 |
![]() |
![]() |
![]() |
![]() |
二、项目功能✨
室外模块:
- 0.96寸OLED显示
- NFC读取、存储、删除
- ESP-NOW通信
- 蜂鸣器和WS2812灯状态指示
- 拓展串口驱动指纹模块、人脸识别模块等
室内模块:
- 1.8寸TFT彩屏显示
- ICS43434声音采集
- MAX98357AETE+T功放喇叭
- 蜂鸣器和WS2812灯状态指示
- 电机和舵机驱动
- TF卡
- 红外发送和接收
- ESP-NOW无线交互
- 心知天气API天气显示
- 点灯科技blinker接入APP交互
- WebService网页服务
三、项目参数🔮
- 采用ESP32-D0WD-V3芯片和ESP32-WROOM-32E模组进行驱动
- 室内屏幕采用ST7735驱动的1.8寸屏幕,128*160分辨率,室外0.96寸OLED显示屏,128*64分辨率
- 电池采用单节18650锂电池,满电电压4.2V
- 充电方案采用TP4056芯片,最大1A充电电流
- 电源稳压电路5V稳压采用MT3608L芯片,3.3V稳压采用AMS1117-3.3V芯片
- 锂电池保护电路集成了DW01A(监测芯片)、8205A(MOS管)
- 电路集成CH340+自动下载电路,方便代码下载和调试
四、硬件设计🔌
4.1室外模块硬件设计📡
采用ESP32-D0WD-V3芯片,体积小不占空间,是ESP32-WROOM-32E模组内部的芯片。
搭载了两个WS2812彩灯,蜂鸣器,RC522模块接口,0.96寸OLED显示屏,且一共4个按键。
电源电路如下,搭载了锂电池保护电路,MT3608进行电源升压,RT9013-3.3V进行3.3V稳压。
| ESP32-D0WD-V3 | 模块电路 |
![]() |
![]() |
| 主控电路 | 电源电路 |
![]() |
![]() |
PCB设计完成后:
| PCB正面 | PCB背面 |
![]() |
![]() |
4.2室内模块硬件设计🏠
本电路采用 ESP32-WROOM-32E 模组(内置 ESP32-D0WD-V3 芯片) 作为主控核心,体积小、性能强,具备 WiFi 与蓝牙双模通信功能。
系统集成了 1.8 寸TFT彩色显示屏、双路 WS2812 彩灯、蜂鸣器提示电路、语音播放功放模块(MAX98357A)、数字麦克风(ICS43434)、红外收发模块 以及 多功能按键输入,可实现丰富的人机交互与语音控制功能。
电机与舵机控制部分采用 RZ7899 驱动芯片,支持锁舌电机或舵机开锁输出。
电源部分设计完善,包含 TP4056 锂电池充电管理、DW01A+8205A 电池保护电路、MT3608 与 SX1308 升压模块 以及 AMS1117-3.3V 稳压输出,支持 Type-C 及 DC 接口供电,并通过 ADC 检测电池电压。
整机结构紧凑,功能完善,适用于智能门锁室内开锁控制场景。
| 电路原理图 |
![]() |
PCB设计完后后:
| PCB正面 | PCB背面 |
![]() |
![]() |
五、软件设计💻
5.1 NFC识别、录入和删除
我们设计的室内模块上安装了RC522 MINI RFID射频 IC卡感应模块,可以识别和操作 ISO14443A 协议、13.56MHz 的 IC 卡,例如 MIFARE 1K、MIFARE 4K、Ultralight 等。
| 识别正确/错误ID卡 | 更换管理员卡 |
![]() |
![]() |
| 录入新卡 | 删除已录入的用户卡 |
![]() |
![]() |

上面的是我们对于NFC识别的流程图:当没有管理员时,第一张卡即为管理员,通过管理员的验证,可以进行更换管理员和保存新用户卡的操作,管理员无法被删除;当通过管理员验证,放置新卡会对卡号进行保存,也可自己执行删卡操作。
5.2 WS2812 灯珠控制
💡 状态提示:灯珠显示不同颜色与闪烁方式,直观反馈系统状态
💚 待机状态:蓝色/绿色常亮或缓慢呼吸,表示系统运行正常
✅ 识别成功:快速闪烁绿色两次或彩色流水动画
❌ 识别失败/未授权:红色闪烁两次并伴随蜂鸣器提示
🌈 管理员模式:彩虹渐变循环,表示处于特殊操作状态
⚡ 低电量提示:黄色常亮或周期性闪烁提醒用户
5.3 ESP-NOW 主副机通信
⚡ 低功耗快速响应:ESP32 内置 ESP-NOW 协议,毫秒级传输
🔗 可靠点对点/多对多:室外副机与室内主机直接通信,无需路由器
🆔 MAC 地址绑定:首次配置后自动保存副机地址,保证通信安全
💳 NFC 数据传输:副机识别卡片后发送 UID 或操作指令至主机
🔓 动作触发:主机验证后驱动电机/舵机开锁,或显示“Warning”
🖥️📈 状态提示:主机通过 OLED 弹窗显示信息,并通过 WS2812 灯带反馈状态
♻️ 自动重连:通信中断后可自动恢复,保证系统连续稳定运行
| 显示MAC地址 | 主机保存副机MAC地址 |
![]() |
![]() |
| 副机接收并保存主机MAC地址 | 副机手动选择WIFI和信道 |
![]() |
![]() |
为了保证主副机之间建立通信,因此需保证主机频道=WiFi信道=副机频道,通过上述步骤进行配置,可以满足ESP-NOW主副机通信条件。
5.4 OLED显示
🔧 外围电路:保证稳定驱动与可靠通信
🖋️ 信息展示:状态提示、文字与图形渲染、动画交互
🟢 开机动画:显示 LOGO / 欢迎动画
💤 待机界面:显示时间、电量、网络状态等
💳 NFC 卡识别:
✅ 有效卡 → "You Are Welcome"
🔑 管理员卡 → "Admin Verified"
❌ 无效卡 → "Warning!!!"
📡 ESP-NOW 数据接收:弹窗显示接收到的信息(1.5 秒)
🛠️ 用户操作提示:存卡/删卡/换管理员操作步骤实时显示
♻️ 自动恢复:操作或事件结束后回到待机界面
| python脚本生成图片数组 | python脚本生成视频数组 |
![]() |
![]() |
用OLED显示视频和图片的技巧,我是通过自己写了一个简单的python脚本进行的方法:
5.5 TFT 显示
🖼️ 高清彩色界面:1.8寸 ST7735 彩屏,显示更丰富、信息更直观
🌤️ 心知天气显示:实时获取温度、湿度、天气状态,图文并茂
📡 ESP-NOW 数据提示:接收副机数据并弹窗显示
🔧 SPI 接口电路:裸屏设计,可靠驱动,支持电源滤波与上拉电阻
🎨 流畅动画与图形:采用 Sprite 缓冲技术,实现动态显示与进度条
| TFT显示 | python生成TFT显示数组 |
![]() |
![]() |
用TFT显示视频的话,可以选择直接在SD卡中存储视频,然后解码,直接显示出来,也可以通过生成对应的每一帧图片的数组,然后一帧一帧的图片显示出来,给人一种显示出视频的效果,我们就是采用数组显示的方式,但是占用了大量的内存。
5.6 红外发送和接收
🔹 红外发送:
- 支持常用的 38kHz 红外信号调制
- 可通过本地网页或按键触发,发送自定义指令
- 与系统其他模块联动,例如识别成功后可触发红外设备动作
- 远程遥控家电:可控制空调、电视等设备,实现智能化操作
🔹 红外接收:
- 接收外部红外遥控器信号
- ESP32 可解析信号码并触发对应动作
- 可作为二次控制入口,实现多设备联动
| 红外遥控操作台 | 遥控空调 |
![]() |
![]() |
🔹 特点:
💡 双向控制:既能发送也能接收红外信号
⚡ 低功耗快速响应:毫秒级解析与执行
🔧 可扩展性强:支持自定义码库,可接入不同红外设备
🎛️ 状态提示:可结合 OLED 或 WS2812 灯效显示操作状态
5.7 MAX98357语音播报
室内模块集成 MAX98357 I²S 数字音频功放,用于语音播报和系统提示音。通过 ESP32 内置 I²S 接口直接驱动音频数据,实现高保真语音输出。
🔹 主要功能:
- 📣 语音播报:播放提示音、欢迎语、警告信息等
- 🎵 音乐与音效:可播放多种音频文件,增强交互体验
- 🔗 联动控制:可与 NFC 识别、ESP-NOW 数据接收、WS2812 灯效联动,实现多模态反馈
- ⚡ 低功耗高效率:I²S 直连音频功放,功耗低且音质清晰
🔹 特点:
🎤 高保真输出:数字音频直接驱动,无需额外 DAC
🛠️ 易扩展:支持多种音频格式,可定制提示语
💬 用户反馈直观:语音与显示、灯效结合,提升交互体验
♻️ 实时响应:毫秒级播放触发,确保操作提示同步
5.8 ICS43434语音识别
室内模块集成 ICS43434 数字 MEMS 麦克风,通过 ESP32 的 I²S 接口采集音频,实现语音识别与指令控制功能。
🔹 主要功能:
- 🗣️ 语音采集:高灵敏度数字麦克风,捕捉用户语音指令
- 🎯 语音识别:配合 ESP32 内部算法或 AI 平台,实现简单指令解析
- 🔗 联动控制:可与 MAX98357 语音播报、WS2812 灯效、ESP-NOW 通信联动
- ⚡ 低延迟:I²S 直连数字麦克风,确保语音采集和识别快速响应
🔹 特点:
🎤 高灵敏度与低噪声:适合近场语音交互
🛠️ 易扩展:可接入多种语音识别算法或 AI 平台
💬 多模态交互:与 OLED/TFT 显示、灯效和播报结合,提升用户体验
♻️ 实时响应:语音指令可毫秒级触发动作
对于这个模块的功能,我们暂时还未实现,但是已经预留好了接口,准备在后续有空的时候添加AI控制功能。
5.9 SD卡读取
系统在室内模块集成 TF/SD 卡模块,用于存储音频文件、动画帧数据和系统配置,实现本地存储与播放功能。
🔹 主要功能:
- 📂 文件存储:存放语音播报音频、TFT/OLED 动画帧、日志与配置文件
- 🎵 音频读取:与 MAX98357 联动,播放存储的音频文件
- 🖼️ 图像/动画读取:为 TFT/OLED 提供动态图像数据,实现流畅显示
- 🔗 系统联动:SD卡内容可结合 ESP-NOW、语音识别与灯效,实现多模态反馈
🔹 特点:
⚡ 高速读取:SPI 接口实现快速文件访问
🛠️ 易扩展:支持多种文件格式(如 WAV、BMP)
💾 本地存储:减少对网络依赖,提高系统稳定性
♻️ 与其他模块协同:可用于动画播放、语音播报及系统配置读取
5.10 网页控制
系统在室内模块集成 Web 控制界面,通过 ESP32 内置 WiFi 提供本地网页访问,实现对设备的远程配置与控制。
| 主页 | 远程遥控界面 |
![]() |
![]() |
| 空调遥控 | 参数配置 |
![]() |
![]() |
| 参数调节 | OTA更新 |
![]() |
![]() |
🔹 主要功能:
- ⚙️ 参数配置:可设置初始参数,如管理员卡、设备模式等
- 🎛️ 实时调节:调节灯效亮度、音量、显示内容等参数
- 🏠 设备控制:远程控制室内模块的灯效、TFT/OLED 显示、音频播放及红外设备
- 📡 状态显示:网页可实时显示系统状态,包括在线设备、卡片识别结果、传感器数据等
🔹 特点:
💻 便捷操作:通过浏览器即可访问,无需额外客户端
🔧 高度可定制:支持多种参数和控制模式,自由扩展
♻️ 多模块联动:网页操作可同时驱动 OLED/TFT/WS2812/红外/音频
⚡ 实时响应:用户操作可立即在设备上生效,交互流畅
5.11 点灯APP控制
系统支持通过 移动端 APP 对室内模块进行远程控制,实现灯效管理与状态反馈。
| 控制主页 | 设备分享操作 |
![]() |
![]() |
🔹 主要功能:
- 💡 灯效控制:开启/关闭 WS2812 灯带,调节颜色、亮度和动画模式
- 🎛️ 分区管理:可对不同灯带区域进行独立控制,支持多样化显示
- 🏠 远程操作:通过 WiFi 与室内模块连接,无需靠近设备即可控制
- 📈 状态反馈:APP 实时显示灯带状态及其他联动模块信息
🔹 特点:
⚡ 快速响应:APP 操作与灯效几乎同步,毫秒级反馈
🔧 高度可定制:支持自定义颜色方案和动画效果
♻️ 多模块联动:可与 OLED/TFT/ESP-NOW/音频模块同步显示状态
💻 便捷操作:界面友好,用户易上手
五、功能展示⚙️
| 室外开门展示 |
![]() |
| 室内展示 |
![]() |
设计图
未生成预览图,请在编辑器重新保存一次BOM
暂无BOM
克隆工程






































评论