毕业设计 stm32的火灾监控与可视化系统(源码+硬件+论文)


0 前言

🔥
这两年开始毕业设计和毕业答辩的要求和难度不断提升,传统的毕设题目缺少创新和亮点,往往达不到毕业答辩的要求,这两年不断有学弟学妹告诉学长自己做的项目系统达不到老师的要求。

为了大家能够顺利以及最少的精力通过毕设,学长分享优质毕业设计项目,今天要分享的是

🚩 毕业设计 stm32的火灾监控与可视化系统(源码+硬件+论文)

🥇学长这里给一个题目综合评分(每项满分5分)

  • 难度系数:3分
  • 工作量:3分
  • 创新点:4分

🧿 项目分享:

https://gitee.com/sinonfin/sharing

在这里插入图片描述

在这里插入图片描述

实物演示效果

毕业设计 stm32的火灾监控与可视化系统 - 单片机 嵌入式 物联网

1 主要功能

本系统采用的是stm32芯片来作为系统处理器,stm32处理器对烟雾浓度、温度等火警信息进行采集时,选择的火警探测器型号为数字型,利用HL_340总线将其与处理器串口相连来实现预期目的。当检测到火灾发生时,通过串口连接的 wifi/NBIOT模块将数据发送到远程客户端,远程客户端接收到数据后,根据不同的设置来执行不同的操作。

在这里插入图片描述

2 硬件设计(原理图)

在这里插入图片描述

3 核心软件设计

系统整体结构

火灾监控报警系统的构架采用单片机的形式。报警器内含灰尘传感器、烟雾(空气质量)传感器,由烟雾传感器发出模拟信号,经由放大模块进行放大后,通过AD转换器完成信号转换,最后由单片机接收转换后的数字信号[18]。通过零点补偿、标定运算等处理后,即可将接收的数字信号显示到液晶模块上,之后再经由串行口传送到上位机。同时在单片机内与不同的预订值相比较达到哪个等级就启动哪个等级的延时声光报警。

本系统的控制核心为STM32单片机,为了实现系统各项功能,又配备了其他电路,如状态显示、信号采集、按键输入等。在报警值的设定上,本系统引入了巡检方式,其发出的声信号、光有所不同。在单片机的选择上,本系统所选的STM32单片机具有诸多优点,如功耗低、精度高等,既能确保报警器的可靠性与精确性,而且也可降低报警器的整体体积,让系统开发所需成本得到有效降低。
以下是本系统的整体结构框架示意图,如图

在这里插入图片描述

主程序流程

系统总体方案采用单片机构架实现烟雾浓度采集、数据传送通信、人机交互等功能。其工作流程大致可以分为以下几步:
(1)在系统正式工作前,首先要预热传感器,这是因为所选的MQ-2型传感器在长时间不工作的情况下,如果刚通电则无法正常工作,也就是无法对烟雾信息进行正常采集,所以要事先进行预热。只有在完成程序初始化操作后,才可让系统处于监管状态[19]。
(2)下位机数据采集,烟雾浓度采集系统的特点:此系统通过烟雾传感器完成对烟雾浓度的采集,将烟雾信号转化为电信号。
(3)生产现场的各种物理量经过传感器变为电信号,这些电信号往往比较小,要想更准确的对火灾是否发生进行判断,要将其放大。所以要将烟雾传感器的电信号通过信号调理电路和采样保持器进行调整,接着让AD转换器对电信号进行模数转换等处理。
(4)烟雾浓度信息经过stm32单片机内部分析处理后,判断电压是否超过程序设计的阈值,再综合上灰尘传感器的判断,来判断系统是否启动报警。判断完成后单片机通过WIFI模块的设置跟上位机进行数据通信。
系统主程序流程图如图

在这里插入图片描述

篇幅有限,不过多复述详细设计细节,详细的设计分享在论文中。。。

关键代码

