【毕业设计】75-基于物联网云平台的家居火灾监控系统研究(论文+答辩PPT+仿真+原理图+源代码)

【毕业设计】75-基于物联网云平台的家居火灾监控系统研究(论文+答辩PPT+仿真+原理图+源代码)

摘要

我国的城市居家通常以高层建筑为主,虽然高层建筑可以居住更多的人员,但是也出现了人员过于密集、集中,如果出现了火灾或者其他危险人员的生命安全以及经济安全都无法保障。所以随着科学技术的进步,对于火灾的前期预警与火灾的控制成为了消防系统重点的研究方向。
本文针对家居火灾监控系统进行深入研究,以物联网云平台为载体,结合底层的传感器,控制电路等组成一款智能家居火灾监控系统。可以在火灾前期对火情进行监控,保障了人员的人身安全与财产安全。基于物联网平台的家居火灾监控系统主要由两部分组成,第一部分为物联网云平台,云平台作为监控端,可以实时查看到家居的实时信息。第二部分为传感器控制电路监测端,通过温湿度传感器、火焰传感器、烟雾等多个传感器组成实现对环境的数据进行监测,通过ESP8266模块与云平台进行无线通信与控制,通过传感器部分实现数据的实时监控与稳定传输。
通过对两个部分的设计,最终提出基于物联网云平台的家居火灾监控系统的解决方案,通过多传感器的数据融合实现对火灾的前期预警,再结合云平台的监控报警功能实现对火灾的实时监控与预警。最终通过数据的实时性测试与传感器控制电路的可靠性测试证明了系统的运行正常并达到了预期目标。

关键词:物联网云平台;火灾监控;ESP8266;火灾预警

资料包含:
1、详细设计说明书,低重复率 1.8W字以上
2、原理图工程
3、仿真工程
4、源代码工程
5、答辩PPT
6、开题报告
7、任务书
8、期中检查表
9、流程图
10、原理图截图、仿真截图、仿真录像
描述:“资料属于虚拟资料,仅用于学习设计原理,禁止用于他用。

目录

目 录

1 绪论 1
1.1 课题研究背景 1
1.2 课题研究意义 1
1.3 国内外研究情况 2
1.3.1 国内研究情况 2
1.3.2 国外研究情况 2
1.4 本文主要研究内容 3
2 系统相关的技术 4
2.1 物联网云平台 4
2.1.1 OneNET云服务平台 4
2.1.2 OneNET云平台技术 4
2.2 Wi-Fi无线传输协议 5
2.3 TCP/IP传输协议 5
2.4 多传感器融合技术 6
2.4.1 融合原理 6
2.4.2 融合算法 6
2.5 本章小结 7
3 系统硬件设计 8
3.1 单片机最小系统设计 8
3.1.1 单片机介绍 8
3.1.2单片机最小系统设计 10
3.2 传感器检测电路设计 10
3.2.1 温湿度检测电路设计 10
3.2.2 烟雾及火焰检测电路设计 11
3.3 Esp8266无线模块电路设计 11
3.4 按键控制电路设计 13
3.5 电源电路设计 13
3.6 LCD1602电路设计 14
3.7 系统电路设计 15
3.8 本章小结 16
4 系统程序设计 17
4.1 编程软件介绍 17
4.2 主程序设计 17
4.3 传感器采集部分程序设计 19
4.3.1 烟雾与火焰传感器程序设计 19
4.3.2 温湿度传感器程序设计 20
4.3.3 LCD1602显示模块程序设计 20
4.4 云平台应用设计 22
4.4.1 设备添加 22
4.4.2 UI界面设计 22
4.4.3 无线传输数据处理设计 23
4.5 本章小节 24
5 系统测试 25
5.1 仿真电路功能模块测试 25
5.1.1 仿真电路搭建 25
5.1.2 正常情况下的状态 26
5.1.3 异常情况下的状态 26
5.2 云平台功能测试 27
5.3 可靠性与实时性测试 29
5.4 本章小结 30
6 总结 31
致 谢 32
参考文献 33

请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述

#include "reg51.h"
#include "ADC0832.h"
#include "lcd1602.h"
#include "SHT11.h"
#define uchar unsigned char
#define uint unsigned int
sbit AA=P2^4;//电机
sbit BB=P2^5;
sbit CC=P2^6;
sbit DD=P2^7;
sbit led=P2^3;//指示灯
sbit man=P3^6;//人体红外

uchar yan=0,light=0;//烟雾、光照
uchar lim1=50,lim2=50,lim3=25,lim4=70;//阀值
uchar mode=0,time=0;
uchar disp1[]="00";
uchar disp2[]="000";

