基于STM32的实验室安防系统设计(RFID门禁+烟雾火焰检测+远程报警控制)

实验室是科研工作的核心场所,里面既有贵重仪器和重要数据,也存在高温、易燃、易爆等风险因素,传统的人工巡查方式难以做到实时监控和快速响应。本文基于 STM32 单片机设计了一套实验室智能安防系统:身份验证由 RC522 RFID 刷卡和 4×4 矩阵键盘密码双重把关,密码连错三次立即触发报警;环境侧用 MQ-2 烟雾传感器、TEMT6000 火焰传感器和 DHT11 温湿度传感器实时监测,一旦烟雾超标或检测到明火,蜂鸣器声光报警的同时经 ESP8266 把警报推送到手机端,用户远程即可控制通风设备或解除警报;OLED 屏动态显示全部环境数据与操作状态,为实验室安全提供了一套低成本、高性价比的完整方案。

一、系统功能总览

功能模块实现方式功能说明
身份验证RC522 RFID + 4×4 矩阵键盘刷卡或输入密码解锁门锁,双重验证方式
防拆报警密码错误计数密码连续输错三次触发报警,需手动按键解除
烟雾检测MQ-2 烟雾传感器(ADC)实时采集烟雾浓度,超标即报警并上传手机
火焰检测TEMT6000 红外火焰传感器检测到明火立即报警并远程推送
温湿度监测DHT11 温湿度传感器超出阈值自动启动通风设备调节环境
状态显示OLED12864动态显示烟雾、火焰、温湿度及身份验证信息
远程控制ESP8266 + 手机端远程接收报警、控制通风设备、解除警报
关门提醒关门键检测开锁后长时间未按关门键,系统报警提醒

二、核心模块选型对比

2.1 主控模块:STM32F103C8T6 vs NXP LPC1768

对比项STM32F103C8T6NXP LPC1768
内核/主频Cortex-M3,72MHzCortex-M3,96MHz
存储64KB Flash + 20KB SRAM64KB Flash + 12KB SRAM
接口资源3×UART、2×SPI、2×I2C支持更多外部设备
生态应用广泛,开发支持成熟相对一般

两颗同为 Cortex-M3 内核,但 STM32F103C8T6 的 SRAM 容量更大,对需要缓存传感器数据、串口报文的安防系统更有利。选择方案 1:STM32F103C8T6。

2.2 RFID 模块:RC522 vs PN532

对比项RC522PN532
通信接口SPI,集成简单I2C/SPI/UART 三种可选
读写距离较短,标准应用足够10cm 以上
卡片兼容MIFARE 系列、NTAG 等广泛
成本低较高

门禁刷卡场景对读写距离要求不高,RC522 低成本、接口简单、兼容性好。选择方案 1:RC522。

2.3 烟雾检测模块:MQ-2 vs MH-Z19

对比项MQ-2MH-Z19
检测对象烟雾、甲烷、LPG 等多种气体专注 CO/CO₂ 检测(NDIR 红外)
精度一般,但适应性强高精度、响应快
成本/生态低成本,应用案例丰富价格较高

实验室起火早期烟雾成分复杂,MQ-2 的多气体检测能力和成熟应用基础更符合需求。选择方案 1:MQ-2。

2.4 火焰检测模块:TEMT6000 vs HID-100

对比项TEMT6000HID-100
检测原理火焰红外辐射火焰可见光谱
高温稳定性125°C 以上仍稳定工作常温最佳,高温性能下降
适用场景工业炉具等高温设备需即时反应的场景

实验室可能有高温设备共存的环境,TEMT6000 的高温稳定性和耐用性更可靠。选择方案 1:TEMT6000。

2.5 键盘输入模块:矩阵键盘 vs 电容触摸按键

对比项矩阵键盘电容触摸按键
原理行列扫描检测按键闭合检测人体电容变化
引脚占用8 引脚支持 16 键每键独立
成本/寿命成本低,技术成熟无机械磨损但成本高

