《智慧校园系统》课件-项目5灾情信息监测模块_第1页
《智慧校园系统》课件-项目5灾情信息监测模块_第2页
《智慧校园系统》课件-项目5灾情信息监测模块_第3页
《智慧校园系统》课件-项目5灾情信息监测模块_第4页
《智慧校园系统》课件-项目5灾情信息监测模块_第5页
已阅读5页,还剩23页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

智慧校园系统项目5灾情信息监测模块项目概述实时安防系统的灾情信息监测是借助物联网技术,把火焰、烟雾传感器嵌入到各种安防监控设备中,通过计算机将灾情监测的数据进行采集并实现推送与报警。本项目将实现火焰传感器与烟雾传感器的数据采集,通过数字量ADAM4150传输到计算机并显示在程序窗体中;利用程序推送灾情信息至LED屏。该项目的实施为后续项目中智慧校园管理相关系统的整合做好准备。采集火焰传感器数据015.1采集火焰传感器数据火焰传感器利用红外线对火焰非常敏感的特点,使用特制的红外线接受管来检测火焰。本任务模拟校园安防之灾情监测系统,用C#编写程序将火焰传感器采集的数据,通过窗体实时显示出来。通过本任务的实施,使学生掌握for语句、return的使用,了解DateTime类常见属性和常见方法。【任务描述】程序运行界面最终效果5.1采集火焰传感器数据控件名称控件类型属性名属性值控件功能Form1窗体Text火焰

com_port下拉框

输入/显示串口btn_open按钮Text开启

txt_time文本框

显示时间txt_even文本框

显示入侵信息timer1定时器Interval2000

lbl_port标签Text环境串口

lbl_time标签Text时间

lbl_even标签Text入侵

界面控件设置5.1采集火焰传感器数据创建新项目,添加DeviceCtrlLibrary.dll引用;创建界面,参照教材图5-1与表5-1;引用DeviceCtrlLibrary与System.IO.Ports命名空间;声明boolIsOpen全局变量,用于判断是否打开串口,默认为关闭;参照教材代码,添加Form1窗体Load事件,实现读取系统串口;参照教材代码,添加btn_open开启按钮单击事件,实现串口设置,开关定时器;在程序中自定义一个方法,命名为GetFireInfo,判断火焰传感器返回bool值是否为true若为true,返回火情信息;参照教材代码,添加timer1定时器Tick事件,调用GetFireInfo方法,获取实时数据。【任务实施】【小贴士】DeviceCtrlHelper.adam4150Helper.SetData().fireValue用于获取火焰传感器的数据,返回类型为bool类型,True代表有火情,False代表正常。5.1采集火焰传感器数据for循环1.循环就是重复执行语句,for循环适用于限定次数的循环。格式如下:表达式1:一般为赋值语句,给循环控制变量赋初值。表达式2:逻辑表达式,控制循环条件;为真时,执行循环体语句,直至为假时退出循环。表达式3:一般为循环控制变量自增或自减。【知识提炼】for(表达式1;表达式2;表达式3)

{

语句;}5.1采集火焰传感器数据for循环2.以下示例代码显示1至100的和:【知识提炼】intsum=0;for(inti=1;i<=100;i++){sum=sum+i;}MessageBox.Show("1+2+3...+100="+sum.ToString());5.1采集火焰传感器数据return语句return语句出现在方法中,用来结束当前方法并返回return后的值;它还可以返回一个可选值。

如果方法为void类型,则可以省略return语句。在下面的示例中,方法Area()以double类型值的形式返回矩形的面积:【知识提炼】privatevoidForm1_Load(objectsender,EventArgse){MessageBox.Show(Area(3.1,2.5).ToString());}privatedoubleArea(doublex,doubley){returnx*y;}5.1采集火焰传感器数据DateTime类

“DateTime”类是用于处理时间类型数据,通常以日期和时间表示。【知识提炼】名称说明Now获取一个DateTime对象,该对象设置为此计算机上的当前日期和时间。Today获取当前日期。Date获取此实例的日期部分。Day获取此实例日期为该月中的第几天。Month获取此实例日期的月份部分。Year获取此实例日期的年份部分。DayOfWeek获取此实例日期是星期几。DayOfYear获取此实例日期是该年中的第几天。Hour获取此实例日期的小时部分。Minute获取此实例日期的分钟部分。Second获取此实例日期的秒部分。常见属性5.1采集火焰传感器数据【知识提炼】名称说明AddDays将指定的天数加到此实例的值上。AddMonths将指定的月份数加到此实例的值上。AddYears将指定的年份数加到此实例的值上。AddHours将指定的小时数加到此实例的值上。AddMinutes将指定的分钟数加到此实例的值上。AddSeconds将指定的秒数加到此实例的值上。IsLeapYear返回指定的年份是否为闰年。Parse将日期和时间的字符串类型转换成其DateTime类型。ToLongDateString将此实例的值转换为长日期字符串表示形式。ToLongTimeString将此实例的值转换为长时间字符串表示形式。ToShortDateString将此实例的值转换为短日期字符串表示形式。ToShortTimeString将此实例的值转换为短时间字符串表示形式。ToString将此实例的值转换为字符串表示。常见方法5.1采集火焰传感器数据通过“任务实施”的操作步骤,已经实现了实时获取火焰传感器数据的功能。本环节将使用多线程机制来实现该功能,为任务二做好准备。请根据教材流程图以及下列方法提示,完善书本代码,实现上述功能。【能力拓展】名称说明Start()开启线程。Resume()继续已挂起的线程。Suspend()挂起线程。Sleep(int32)休眠线程,Thread.Sleep(2000)为休眠2秒。Abort()终止线程。线程方法5.1采集火焰传感器数据分别在教室A、B安装火焰传感器模拟智慧教室火焰检测系统,,运行效果如下图所示,具有如下功能。【注:本题使用DI1与DI2接口,接入火焰传感器】:有入侵在界面上闪烁显示。将入侵信息推送至LED屏上显示。【自主探究】运行效果采集烟雾传感器数据025.2采集烟雾传感器数据烟雾传感器就是通过监测烟雾的浓度来实现火灾报警提示。本任务模拟校园安防之灾情监测系统,实现用线程将烟雾传感器采集的数据,在窗体中实时显示。通过本任务的实施,使学生掌握while语句的使用,理解while循环与for循环各自的特点,初步了解线程Thread的概念以及线程的使用。【任务描述】程序运行界面最终效果5.2采集烟雾传感器数据控件名称控件类型属性名属性值控件功能Form1窗体Text烟雾

