项目一:基于stm32的阿里云智慧消防监控系统

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

Hi,大家好,我是忆枫,今天向大家介绍一个单片机项目。

一、简介

智慧消防监控系统,是用于检测火灾,温度,烟雾的监控系统。以 stm32单片机为核心外加 MQ-2 型半导体电阻式雾敏感器件的火灾报警器,实现声光报警、 OLED显示,故障自诊断、 浓度显示、 报警限设置、及APP远程监控,控制等功能。是一种结构简单、 性能稳定、 使用方便、 价格低廉、智能化的火灾报警器, 具有一定的实用价值。

二、系统设计

智慧消防监控系统结构框图如下图所示,系统以单片机为核心,配合外围电路共同完成:

  • 信号采集
  • 温湿度,浓度等显示
  • 上下限显示,及状态显示
  • 声音及闪烁报警
  • 按键输入,上下限设置
  • 水泵等控制
  • APP通信

1、烟雾浓度显示

通过oled显示可燃烟雾的浓度值, 并且可以切换到设置状态, 通过按键设置或者更改报警限值, 以便于用户或检测人员随时观测烟雾浓度及更改报警限。

2、温湿度传感器

使用的是DHT11 数字温湿度传感器,一款含有已校准数字信号输出的温湿度复合传感器,内部由一个 8 位单片机控制一个电阻式感湿元件和一个 NTC 测温元件。MCU通过单总线协议,读出DHT11的温度和适度。

3、WIFI模块

MCU和APP是通过WIFI实现远程控制的,使用的是ESP8266,MCU通过AT指令和ESP8266交互,服务器采用阿里云,通信协议为MQTT.

整体功能是,通过按键设置阈值,OLED显示时检测烟雾,火焰,温度等,当检测到火或温度,烟雾达到预设值,通过声光方式,报警提示,并自动联动水泵开关,通过WIFI实时上传数据到阿里云,APP实时检测各个传感器及蜂鸣器,水泵等状态,也可以远程控制水泵,蜂鸣器等。

三、APP实现

APP开发使用的是App inventor开发,是一款可视化编程环境,采用搭积木的方式快速建立应用程序,并且可以结合AI伴侣,极其便利的在手机上进行测试和应用。

APP界面

四、MCU部分代码

初始化

  initSysTick();  
  initADC();     // ADC初始化
  initUART();    // 串口1初始化
  initUART2();   // 串口2初始化,ESP8266
  initLED();     // LED初始化
  initKey();     // 按键初始化
  initRelay();   // 继电器和蜂鸣器初始化
  initDHT11();   // 温湿度传感器
  initIIC();     // I2C初始化
  initOLED();    // OLED初始化
  initNVIC(NVIC_PriorityGroup_2);

定时采集温湿度

void TIM3_IRQHandler(void)
{
  if(TIM_GetITStatus(TIM3, TIM_IT_Update) == SET)
  {
    TIM_ClearITPendingBit(TIM3, TIM_IT_Update);
    
    if(++n > 10)
    {
      n=0;
      DHT11_data = readDHT11();
      device.Humidity = DHT11_data >> 8;
      device.Temperature = DHT11_data & 0x00FF;
     
      toggleLED();
    } 
  }
}

数据采集实时显示

/*数据采集显示*/
    if(++i>3)
    {
      i = 0;
      
      showNumber(40,2,device.Humidity,DEC,3,FONT_16_EN);
      showNumber(40,4,device.Temperature,DEC,3,FONT_16_EN);
      showNumber(80,4,set_temperature,DEC,3,FONT_16_EN);
      showNumber(40,6,device.Lux,DEC,4,FONT_16_EN);

      device.Lux = getConvValueAve(10,1000);
    }

五、板子及APP

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

相关推荐
qq_459730033 小时前
4-3 MCU中ARM存储器的作用
arm开发·单片机·嵌入式硬件
嵌入式科普6 小时前
嵌入式科普(24)从SPI和CAN通信重新理解“全双工”
c语言·stm32·can·spi·全双工·ra6m5
重生之我是数学王子6 小时前
点亮核心板小灯 STM32U575
stm32·单片机·嵌入式硬件
end_SJ6 小时前
初学stm32 --- 定时器中断
stm32·单片机·嵌入式硬件
南城花随雪。6 小时前
单片机:实现数码管动态显示(0~99999999)74hc138驱动(附带源码)
单片机·嵌入式硬件
南城花随雪。9 小时前
单片机:实现信号发生器(附带源码)
单片机·嵌入式硬件
灵槐梦10 小时前
【速成51单片机】2.点亮LED
c语言·开发语言·经验分享·笔记·单片机·51单片机
三月七(爱看动漫的程序员)11 小时前
HiQA: A Hierarchical Contextual Augmentation RAG for Multi-Documents QA---附录
人工智能·单片机·嵌入式硬件·物联网·机器学习·语言模型·自然语言处理
新晨单片机设计11 小时前
【087】基于51单片机智能宠物喂食器【Proteus仿真+Keil程序+报告+原理图】
嵌入式硬件·51单片机·proteus·宠物·ad原理图
大风起兮1212 小时前
STM32HAL库中RTC闹钟设置时分秒,年月日
stm32·嵌入式硬件