uchar key_scan()//按键检测
{
uchar i,j;
i=0;
j=0;
P1=0x0f;
if(P1!=0x0f) //检测有无按下
{
 switch(P1)//检测行
 {
  case 0x0e:i=1;break;
  case 0x0d:i=5;break;
  case 0x0b:i=9;break;
  case 0x07:i=13;
 }
 P1=0xf0;
 switch(P1)//检测列
 {
  case 0xe0:j=0;break;
  case 0xd0:j=1;break;
  case 0xb0:j=2;break;
  case 0x70:j=3;
 }
 while(P1!=0xf0);//等待按键松开
}
return i+j;
}

void zheng()//正转
{	
	uchar i=0;
	for(i=0;i<20;i++)
	{
	BB=1;delay_uint(5000);
	AA=0;delay_uint(5000);
	CC=1;delay_uint(5000);
	BB=0;delay_uint(5000);
	DD=1;delay_uint(5000);
	CC=0;delay_uint(5000);
	AA=1;delay_uint(5000);
	DD=0;delay_uint(5000);
	}
	led=0;
}
void fan() //反转
{
	uchar i=0;
	for(i=0;i<20;i++)
	{
		DD=1;delay_uint(5000);
		AA=0;delay_uint(5000);
		CC=1;delay_uint(5000);
		DD=0;delay_uint(5000);
		BB=1;delay_uint(5000);
		CC=0;delay_uint(5000);
		AA=1;delay_uint(5000);
		BB=0;delay_uint(5000);
	}
	led=1;
}
//主函数
void main()
{
	uchar i=0;
	init_1602();
	TMOD|=0X01;
	TH0=0X3C;
	TL0=0XB0;	
	ET0=1;//打开定时器0中断允许
	EA=1;//打开总中断
	TR0=1;//打开定时器
	while(1)
	{
		 i=key_scan();//按键检测
		 if(i==1)//设置
		 {
		 	mode=1;
			write_string(1,0,"                ");
			write_string(2,0,"                ");
		}
		if(i==2)//OK
		{
			mode=0;
			write_string(1,0,"                ");
			write_string(2,0,"                ");
			}
		//判断,窗户控制
		if((yan>lim1)||(sht_temp>lim3)||(sht_humi>lim4))
		{
			if(led)
				zheng();//开窗
		}
		else
		{
			if((light>lim2)|| !man)
			{
				if(!led)
					fan();//关窗
			}
		}
		//按键设置
		if(mode==1)
		{
			if(i==3)//温度
			{
				if(lim3<99)
					lim3++;
			}
			if(i==4)
			{
				if(lim3>0)
					lim3--;
			}
			if(i==5)//烟雾
			{
				if(lim1<99)
					lim1++;
			}
			if(i==6)
			{
				if(lim1>0)
					lim1--;
			}
			if(i==7)//湿度
			{
				if(lim4<99)
					lim4++;
			}
			if(i==8)
			{
				if(lim4>0)
					lim4--;
			}
			if(i==9)//光照
			{
				if(lim2<255)
					lim2++;
			}
			if(i==10)
			{
				if(lim2>0)
					lim2--;
			}
		}
	}
}
//定时器0中断
void Timer0() interrupt 1
{
	uint i;
	if(time<10)//延时采样
		time++;
	else
	{
		time=0;
		yan=ADC(1);//测量烟雾
		light=ADC(2);//测量光照
		i=yan;
		i=i*99/128;
		yan=i;
		
		ReadShtData();//测量温湿度

		//显示
		if(mode==0)
		{
			disp1[0]=yan/10+0x30;
			disp1[1]=yan%10+0x30;
			write_string(1,0,"Y:");
			write_string(1,2,disp1);

			disp2[0]=light/100+0x30;
			disp2[1]=light%100/10+0x30;
			disp2[2]=light%10+0x30;
			write_string(1,4,"%   F:");
			write_string(1,10,disp2);
			write_string(1,13,"Lx");

			disp1[0]=sht_temp/10+0x30;
			disp1[1]=sht_temp%10+0x30;
			write_string(2,0,"T:");
			write_string(2,2,disp1);

			disp1[0]=sht_humi/10+0x30;
			disp1[1]=sht_humi%10+0x30;
			write_string(2,4,"C   S:");
			write_string(2,10,disp1);
			write_string(2,12,"% ");
		}
		else
		{
			disp1[0]=lim1/10+0x30;
			disp1[1]=lim1%10+0x30;
			write_string(1,0,"set:");
			write_string(1,4,disp1);

			disp2[0]=lim2/100+0x30;
			disp2[1]=lim2%100/10+0x30;
			disp2[2]=lim2%10+0x30;
			write_string(1,6,"%  ");
			write_string(1,9,disp2);
			write_string(1,12,"Lx");

			disp1[0]=lim3/10+0x30;
			disp1[1]=lim3%10+0x30;
			write_string(2,4,disp1);

			disp1[0]=lim4/10+0x30;
			disp1[1]=lim4%10+0x30;
			write_string(2,6,"C  ");
			write_string(2,9,disp1);
			write_string(2,11,"% ");
		}
	}
	TH0=0X3C;
	TL0=0XB0;
}
  • 26
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

叫我Eric

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值