若该文为原创文章,转载请注明原文出处。

一、引言

(一)研究背景及意义

餐饮行业是火灾和安全事故的高发领域,燃气泄漏、油锅起火、设备过热等问题严重威胁人员生命和财产安全。传统安防手段多为独立烟感器或燃气报警器,存在功能单一、无法联动、报警滞后、缺乏远程通知等弊端。事后处置的方式已无法满足现代智慧安全管理的需求。因此,构建一套集多重隐患监测现场声光预警自动紧急处置远程云平台监管于一体的智能安全防护系统迫在眉睫。本项目基于STM32单片机,融合可燃气体、火焰、温度、人体感应等多种传感器,通过Wi-Fi接入物联网,旨在为餐饮店提供一套7x24小时全天候、多维度、主动式的安全守护解决方案,实现从“事后处置”向“事前预警、事中联动”的转变,对保障人民生命财产安全、推动智慧餐饮发展具有极其重大的现实意义。

(二)国内外研究现状

目前,市面上的商业安防系统多由大型消防企业提供,成本高昂且安装复杂,中小型餐饮店难以负担。消费级的智能家居安防产品(如智能烟雾报警器)又难以满足餐饮后厨高温、高湿、多油烟的恶劣环境要求。将工业级传感器高可靠性执行机构物联网云平台相结合,为餐饮场景定制开发高性价比、高可靠性的一体化安全系统,是目前市场的一个空白点和技术创新点。本设计旨在攻克多传感器数据融合与抗干扰算法,提供一个专业的餐饮安全解决方案。

二、系统总体设计

(一)系统架构

本系统采用“感知-决策-执行-云控”的四层纵深防御架构。

  • 感知层:由MQ-5(可燃气体)、红外火焰传感器、DS18B20(温度)、HC-SR501(人体红外)构成全方位的安全信息采集网络,构成第一道防线。

  • 决策层:STM32主控制器作为系统大脑,负责数据处理、多源信息融合判断,并根据预设策略做出决策。

  • 执行层:包括继电器控制的声光报警器、安全电磁阀、排烟风扇,负责执行紧急处置动作,构成第二道防线。

  • 云控层:基于ESP8266 Wi-Fi模块与云平台连接,实现远程报警推送、状态监控和远程管理,构成第三道防线。

(二)功能模块划分

  1. 燃气监测与处置模块:MQ-5传感器 + 安全电磁阀。

  2. 火灾监测与处置模块:火焰传感器 + 排烟风扇。

  3. 温度监测模块:DS18B20温度传感器。

  4. 入侵监测模块:HC-SR501人体红外传感器。

  5. 报警与显示模块:声光报警器 + OLED显示屏。

  6. 通信模块:ESP8266 Wi-Fi模块。

  7. 人机交互模块:按键(消音、测试、布防)。

三、硬件设计与实现

(一)系统硬件框架图

  • STM32F103C8T6 (主控核心,工业级)

  • MQ-5可燃气体传感器(模拟输出):AO引脚接 PA0 (ADC_IN0),DO引脚可接 PA1 用于快速报警

  • 红外火焰传感器(数字输出):DO引脚接 PA2

  • DS18B20温度传感器(防水探头):数据线接 PC15 (4.7K上拉)

  • HC-SR501人体红外传感器:输出接 PA3

  • 继电器模块 x 3:接 PC13(声光报警器), PC14(安全电磁阀), PC15(排烟风扇)

  • 有源蜂鸣器(高分贝):接 PB0 (备用本地报警)

  • OLED (SSD1306) : I2C接口,接 PB6(SCL), PB7(SDA)

  • 按键 x 3:消音、测试、布防/撤防 接至 PB1PB2PB3

  • ESP-01S (ESP8266) : 接USART2 PA2(TX), PA3(RX)

(二)主控模块选型及介绍

主控芯片选用工业级的STM32F103C8T6。其资源丰富且稳定:

  • 多路ADC/GPIO:可连接所有数字和模拟传感器。

  • 处理能力:能高效运行多传感器数据融合和抗干扰逻辑判断算法。

  • 可靠性:工业级芯片,工作温度范围宽,适应后厨环境。

(三)传感器模块选型及电路设计

(关键:传感器需适应后厨高温、高湿、油污环境)

  1. MQ-5可燃气体传感器:对天然气、液化石油气(LPG)灵敏度高。电路设计:VCC接5V,加热丝耗电较大,AOUT接ADC,DO阈值输出可接IO用于快速触发中断报警。必须安装于气源附近(距顶棚30cm以内)

  2. 红外火焰传感器:对特定波长的火焰红外辐射敏感。输出数字信号(有火焰时输出低电平)。安装于灶具上方,注意避免油污覆盖探头。

  3. DS18B20:采用不锈钢防水探头封装,用于监测油温(插入油锅)和环境温度(安装于排烟罩内)。

  4. HC-SR501人体红外传感器:用于监测非工作时间人员闯入。安装于后厨出入口,调节好灵敏度和延时时间。

