《武汉工程大学学报》  2011年11期 78-82   出版日期:2011-11-30   ISSN:1674-2869   CN:42-1779/TQ

基于LabVIEW的家庭智能报警系统研究



0引言随着社会经济的发展和物质生活水平的不断提高,人们对自身的生命财产安防意识也在不断增强,家庭及住宅小区安防系统是否完备也已成为人们日益关注的问题.因此,开发功能先进、运行可靠、实用、方便、成本低廉的家庭安防系统具有重要的社会意义.本文在大量调研了目前市场上家庭报警系统优点与不足的基础上,研发了一种实用的家庭多功能智能报警系统.1系统整体功能简介系统分用户端和接警中心端两大部分.用户端主要由四个功能模块组成:晚间休息或离家模块;紧急报警模块;防骗子模块;紧急求助模块[13].用户端通过遥控器或语音启动相应的功能模块.在遥控器对有关模块设防的条件下,当某探测器向控制主机发送报警指令、或者用户通过遥控器向主机发送紧急报警或紧急求助指令时,主机通过相应的功能模块启动拾音器和对应的红外摄像头进行现场声音与图像采集,经过小波降噪等技术处理后,通过LabVIEW中Internet工具包的FTP传送到保安中心,并利用GPRS通信技术把处理过的数据以彩信的形式发向用户设定的手机.用户还可以利用手机或PC通过主界面发布的网页域名对现场情况进行远程实时浏览.紧急报警模块还增加了语音发送报警指令的功能.紧急求助模块是当家里老人、病人等需要帮助时,通过遥控器向主机发送求助指令,并将现场的声音与图像数据传到小区保安中心及设定的手机.此外,用户端还有两个辅助功能模块,一是USB硬件设备描述符检测程序.每当用户插上一个USB摄像头,该检测程序就在其中的数组给出相应的摄像头硬件描述符,以编号的形式给出,这是USB摄像头与相应的探测器搭配的依据.二是手机彩信发送程序,这是针对手机不支持WWW网页浏览功能的用户.它可将警情以结构彩信INI的形式发往设定的手机.彩信猫通过USB口和主机相连后,实时检测数据库Master表中信息发送表的数据.一旦有报警指令,控制主机控制相应的模块进行现场数据采集并写入到数据库信息发送表,彩信猫检测到表里有要发送的数据后立即发送.接警中心端主机主要是实时检测用户端是否有报警指令,若有,则播放报警音乐,闪烁警灯,显示报警用户相关信息,并在地图中快速定位.也可通过LabVIEW平台的DataSocket网络技术[45]远程浏览与保存客户端采集的视频.同时用户手机也会接收到用户端采集的图片与声音文件的结构资源彩信.保安终端的主界面上可以同时显示10个报警用户的信息,还可显示报警现场视频及历史报警等信息.若超过10户,则通过列表选择需显示的报警用户详细信息.点击“打印信息”按钮可以把报警用户的具体信息打印出来交给出警人员;点击“视频保存”按钮可以对采集的现场视频进行保存.接警中心端的辅助功能界面,用来检测用户家里的电源是否意外的中断,通过查看是整个小区停电还是个别用户家里停电,来判断是否有案情发生.界面中可同时显示停电数目为10户,当超过10户时,可单击停电用户列表右边的红色按钮,选择需显示的停电用户具体信息.1系统组成1.1系统硬件结构系统用户端主要由控制主机、探测器、遥控器和数据采集卡构成.接警中心端主要有主机、警笛等组成.用户端的控制主机负责探测器报警指令的检测和各大监控模块的设防与撤防及现场采集的数据处理.探测器主要包括东尼TONYA7拾音器、USB接口的BSX2066 CMOS摄像头、有线门磁探测器MC38以及六光束红外栅栏等.数据采集卡为USB口.遥控器用于设置报警器的工作状态,用户通过操作按键,可方便地控制报警器设防、撤防、紧急求助等工作状态,其上面四个按键对应四个功能模块.系统硬件连接如图1所示.图1系统硬件连接图
Fig.1Connection diagram of the systematic hardware系统中的遥控接收装置通过USB口与控制主机连接,将3.5 mm警笛插入声卡的Line out插孔,3.5 mm拾音器并联后插在声卡的Line in插孔.红外栅栏的电源正、地线分别与所配带的电源正负线连接,信号线接在数据采集卡相应的引脚,同时将地线接在数据采集卡的GND引脚.门缝及柜子等门磁开关的两根线分别接在数据采集卡的GND和相应的引脚.USB红外摄像头以及GPRS彩信猫,直接插在与控制主机相连的USB HUB口.用户端控制主机通过Internet或电话网络与保安终端进行数据通信.系统工作原理如图2所示.图2系统工作原理图
Fig.2System functional block diagram第11期王会清,等:基于LabVIEW的家庭智能报警系统研究
武汉工程大学学报第33卷
1.2系统开发平台简介系统开发所用到的软件有:LabVIEW2010用于家庭智能报警系统源程序代码的编写;SQLSever2000用于存储和管理给手机发送的声音和图像彩信数据;Dreamweaver8.0和HTML Help Workshop4.73用于编写家庭智能报警系统Html使用帮助文件并编译成Help.chm文件.LabVIEW强大的项目管理器,对于开发组织大的软件系统非常的方便.利用LabVIEW进行系统开发,省去了很多程序代码,取而代之的是流程图式的已封装好的函数节点.它的自动多线程为编程者带来的很大的方便,大大缩短系统开发周期[6].2系统程序设计2.1用户端主程序设计用户端启动界面程序中,通过数组索引函数节点、字符串函数节点动态显示硬件的装载进度条.在层叠式顺序结构中引用函数节点、属性节点和调用节点动态地打开用户登录界面,打开参数设置程序和关闭用户启动界面.同时通过注册表信息导入子VI把所需的注册表信息导入到注册表.启动界面关闭后进入图3所示的用户端主程序.主程序的各功能模块子VI实时检测是否有报警指令.最上面的While循环控制和处理用户端四个功能模块以及断电报警事件.中间的While循环处理鼠标操作事件.最下面的三个While循环分别控制视频图像的显示;动态WORD的创建与用户的录音及紧急报警语音密码核对;紧急报警语音密码开关状态的检测.这五个While循环的同步是靠布尔全局变量来实现.图3用户端主程序
Fig.3Main program for Client当某一模块有报警指令时,就给110布尔全局变量赋予真值,此时上面While循环里的While循环给其中的条件结构赋予真值,通过目录上传子VI把采集的现场数据发往保安终端.当紧急求助有报警指令时,则给非110布尔全局变量赋予真值,此时While循环就会给下面的条件结构赋予真值,通过目录上传子VI发送现场采集的数据.当鼠标有相应的操作时,中间While循环里面的事件结构给予相应的处理与控制.左下方的While循环检测到110布尔全局变量或非110布尔全局变量有一个为真,并且用于控制五个While循环同步的布尔全局变量为假条件下,将通过Amage2全局变量显示采集的视频图像.中间While循环中事件结构的第1帧通过对话框函数来响应界面关闭事件.事件结构的第2帧分别用来处理用户点击前面板上的“读取采集图片”或“读取采集声音”按钮事件,通过LabVIEW互连接口面板里的库与执行程序子面板里的执行系统命令函数自动进入采集图片或声音存放的目录,以预先设定的方式打开和浏览.在目录上传子VI程序中首先通过执行系统命令函数检测主机的MAC地址,并通过FTP Open SessionFTP、Login FTP、FTP MKD三个函数在FTP服务器上所设定的FTP站点目录中创建一目录,用来存放报警用户传上来的图片和声音数据,以及用户数据.断电判断子VI程序通过调用库函数节点调用Windows系统动态连接库Kernel32.dll文件里面的GetSystemPowerStatus函数来判断用户家里是否停电.若检测到停电就结束前面的While循环,执行后面条件结构为真的分支,在此分支内通过停电子VI给服务器端发送报警信息.2.2接警中心端系统主程序设计接警中心端启动界面的程序与客户端的启动界面类似,也是通过数组索引来动态的显示硬件的装载信息,如打开的设备、参数的载入及设备的初始化等;通过格式化写入字符串函数来显示装载的百分比.当进度条走到100%时,通过后面的层叠式顺序结构第0帧里的VI引用函数和属性节点打开主程序,第1帧里的VI引用函数和属性节点来关闭用户界面.终端主程序如图4所示.图4接警中心端主界面程序
Fig.4Alarm centerside main interface program作为接警中心端主程序,应能在同一时间对多用户报警进行监控.可以用VI引用函数打开VI模板,自动在内存中创建一份复本,打开多次就会创建多个复本.利用VI模板的克隆特性,对于主VI和载入VI之间的通信,通过读写子面板上该控件的引用Value属性来实现.采用子面板模板,在界面放置10个子面板动态存放VI模板,显示多用户报警信息.主程序上面的顺序结构的第0帧是通过子面板的属性节点来实现子面板模板的插入工作,通过其中的For循环实现控制插入子面板模板的个数.第1帧是实现用户菜单选择的一个事件结构.下面的两个While循环分别用来处理用户点击前面板“关闭”按钮时的事件结构和数字时钟.数字时钟是通过获取时间函数得到时间,用布尔数组实现时间的显示.然后通过获取时间函数与最新目录创建时间相减判断目录是否有新的用户报警.若为真就通过数组插入函数插入到报警列表里,并用报警列表的数组大小来显示报警用户的数目.同时给布尔3赋予假值,布尔4、布尔6赋予真值,这样左上方的两个While循环检测到布尔6真,且开关布尔2处于开的状态,则启动报警音乐及警灯.右上方的While循环检测到布尔5为真值后,在用户没有点击停止视频的条件下进行视频的读取.当点击“保存视频”按钮时,通过IMAQ AVI Write Frame VI把采集的视频图像写入到前面创建的AVI文件.点击“本次报警”按钮,则通过执行系统命令函数打开图片和声音文件;点击“历史报警信息”按钮,进入到历史报警信息目录,并打开相应的报警数据;点击“在地图中定位”时,通过地图定位子VI来确定报警用户在地图中的具体位置.地图定位子VI通过ActiveX容器插入Microsoft Web浏览器控件,利用属性节点对URL进行定位,利用调用节点函数动态输入要定位的报警用户的具体住址参数,便可在地图中快速定位.接警中心端主程序还具有对多用户停电报警进行监控的功能.采用LabVIEW提供的Subpanel和VI模板,在用户界面放置10个子面板用来显示停电报警信息.其顺序结构第1帧通过文件/目录信息函数查看是否有停电报警用户的数据存放了五分钟,符合条件则通过删除函数删除.第2帧通过文件/目录信息函数和一维数组排序函数对停电报警文件进行排序,找到最后一个报警文件并在第3帧里通过文件/目录信息函数与获取时间函数来判断此文件是新的报警信息,如果为真就直接插入到停电报警列表里,并给布尔6、布尔3赋予真值.当上面的两个While循环检测到布尔6为真时打开报警音乐.在顺序结构的第4帧里检测到布尔3为真,并在停电报警列表非空的条件下读取报警客户端上传的用户信息,通过相应的显示控件显示停电报警用户的具体信息.3结语在总结了目前市场上家庭报警系统优势与不足的基础上,以LabVIEW2010为平台开发了家庭智能报警系统.该系统能让各用户在最短的时间看到和听到现场发生的情况,改善了接警中心被动出警的状况;对于以送信、抄表等为由入户迷倒用户的案犯也无法逃脱系统的监控.同时本系统也是一套家里老人、病人发生意外情况等紧急求助的好帮手,给家庭带来了真正的全新的安全理念.实验结果表明,该系统运行平稳,性能可靠;各个传感器和程序模块的组合能够准确完成报警、记录、传输的功能;试验中没有发生误报和漏报情况;系统存储容量较大,功能较完善,费用低廉,开发周期短,操作极为方便,达到了预期的效果.同时其良好的性价比,也为本系统的普及打下基础.参考文献: