引言 随着时代的不断进步,人们对自己所处环境(2)
2013-08-05 01:32
导读:父报警系统的输入信号是由子报警系统通过无线通信模块传输过来,父报警系统接收到报警信号后,进入报警状态单片机控制相应的报警模块动作,并和
父报警系统的输入信号是由子报警系统通过无线通信模块传输过来,父报警系统接收到报警信号后,进入报警状态单片机控制相应的报警模块动作,并和PC 进行通信。父报警系统流程图。
PC 报警系统软件选用Microsoft Visual Studio 2012 环境下的C#语言编写,C#语言本身深受 Java、C 和 C++ 的影响。C#是一个语言,ASP.net 是一个平台,上面支持用C#或者VB.Net 写代码[6]。C#不但可以开发基于ASP.net 的应用程序,也可以开发基于WinForm 的程序[3]。
NET 2.0 提供了对串口通信功能的支持,这其中最为重要的是SerialPort 类。SerialPort 控件用于控制串行端口文件资源[2]。SerialPort 类提供同步I/O 和事件驱动的I/O、对引脚和中断状态的访问,以及对串口驱动程序属性的访问,支持ASCIIEncoding、UTF8Encoding、UnicodeEncoding、UTF32Encoding 以及mscorlib.dll 中定义的编码。
系统软件的编程主要是串口数据的接收,判断接收到的数据是否为字符“b”,如果是弹出对话框报警,并实例化一个TEXT 类textreceive 为接收显示区。
数据接收的编程是系统软件编程实现的重点。数据的接收采用事件响应驱动方案。事件响应驱动下的串口输入缓冲区数据读。.NET 中封装了SerialPort 类表示串行端口资源。,命名空间: System.IO.Ports , 实现过程:
<1>在设计器编辑串口serialport1 的DataReceived 事件,
<2>加入 textreceive.text 作为串口接收数据的显示组件
<3>在DataReceived 事件响应函数中读取串口输入缓冲区中的数据DataReceived 事件响应函数修改为如下:
private void serialPort1_DataReceived(object sender,
System.IO.Ports.SerialDataReceivedEventArgs e)
{
serialReadString = serialPort1.ReadExisting();
this.textreceive.Invoke
if (serialReadString == "b")MessageBox.Show("有人闯入!", "警告");
(转载自中国科教评价网www.nseac.com )
}
}
当有人进入传感器检测范围内时,子报警系统和父报警系统相继报警,同时电脑报警系统软件弹出对话框显示“有人进入”。提示报警。
报警系统软件运行成功,达到监控报警系统要求。
4 结论
红外线报警器广泛应用于生活之中,为人们生活安全提供保障。本文采用被动式红外线探测技术,利用热释电红外传感器作为传感器,并设计出子报警系统和父报警系统,两者进行无线通信,父系统和PC 机之间进行串口通信,最终设计出来的红外线报警系统,可以成功完成子系统、父系统、PC 三报警的功能,达到了系统监控报警的功能要求。
中国网提供大量免费硕士,如有业务需求请咨询网站客服人员!
[参考文献] (References)
[1] 刘舒祺,施国梁.基于热释电红外传感器的报警系统 [J].国外电子元器件,2005,(3):18~20.
[2] 罗晴兰. RS-485 总线通信技术在红外线报警系统中的应用[J].电工电气,2012,(5):26~30.
[3] 刘锐宁.宋坤Visual C#2012 控件使用范例详解 [M].北京:清华大学出版社,2012.
[4] 董吉虹,白明,郎培,解峰,梁为.热释电红外报警器的设计 [J].天津理工大学学报,2007.10:71~74
[5] 杨波.陈忧先.热释电红外传感器的原理和应用[J].仪表技术,2012,6:66~68.
[6] James Foxall. Visual C# 入门经典[M].北京:人民邮电出版社,2005.