(四)通信模块选型及配置

选用ESP-01S模块。配置其连接餐饮店Wi-Fi,并通过MQTT协议与云平台(如阿里云IoT、腾讯云物联网开发平台)通信。所有报警信息、传感器数据、布防状态均通过MQTT发布/订阅。App可远程接收报警推送并控制布防状态。

(五)执行模块选型及驱动电路

(核心:执行机构必须可靠!)

  1. 安全电磁阀:选用常闭型(NC) 燃气紧急切断阀。系统正常工作时,STM32控制继电器保持吸合以打开电磁阀供气。一旦报警,STM32立即断开继电器,电磁阀失电后在弹簧作用下瞬间切断气源。这是最安全的设计。强电警告! 电磁阀多为220VAC或24VDC,接线必须规范,做好强弱电隔离。

  2. 排烟风扇:通过继电器控制其220VAC电源的通断。发生火情时自动启动,强制排烟。

  3. 声光报警器:选用220VAC工业级声光报警器(警笛+旋转闪光),音量高、穿透力强,确保后厨嘈杂环境下也能听到。同样由继电器控制。

(六)显示模块选型及接口电路

选用0.96寸I2C接口的OLED显示屏,用于实时显示各传感器读数、系统状态(布防/撤防)、报警类型和历史记录,方便现场查看和调试。

(七)电源模块设计

系统可靠性基石!必须保证持续供电。

  • 主电源:220VAC转5VDC电源适配器供电。

  • 备用电源必须配备12V蓄电池组和UPS备用电源模块,确保市电中断后,系统仍能正常工作数小时,持续监控并报警。

  • 防护:电源入口安装防浪涌保护器

四、软件设计与实现

(一)开发环境搭建

  • IDE: Keil uVision5

  • : STM32HAL库

  • 协议: cJSON库,MQTT协议

(二)系统软件流程图

(三)系统初始化(代码片段)

// main.c
#include "adc.h"
#include "ds18b20.h"
#include "ssd1306.h"
#include "esp8266_mqtt.h"

ADC_HandleTypeDef hadc1;
UART_HandleTypeDef huart2; // For ESP8266
I2C_HandleTypeDef hi2c1;

// 全局变量
SystemState_TypeDef sys_state = ARM_DISARMED; // 布防状态
AlarmState_TypeDef alarm_state = ALARM_NONE;

int main(void) {
  HAL_Init();
  SystemClock_Config();
  MX_GPIO_Init();
  MX_ADC1_Init();
  MX_USART2_UART_Init();
  MX_I2C1_Init();

  OLED_Init();
  DS18B20_Init();
  ESP8266_MQTT_Init();

  // 初始化后立即关闭电磁阀,等待系统指令开启
  HAL_GPIO_WritePin(VALVE_RELAY_GPIO_Port, VALVE_RELAY_Pin, GPIO_PIN_RESET);

  while (1) {
      Main_Task();
      HAL_Delay(500); // 主循环周期500ms,快速响应
  }
}

(四)传感器数据采集与处理(代码片段)

void Sensor_ReadTask(void) {
    // 1. 读取MQ-5 (ADC值 -> 浓度百分比)
    gas_adc_value = HAL_ADC_GetValue(&hadc1);
    gas_concentration = (gas_adc_value / 4095.0) * 100.0;

    // 2. 读取火焰传感器 (数字输入)
    flame_detected = (HAL_GPIO_ReadPin(FLAME_GPIO_Port, FLAME_Pin) == GPIO_PIN_RESET);

    // 3. 读取DS18B20温度
    DS18B20_ReadTemp(&oil_temperature, &env_temperature); // 假设连接了两个

    // 4. 读取人体红外 (数字输入)
    intruder_detected = (HAL_GPIO_ReadPin(PIR_GPIO_Port, PIR_Pin) == GPIO_PIN_SET);
}

(五)控制功能实现(代码片段)