系统需要 0~9 数字、确认等多按键输入,矩阵键盘用最少引脚实现最多按键,成本敏感场景首选。选择方案 1:4×4 矩阵键盘。

2.6 温湿度检测模块:DHT11 vs SHT40

对比项DHT11SHT40
精度常规精度±0.3°C / ±2%RH
量程050°C,2080%RH-40125°C,0100%RH
接口单总线I2C
成本价格实惠较高

实验室环境温湿度监测属于基础需求,DHT11 的精度足以支撑阈值判断,且显著降低系统成本。选择方案 1:DHT11。

三、系统接线总表

模块接口方式引脚连接
RC522 刷卡模块SPISDA/SCK/MOSI/MISO→单片机 SPI 引脚,RST 复位,IRQ 可选中断,3.3V 供电
MQ-2 烟雾传感器ADC 模拟输入AO→单片机 ADC 输入端(本设计只用 AO),5V 供电
TEMT6000 火焰传感器GPIO 数字输入OUT→单片机 GPIO(高电平表示检测到火焰),5V 供电
4×4 矩阵键盘GPIO 行列扫描4 行线→数字输出引脚,4 列线→数字输入引脚
DHT11 温湿度单总线DATA→单片机 GPIO,VCC 接 3.3V,NC 悬空
ESP8266-01SUSART2,115200bpsTXD→RX2,RXD→TX2,CH_PD 接 3.3V,RST→PA4
OLED12864I2CSCL/SDA→单片机 I2C 引脚
继电器(门锁/通风)GPIO 输出控制端接单片机 GPIO,触点接门锁与通风设备
蜂鸣器GPIO 输出驱动端接单片机 GPIO

主控最小系统:8MHz 晶振(HSE)+ 32.768kHz 晶振(RTC)构成双时钟体系;复位电路由按键、电阻、电容组成,电阻保持 NRST 高电平防误复位,电容延长复位信号持续时间确保初始化可靠。

四、系统软件设计

4.1 主程序设计

上电后完成 RFID、矩阵键盘、烟雾、火焰、温湿度、继电器、Wi-Fi 模块和 OLED 的寄存器配置与接口初始化,随后进入主循环:

while (1)
{
    /* 1.实时采集:RFID、键盘、环境传感器数据并显示 */
    smoke   = Get_Smoke_PPM();        /* MQ-2 ADC均值 → PPM */
    flame   = GPIO_Read(FLAME_PIN);   /* TEMT6000 电平 */
    DHT11_Read(&temp, &humi);
    OLED_Show_All(smoke, flame, temp, humi);

    /* 2.身份验证:刷卡/密码正确→继电器开门 */
    if (RFID_Check_OK() || Pwd_Check_OK())
        Relay_Door_Open();

    /* 3.密码连错三次:蜂鸣器报警,按键解除 */
    if (Pwd_ErrCount >= 3) {
        Beep_Alarm();  OLED_Show("ALARM");
        if (KEY_AlarmOff()) Pwd_ErrCount = 0;
    }

    /* 4.环境报警:烟雾超标或明火→本地报警+Wi-Fi推送 */
    if (smoke > SMOKE_TH || flame) {
        Beep_Alarm();
        ESP8266_Report("SMOKE/FIRE ALARM");
    }

    /* 5.温湿度超限:自动启动通风设备 */
    if (temp > TEMP_TH || humi > HUMI_TH)
        Relay_Fan_On();

    /* 6.关门提醒:开锁后长时间未关门则报警 */
    if (Door_Open_Timeout())
        Beep_Alarm();
}

4.2 RFID 识别子程序

RC522 操作流程:复位引脚复位模块并发送 PCD_RESETPHASE 命令 → 配置 CRC 初值、计时器及 ModeReg/RxSelReg/RFCfg 寄存器 → 启用天线 → 发送寻卡请求(0x52)解析卡片类型 → 启用防冲撞机制并验证序列号 → 选择卡片并计算 CRC 校验码 → 发送验证指令(0x60/0x61)完成密码验证 → 读取 MIFARE 卡数据,每次读写都附加 CRC 校验确认数据完整性。