com_port下拉框

输入/显示串口btn_open按钮Text开启

txt_time文本框

显示时间txt_even文本框

显示入侵信息lbl_port标签Text环境串口

lbl_time标签Text时间

lbl_even标签Text入侵

界面控件设置5.2采集烟雾传感器数据创建新项目,添加DeviceCtrlLibrary.dll引用;创建创建界面,参照教材图5-6与表5-5;引用DeviceCtrlLibrary、System.IO.Ports与System.Threading命名空间;声明boolIsOpen、boolIsFirst、Threadthd全局变量,分别用于判断是否打开串口,用于记录线程是否第一次打开,定义Thread线程;在程序中自定义一个方法,命名为GetData,利用线程实现数据的实时读取;参照教材代码,添加Form1窗体Load事件,实现读取系统串口,并添加Control.CheckForIllegalCrossThreadCalls=false代码,设置允许跨线程调用;参照教材代码,添加btn_open开启按钮单击事件,实现串口设置,并开启、暂停线程;参照教材代码,添加Form1窗体FormClosing事件,实现线程的终止。【任务实施】5.2采集烟雾传感器数据while循环While循环如果条件为真,则循环语句会重复执行,直至条件为假才结束循环。格式如下:在下面的示例中,计算1至10的和,当i大于10时结束while循环。【知识提炼】inti=1,sum=0;while(i<11){sum=sum+i;

i=i+1;}MessageBox.Show(sum.ToString());while(条件){

语句;}5.2采集烟雾传感器数据Thread线程.NET是一个多线程的环境,一个C#程序开始于一个单线程,这个单线程由主线程自动创建的,可具有多线程创建额外的线程。【知识提炼】staticvoidMain(string[]args){Threadthd=newThread(PrintB);thd.Start();while(true)Console.Write("A");}staticvoidPrintB(){while(true)Console.Write("B");}5.2采集烟雾传感器数据通过“任务实施”的操作步骤,已经实现了获取烟雾传感器数据的功能。本环节将实现:在有烟雾报警时,使用多线程在程序界面闪烁红色文字。请根据下列方法提示,完善书本代码,实现上述功能。【能力拓展】5.2采集烟雾传感器数据分别在教室A、B安装烟雾传感器模拟智慧教室烟雾检测系统,运行效果如图6-8所示,具有如下功能:有烟雾灾情时开启报警灯。推送灾情位置和发现时间至LED屏。【自主探究】运行效果实时推送灾情信息035.3实时推送灾情信息本任务模拟校园安防之灾情监测系统,结合任务一与任务二,用C#编写程序将烟雾传感器与火焰传感器采集的灾情信息推送至LED屏,并用数组实现灾情信息存储,通过窗体显示出来。通过本任务的实施,使学生进一步掌握数组的使用,理解continue的作用,掌握continue与break的区别。【任务描述】灾情监测界面最终效果灾情记录界面5.3实时推送灾情信息控件名称控件类型属性名属性值控件功能Form1窗体Text火焰烟雾com_ledPort下拉框输入/显示LED串口com_environmentPort下拉框输入/显示4150串口btn_Open按钮Text开启txt_time文本框显示时间txt_fire文本框显示火焰信息txt_smoke文本框显示烟雾信息groupBox1组合框Text配置lbl_Ledport标签TextLEDlbl_4150port标签Text环境采集lbl_time标签Text时间lbl_fire标签Text火焰lbl_smoke标签Text烟雾led1自定义控件信息显示在LED控件上Form2窗体Text历史灾情记录lstbRecored列表显示灾情记录界面控件设置5.3实时推送灾情信息将采集器串口与LED屏串口接到串口服务器上,火焰传感器与烟雾传感器分别接入采集器DI1与DI2口,正确配置串口服务器、路由器,确保设备正常使用;创建新项目,添加DeviceCtrlLibrary.dll引用;参照教材代码,新建“RecordClass”类文件;创建Form1界面,参照教材图5-9与表5-6;引用DeviceCtrlLibrary、System.IO.Ports和DeviceCtrlLibrary.Model命名空间;声明boolIsOpen、ADAM4017ResModelResModel和StringLED_MSG全局变量,分别用于判断是否打开串口、创建4017接收数据模型对象和定义LED推送文本变量LED_MSG;参照教材代码,添加Form1窗体Load事件,读取系统串口至com_environmentPort、com_ledPort控件中;参照教材代码,添加btn_open开启按钮单击事件,实现4017串口与LED串口的开启与关闭;参照教材代码,添加btn_get按钮单击事件,过adam4017Helper的SetData方法采集数据,显示光照、温湿度数据,并将数据信息发送至LED显示屏;参照教材代码,添加OpenRecord按钮单击事件,实现历史灾情信息界面的调用;创建Form2窗体界面,参照教材图5-10与表5-7;参照教材代码,添加Form2窗

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论