中国地质大学(武汉)远程与继续教育学院本科毕业论文(设计)指导教师指导意见表学生姓名:学号:专业:计算机科学与技术毕业设计(论文)题目:智能安防报警系统中国地质大学(武汉)远程与继续教育学院本科毕业设计(论文)评阅教师评阅意见表学生姓名:学号:专业:计算机科学与技术毕业设计(论文)题目:智能安防报警系统论文原创性声明本人郑重声明:本人所呈交的本科毕业论文《智能安防报警系统》,是本人在导师的指导下独立进行研究工作所取得的成果。
论文中引用他人的文献、资料均已明确注出,论文中的结论和结果为本人独立完成,不包含他人成果及使用过的材料。
对论文的完成提供过帮助的有关人员已在文中说明并致以谢意。
本人所呈交的本科毕业论文没有违反学术道德和学术规范,没有侵权行为,并愿意承担由此而产生的法律责任和法律后果。
论文作者(签字):日期:2014年9月1日摘要智能安防系统由软硬件集成,实现布防、监测、自动报警的系统。
当触发事件发生时,触发信号从触发器出发,经编码器后,送至计算机,计算机进行分析识别,进而根据程序设定启动相应的报警动作,并在日志中记录触发事件的时间,名称和处警动作,以备查用。
该智能安保报警系统采用客户机/服务器(C/S)型的MIS型架构,使用了多种技术,其中数据库技术是最主要的技术,主要涉及数据库接口的选择,接口与应用程序的联接,数据库数据的备份以及恢复。
结构化查询语句是用到的主要的搜索技术,它具有可植入性,高性能,通用性,可与编程语言一同使用来完成查询任务。
计算机的串并口技术是计算机集成系统的关键技术,串并口和通讯参数是设计的重点。
有关触发器的性能和技术也是必须了解的。
关键词:1、智能 2、安防报警 3、C/S架构 4、数据库技术目录一、可行性研究分析 (1)(一)软件需求分析 (1)(二)技术可行性 (1)二、整体设计说明 (2)(一)系统描述 (2)(二)设备布局与线路连接 (2)(三)工作流程 (3)三、关键技术与算法 (5)(一)主要思路 (5)(二)建立安防信息数据库 (5)(三)端口设置和定时读取I/O端口数据 (7)(四)判断是否有触发事件 (7)(五)启动对应的报警设备 (8)四、主界面模块 (10)(一)界面设计 (10)(二)编写窗体代码 (12)(三)安防日志管理 (15)五、结论 (18)致谢 (19)参考文献 (20)一、可行性研究分析(一)软件需求分析软件需求分析工作是软件开发期的第一步,也是决定性的一步。
只有通过需求分析才能把软件功能和性能的总体概念描述为具体的软件需求规格说明,从而奠定软件开发的基础。
首先,需求分析阶段研究的对象是软件项目的用户要求,我们必须理解用户的各项要求,但有不能接受所有的要求,因为并非所有用户提出的全部要求是合理的。
对存在的问题和需要解决的问题进行了仔细分析,尽可能做到该系统功能的完善。
其次,准确地表达被接受的用户要求,我们在接受用户的建议并经过自己的综合分析后,首先要实现软件项目的物理模型,就是设计出系统的结构流程,在用户审查并提出建议后,再进行修改,直到用户满意后,才开始下一步工作。
(二)技术可行性在确定该系统的结构流程之后,再来探讨设计该系统上的可行性,也就是说,对目标系统进行功能、性能和限制条件的分析,确定在现有的资源的条件下,技术风险有多大,系统是否能实现。
对于开发该系统所需的基本硬件和软件配置问题都不大,下面我们主要就设计该系统的方案进行技术上的分析:单机模式的智能安防报警系统在一台计算机上运行,数据不需经过前台和后台的处理。
设计系统,可用VFP、VB、DELPHI等程序设计语言来编写该系统。
智能安保报警系统采用客户机/服务器(C/S)型的MIS型构架, 使用了多种技术:用户界面层/事务层/数据库层.数据库技术是使用的主要技术,主要涉及到数据库的接口的选择,接口与应用程序的联接,数据库的数据的备份,以及恢复技术。
结构化查询语句是用到的主要的搜索技术,它具有可植入性,高性能,通用性,可与编程语言一同使用来完成查询任务。
计算机的串并口技术是计算机集成系统的关键技术,串并口的用途和通讯参数据是关注的重点。
同时有关触发器的性能和技术也是必须了解的。
二、整体设计说明随着科技的进步,如今在很多生活领域(如银行,生活社区等)都进行了安全布防,一旦有不安全的事件发生,就可进行人工或自动报警(拨打110、119等报警电话,拉响警笛,启动录象)。
在这种智能安防系统中,串并口技术被广泛采用。
(一)系统描述智能安防报警系统是集布防、检测、报警为一体的软硬件相结合智能化系统。
当触发事件发生时,触发信号经编码器编码后送至计算机的端口,计算机通过获取事件并分析识别,进而根据程序设定启动相应的报警动作,并在日志表里记录触发世间的时间、名称和处警动作,以备查用。
本系统使用了ADO管理数据库,所有布防,处境设置和日志均保存在数据库中,以便日后查看。
(二)设备布局与线路连接大型的智能安防系统通常由多台计算机和各种其他设备组成,下面介绍只有一台计算机主机的安防系统,其实大规模系统的原理是一样的,可以在本例的基础上进行改进和扩展。
图2-1为系统结构框图。
从图中不难看出,安防系统分为5大块:计算机,触发器(组),安防信息数据库,报警器(组)和报警电话。
图2-1 系统结构框图(三)工作流程计算机定时取得并口的数据,根据预先设定好的的编码,判断是否有报警信号,如果有,报警信号对应哪个触发器,然后启动相应的报警器,如果是关键位置,则启动预先设置好的电话号码。
本系统的基本工作流程为:当触发事件发生时,触发信号从触发器出发,经编码器编码后,以二进制数据的形式送至计算机,计算主机通过程序获取时间编码并进行分析识别,进而根据程序设定启动相应的报警动作不同的触发事件有不同的处理方式),并且在日志表中记录触发事件的时间,名称和处警以查用。
安防系统的工作流程图如下图2-2所示。
图中显示了系统的主要功能模块。
图2-2 系统工作流程图智能安防报警系统以系统的可靠性为基础,并结合防盗报警、火灾报警和煤气泄露报警等系统,家庭中所有的安全探测装置,都连接到家庭智能终端,并联网到保安中心。
三、关键技术与算法(一)主要思路考虑到用户可以按照自己的想法对系统进行设定,所以系统采用了向导式配置参数的方法.第一步: 设置布防参数;第二步: 设置处警参数;第三步: 设置布防参数和处警参数的对应关系.然后打开安防启动开关,将触发事件和成功响应的处警动作写入安防数据库并在主界面上更新。
用户还可以专门打开一个日志管理的窗口对报警日志进行管理。
(二)建立安防信息数据库1、调试和配置方案通信端口的调试是该系统的难点,要说明的是,某些语句中含有端口数据,若要调试这样的代码,则需要将含有端口操作的代码屏蔽掉,在其后添加Inputbox语句来模拟来自端口的数据。
另外要说明的是,此系统使用的数据访问接口是ADO,若要在VB中对ADO对象进行访问,则需要设置对ADO类型的引用,所以建立新工程后要单击【工程】菜单中的引用选项,然后在对话框中添加Microsoft DAO 3.51 Object Library,因为使用的引擎是DAO3.51,而该数据引擎支持是Access,所以若用户用access2000建立了数据库,则需要单击Access数据库菜单中的【工具】→【数据库实用工具】→【转换数据库】→【到早期的数据库版本】对数据库进行转换。
2、安防信息数据库的建立安防信息数据库是用户同程序之间的接口。
主要包括以下4个表。
(1)布防参数设置表表3-1 布防参数设置表(2)布防参数对应关系表表3-2 布防参数对应关系表(3)处警参数的设置表表3-3 处警参数的设置表(4)处警参数对应关系表表3-4 处警参数对应关系表布防参数设置,处警参数的设置,布防参数和处警参数的对应关系和安防日志。
用户将自己希望的设置存入该数据库中,程序将发生的报警信息和处警动作也写入数据库中的安防日志表保存。
程序使用Visual Basic提供的数据接口ActiveX数据对象(ADO)来管理数据库。
ADO是为Microsoft最新和最强大的数据访问范例OLEDB而设计的,是一个便于应用程序层接口。
安防信息数据库是用户同程序之间的接口。
主要包括4个表:布防参数设置,处警参数的设置,布防参数和处警参数的对应关系和安防日志。
用户将自己希望的设置存入该数据库中,程序将发生的报警信息和处警动作也写入数据库中的安防日志表保存。
程序使用Visual Basic提供的数据接口ActiveX数据对象(ADO)来管理数据库。
ADO是为Microsoft最新和最强大的数据访问范例OLEDB而设计的,是一个便于应用程序层接口。
(三)端口设置和定时读取I/O端口数据I/O端口一般分为串口和并口两类。
用户可以按照自己的实际情况设置布防设备和处警动作所对应的端口(其属性和数量)。
在布防设置中,最多启用一个串口(可以对应多个触发器),但并口可以启用多个(每个并口可以对应多个触发器)。
在处警设置中,指定一个串口用来拨打电话号码,号码可以设置多个;指定多个并口用来启动其它处警动作。
为了及时获取布防触发器的报警信号,程序中需要打开一个定时器,不断读取端口数据。
时间间隔可根据实际的工作情况而定,通常在几十毫秒到几秒之间,太短,则计算机响应不过来,太长,则会影响事件的捕捉。
为正确读取端口数据,程序在运行状况下应该能够设置I/O端口号,以便于选用的硬件I/O端口号一致。
(四)判断是否有触发事件程序取得端口数据之后,要马上进行分析判断是否有报警信号,信号对应哪个触发器,以便进行相应的报警动作(鸣音,录象,拨打电话等)。
1、触发事件编码重复的判断由于可能存在多个触发器,因此,需要用户事先为每个触发器约定其报警信号对应的端口数据。
除了不同触发器对应的端口数据要有所不同外,还要求所有触发器对应的并口数据间不能二进制包容,例如,假如触发器1对应的并口数据为二进制“00001011”,而触发器3所对应的并口数据为“00000011”,那么当端口读到的数据为二进制“00001011”时,就无法正确判断是一个触发事件还是两个触发事件(存在两个事件同时触发的可能)。
程序在添加或修改布防参数时,判断安防信息数据库中是否存在触发事件编码,端口属性,端口号全部一致的情况,如果存在则提示用户存在触发事件编码重复。
2、分析触发事件程序从端口读取入1个数据之后,需要从数据中分析有那些事件发生。
具体方法为逐个将触发器编码与该数据进行“与”运算,如果结果等于此触发器编码,则说明此触发器有事件发生,应予以响应。
这样,使多个事件同时发生,也能全部响应。
3、触发器与并口线的连接上面已经为每个触发器进行了编码,但那只是软件逻辑上的编码,为了程序能从并口取得相应的编码,必须将触发器信号输出线与并口输入端正确的连接起来。