主函数中初始化了串口1、串口2、SPI2、液晶屏、IED灯引脚及按键引脚、烟雾报警器,PM2.5的ADC功能引脚及ADC功能初始化,然后直接进入WIFI模块配置的过程,将WIFI配置为AP模式后,开始跟上位机进行通讯。
 int main(void)
 { 
	delay_init();	    	                             //延时函数初始化
	NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);   //设置NVIC中断分组
	uart_init(115200);	 	                         //串口初始化为115200
	USART2_Init(115200);                   //初始化串口2波特率为115200
	SPI2_Init();		                                //初始化SPI
	LCD_Init();				                         //初始化液晶
	LED_Init();         	                         //LED初始化 
	KEY_Init();				                         //按键初始化  													    
	#if (CODE_TYPE==2)
	DHT11_GPIO_Config();
	 Adc_Init_Light();
	 Adc_Init_Soil();
	#elif(CODE_TYPE==3)
	 Adc_Init_Fire();
	 //Adc_Init_MQ25();
	 Adc_Init_MQ135();
	 Adc_Init_PM25();
	#endif   
	  			                              //初始化空气质量检测传感器
 	mem_init();				                       //初始化内存池  
	Lcd_Clear(WHITE);	 
	LCD_ShowString(5,20,128,16,16,"System Success!");
	delay_ms(1500);	
	Lcd_Clear(WHITE);//清屏       
	atk_8266_test();		                          //进入ATK_ESP8266测试
}

WIFI模块的连接
	WIFI模块通过单片机串口2的引脚PA2和PA3来连接,首先初始化串口2,然后通过AT命令,将WIFI模块设置工作在AP模式,且作为服务器,服务器的端口号为5000,上位机首先连接次WIFI的热点,然后连上WIFI的服务器,此时单片机可以将采集的火情及毒气浓度值及PM2.5 的值发送给上位机,上位机也可以设置单片机的手动或自动工作的模式。也可以远程让单片机发出报警。

//连接端口号:8086
const u8* portnum="5000";		 

//WIFI   STA模式 ,设置要去连接的路由器无线参数
const u8* wifista_ssid="ALIENTEK";			//路由器SSID号
const u8* wifista_encryption="wpawpa2_aes";	//wpa/wpa2 aes加密方式
const u8* wifista_password="12345678"; 	//连接密码

//WIFI   AP模式 模块对外的无线参数
#if (CODE_TYPE==2)
const u8* wifiap_ssid="DanChenBS_Soil";			
#elif (CODE_TYPE==3)
const u8* wifiap_ssid="DanChenBS_Fire";			//对外SSID号
#else
const u8* wifiap_ssid="DanChenBS_FC";			
#endif
const u8* wifiap_encryption="wpawpa2_aes";	//wpa/wpa2 aes加密方式
const u8* wifiap_password="12345678"; 		//连接密码

自动报警
当上位机与下位机连接成功过后,上位机的模式切换到自动报警模式以后,下位机会把单片机所处环境信息实时传给上位机程序并显示,当数据远远超过所设置阈值时,就进行报警。
    def manual_close(self):
        send_data = '###AUTO'
        self.gui.var1.set('已切换到自动模式')
        i = 15
        while(i > 0): 
            tcp_client_socket.send(send_data.encode("gbk"))
            data_len = len(prase_data)
            if( data_len > 0 and data_len < 10):
                break
            i -= 1
            time.sleep(0.1)
    def Add_open(self):
        send_data = '###OPEN'
        self.gui.var2.set('开始报警')
        i = 15
        while(i > 0): 
            tcp_client_socket.send(send_data.encode("gbk"))
            data_len = len(prase_data)
            if( data_len > 0 and data_len < 10):
                
                break
            i -= 1
            time.sleep(0.1)
    def Add_close(self):
        send_data = '###CLOSE'
        self.gui.var2.set('停止报警')
        i = 15
        while(i > 0): 
            tcp_client_socket.send(send_data.encode("gbk"))
            data_len = len(prase_data)
            if( data_len > 0 and data_len < 10):
                
                break
            i -= 1
            time.sleep(0.1)