4.3 烟雾检测子程序

使能 ADC1 与 GPIO 时钟,引脚配模拟输入,复位并初始化 ADC 为独立模式、软件触发、数据对齐后校准。读取时启动软件转换,检测 ADC_FLAG_EOC 标志判断完成,结果为 0~4095;多次采样取平均抑制噪声,再基于 5V 参考电压与 12 位分辨率换算为电压值,最终折算出烟雾浓度(PPM)用于阈值比较。

4.4 火焰检测子程序

TEMT6000 的 OUT 引脚配置为输入模式,主循环中调用读取函数检查电平:高电平表示感应到火焰,立即执行报警与防护动作;低电平则保持监控状态,随时准备响应火焰信号。

4.5 温湿度检测子程序

单总线时序驱动 DHT11:数据引脚先设为输出发送约 1ms 低电平启动信号,拉高等待 20~40μs;再切为输入,等待传感器响应(低 80μs + 高 80μs);随后接收 40 位数据(湿度整数/小数、温度整数/小数、校验和),按高电平持续时间判位;接收完毕计算校验和验证有效性,最终提取温湿度数值。

4.6 无线通信子程序

串口 2 以 115200bps 与 ESP8266 通信,复位引脚 PA4 推挽输出:拉低复位 → 等 500ms → 检查缓冲区"ready"确认复位完成;依次发送 STA 模式设置、AT+CWJAP 连 WiFi(检查"OK")、AT+CIPMUX 关多路连接、AT+CIPSEND 进透传(检查"\r\nOK\r\n\r\n>“)、AT+CIPSTART 连 TCP 服务器(检查"CONNECT”),最后等待获取 IP 地址即完成入网上云,报警信息经此链路推送到手机端。

五、系统实现与测试

5.1 硬件与软件调试

焊接按电路图将各模块牢固焊接到电路板并检查焊点,再经 SPI、I2C、UART 接口与主控连接、核对供电电压;上电后逐一检查数据采集、通信和控制功能。软件在 Keil 中构建各模块驱动与主程序,使用状态机和中断机制处理 RFID 识别、环境监测与无线通信任务,ST-Link 单步调试跟踪变量与程序流,重点验证传感器数据读取逻辑。

5.2 功能测试

测试项目测试方法测试结果
刷卡开锁使用授权卡靠近 RC522验证成功,继电器动作模拟门锁打开
密码开锁键盘输入正确/错误密码正确密码开锁;连错三次蜂鸣器报警、OLED 提示,解除键可清除
关门提醒开锁后长时间不按关门键系统触发报警提醒及时关门
烟雾报警模拟烟雾使 MQ-2 超阈值蜂鸣器报警,报警信息上传手机端
火焰报警火源靠近 TEMT6000立即报警并远程推送
通风控制温湿度超出设定范围继电器自动控制通风设备运行
远程控制手机端下发通风/解除警报指令通风控制与报警解除正常响应
断网恢复模拟网络不稳定ESP8266 可自动恢复连接,数据传输连续

六、总结

这套实验室智能安防系统在 STM32F103C8T6 平台上构建了"人防 + 技防"的双重保障:RC522 刷卡与矩阵键盘密码实现人员出入管控,密码连错三次的防拆报警机制挡住了暴力试探;MQ-2、TEMT6000、DHT11 三类传感器组成的监测矩阵覆盖了烟雾、明火、温湿度三类核心风险,异常时本地声光报警与手机远程推送同步动作,通风设备既可按阈值自动启动也可手机远程控制;OLED 实时呈现全部状态,关门未关提醒等细节进一步堵住了管理漏洞。测试表明系统各项功能稳定可靠、响应迅速,凭借低成本与模块化设计的良好扩展性,可直接推广到机房、仓库等对环境安全有类似需求的场景。

Logo

智能硬件社区聚焦AI智能硬件技术生态,汇聚嵌入式AI、物联网硬件开发者,打造交流分享平台,同步全国赛事资讯、开展 OPC 核心人才招募,助力技术落地与开发者成长。

更多推荐