void Safety_Check_Task(void) {
    if (sys_state == ARM_DISARMED) {
        // 撤防状态:只监测和上报,不联动执行器
        if (intruder_detected && is_off_hours()) {
            alarm_state = ALARM_INTRUSION;
            Cloud_SendAlarm("Intrusion Detected in Kitchen!");
        }
        return;
    }

    // 布防状态:全面监测与联动
    if (gas_concentration > GAS_THRESHOLD) {
        alarm_state = ALARM_GAS;
        HAL_GPIO_WritePin(VALVE_RELAY_GPIO_Port, VALVE_RELAY_Pin, GPIO_PIN_RESET); // 紧急断气!
        HAL_GPIO_WritePin(ALARM_RELAY_GPIO_Port, ALARM_RELAY_Pin, GPIO_PIN_SET);   // 声光报警
        Cloud_SendAlarm("Gas Leakage!");
    } 
    else if (flame_detected) {
        alarm_state = ALARM_FIRE;
        HAL_GPIO_WritePin(VALVE_RELAY_GPIO_Port, VALVE_RELAY_Pin, GPIO_PIN_RESET); // 断气
        HAL_GPIO_WritePin(FAN_RELAY_GPIO_Port, FAN_RELAY_Pin, GPIO_PIN_SET);       // 启动排风扇
        HAL_GPIO_WritePin(ALARM_RELAY_GPIO_Port, ALARM_RELAY_Pin, GPIO_PIN_SET);   // 报警
        Cloud_SendAlarm("Fire Detected!");
    }
    else if (oil_temperature > OIL_TEMP_THRESHOLD || env_temperature > ENV_TEMP_THRESHOLD) {
        alarm_state = ALARM_OVERHEAT;
        HAL_GPIO_WritePin(ALARM_RELAY_GPIO_Port, ALARM_RELAY_Pin, GPIO_PIN_SET);
        Cloud_SendAlarm("Over Temperature!");
    }
    else {
        // 一切正常,确保电磁阀打开(供气),关闭报警和风扇
        if (alarm_state == ALARM_NONE) {
            HAL_GPIO_WritePin(VALVE_RELAY_GPIO_Port, VALVE_RELAY_Pin, GPIO_PIN_SET); // 打开电磁阀
            HAL_GPIO_WritePin(ALARM_RELAY_GPIO_Port, ALARM_RELAY_Pin, GPIO_PIN_RESET);
            HAL_GPIO_WritePin(FAN_RELAY_GPIO_Port, FAN_RELAY_Pin, GPIO_PIN_RESET);
        }
    }
}

五、系统测试与优化

(一)测试方案

  1. 功能测试

    • 燃气报警测试:使用打火机释放少量气体,测试MQ-5响应速度和电磁阀切断动作。

    • 火焰报警测试:用打火机在安全距离外测试火焰传感器,观察报警和排风扇联动。

    • 入侵测试:在布防状态下进入监测区域,测试人体传感器和远程报警。

    • 高温测试:用电吹风加热DS18B20,测试超温报警。

  2. 可靠性测试

    • 抗干扰测试:模拟后厨环境(开水蒸气、油烟),测试传感器是否误报。

    • 断电测试:切断市电,测试备用电源切换和系统持续运行能力。

    • 压力测试:长时间连续运行,测试系统稳定性。

(二)测试结果与分析

预计测试中,传感器的抗干扰性是最大挑战。后厨的蒸汽、油烟、高温都可能引起误报。需要通过硬件(滤波电路、传感器选型)和软件(算法滤波、多传感器协同判断)手段共同解决。

(三)系统优化

  1. 算法优化

    • 多传感器融合:采用“与”逻辑。例如,同时检测到高温火焰,才确认为火警,极大减少误报。

    • 延时报警:为燃气报警设置短时延时(如3秒),过滤掉炒菜时零星油烟的瞬间干扰。

    • 自适应阈值:根据环境温度自动微调燃气报警阈值。

  2. 可靠性优化

    • 看门狗:启用STM32的独立看门狗(IWDG),防止程序死机。

    • 定期自检:系统可定期自动测试声光报警器和继电器功能是否正常。

  3. 功能增强

    • 语音提示:增加语音模块,发生报警时用语音提示报警类型(“燃气泄漏,请勿动火!”),更有效。

    • 联动扩展:可与餐饮店的智能电表联动,发生燃气报警时自动切断整个后厨的非必要电源。

六、结论与展望

(一)未来展望

  1. AI图像识别:增加广角摄像头,利用AI图像识别技术分析后厨画面,识别离人熄火、油锅干烧、抽烟等不安全行为,实现更主动的预警。

  2. 消防系统联动:与餐饮店的自动喷淋系统或燃气总阀联动,在发生重大火情时自动启动,构成终极安全屏障。

  3. 大数据分析:云平台对多家连锁餐饮店的安全数据进行汇聚分析,评估安全风险等级,为管理决策和保险定价提供数据支持。

  4. 运维服务:基于系统构建安全运维服务平台,提供定期设备巡检、报警处理、数据报告等增值服务,开创安全即服务(SaaS)的新模式。

如有侵权,或需要完整代码,请及时联系博主。

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