4 实现效果

在这里插入图片描述
上位机
在这里插入图片描述

实现效果视频:

毕业设计 stm32的火灾监控与可视化系统 - 单片机 嵌入式 物联网

5 最后

包含内容

在这里插入图片描述
详细设计论文

在这里插入图片描述

🧿 项目分享:

https://gitee.com/sinonfin/sharing

  • 0
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 基于STM32的智慧仓库管理系统源码实现了仓库的物品入库、出库、查询和统计等功能。该系统采用了模块化设计,使得系统的扩展性和维护性更为优秀。主要的硬件部分包括STM32单片机、数码管显示器、红外遥控器等。 该系统的主要功能包括管理员的权限管理、物品的入库和出库以及相关的操作记录、对物品状态的查询、物品的报废和损坏以及实时的库存统计等。系统还具备了一些额外的功能,如遇到非法操作时将会自动报警,同时还可以通过远程监控实时了解仓库的状态。 该系统的实现不仅提高了仓库管理的效率,还为公司的管理工作提供了更可靠和安全的保障。此外,该系统的开源代码也为后续的开发和拓展提供了重要的借鉴和参考。 基于STM32的智慧仓库管理系统源码将现代化智能技术应用于仓库管理这一传统行业,具有很大的商业前景和实际应用的价值。随着物联网和工业4.0时代的到来,该系统还可以为更高级别的智能制造和物流管理提供一个创新的方案。 ### 回答2: 基于STM32的智慧仓库管理系统源码是一种基于嵌入式系统的自动化仓储解决方案,具有智能化、自动化、高效性等特点。该系统源码是学生毕业设计的产物,可以帮助企业更好地管理其仓储业务,提高物料质量的控制,优化仓储物流,减少费用和减少人力资源的使用。 该系统源码结构对于初学者比较简单,在调试时也方便人们进行查找异常问题。整个系统分为硬件和软件两部分。硬件方面,该系统主要采用STM32系列单片机,具有强大的计算能力、大容量存储空间、高速数据传输、多种通信接口等优点。软件方面,该系统采用的是C语言编写的代码,拥有灵活性和可扩展性。 系统源码主要实现了智慧仓库的多项管理功能,例如货物的入库、出库、转移等操作,对数据的实时监测和记录,实现了多种数据交换方式。该系统可视化操作页面,用户可以通过Web管理平台进行远程控制和监视,使仓库管理工作更简单、高效、精确。 总而言之,基于STM32的智慧仓库管理系统源码可以帮助企业实现更加智能化的仓储管理,有助于仓库管理工作的合理性和高效性,满足企业对于物流仓储的改进和高效化要求,是一款非常值得使用和深入研究的物流管理工具。 ### 回答3: 基于STM32的智慧仓库管理系统源码是一款基于STM32的智能仓库管理软件,主要用于实现仓库内货物的管理、仓库设备的监控、货物的入库和出库等功能。 该仓库管理系统源码包含了主控程序以及各种驱动程序、界面程序和通讯程序。主控程序是整个系统的核心,它通过各个设备的驱动程序控制各个设备的运行,实现对整个仓库的监控和管理。驱动程序包括温湿度传感器驱动、RFID读卡器驱动、LCD显示屏驱动等。界面程序用于与人机交互,显示当前仓库的货物信息、设备运行状态等信息。通讯程序实现了与服务器之间的通讯,可以将仓库内的信息传输到服务器上进行分析和处理。 该仓库管理系统源码的开发需要具备一定的嵌入式开发和通信协议的基础。另外,开发人员需要具备一定的项目管理和编码规范的意识,以保证源码的可维护性和可扩展性。 综上所述,基于STM32的智慧仓库管理系统源码是一款实用的仓库管理软件,它的开发需要具备一定的专业技能和开发经验。在未来的自动化仓库管理中,该软件将有着广泛的应用前景。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值