摘 要: 利用LabVIEW軟件開發(fā)了集現(xiàn)場數(shù)據(jù)采集、傳送及遠程監(jiān)視于一體的彩信實時報警系統(tǒng)。當(dāng)監(jiān)控現(xiàn)場有非法侵入時,控制主機收到被觸發(fā)的探測器報警信號后立即啟動相應(yīng)的模塊采集現(xiàn)場的聲音與圖像,經(jīng)信號處理后以最直觀的彩信形式,通過GPRS網(wǎng)絡(luò)發(fā)送到用戶設(shè)定的手機。系統(tǒng)運行結(jié)果表明,數(shù)據(jù)發(fā)送穩(wěn)定、實時性好,聲音和圖像清晰,可以作為傳統(tǒng)報警方式的補充,也可應(yīng)用于其他方面的遠程監(jiān)控。
關(guān)鍵詞: 家庭安防系統(tǒng);LabVIEW;彩信;彩信報警
彩信是一種既可以傳送文字信息,又可以傳送包括圖像、聲音、視頻等各種多媒體信息的通信服務(wù)。傳送方式除了在手機間傳送外,也可是電腦與手機之間的多媒體信息傳送。
本文在家庭安防系統(tǒng)中,以LabVIEW為平臺,采用拾音器、紅外攝像頭等多個傳感器,外接GPRS Modem,構(gòu)建了基于PC的彩信發(fā)送報警子系統(tǒng)。該系統(tǒng)應(yīng)用數(shù)據(jù)庫對彩信進行管理,當(dāng)監(jiān)控現(xiàn)場有非法侵入時觸發(fā)報警,系統(tǒng)啟動相應(yīng)的傳感器采集現(xiàn)場的視頻和聲音,借助GPRS網(wǎng)絡(luò)將現(xiàn)場情況反映到用戶設(shè)定的手機,實現(xiàn)了監(jiān)控終端到用戶終端的視頻傳輸。
1 整個系統(tǒng)硬件組成及主要功能簡介[1-2]
整個家庭安防系統(tǒng)分客戶端和保安終端兩大部分??蛻舳酥饕?大功能模塊和兩個輔助功能模塊組成,其中的彩信報警屬于輔助模塊??蛻舳送ㄟ^遙控與語音來操縱控制相應(yīng)的功能模塊。在主功能模塊中,用戶設(shè)防后,當(dāng)有作案人員觸動門縫探測器、紅外柵欄探測器或門磁開關(guān)時,探測器通過數(shù)據(jù)采集卡向控制主機發(fā)出報警指令,或者用戶通過遙控器、語音直接緊急報警。控制主機控制相應(yīng)的模塊進行現(xiàn)場的聲音與圖像采集,并通過網(wǎng)絡(luò)將采集的數(shù)據(jù)文件和用戶信息傳到物業(yè)中心。同時,彩信模塊通過GRPS彩信貓把采集的數(shù)據(jù)經(jīng)處理后以ini結(jié)構(gòu)彩信形式傳到設(shè)定的用戶手機。保安終端的主要功能是實時檢測客戶端用戶是否有警情發(fā)生,一旦有警情,則發(fā)出聲音報警、閃爍警燈,并顯示報警的用戶信息。
系統(tǒng)硬件連接如圖1所示,其中的探測器是檢測非法闖入者,激活報警的設(shè)備。主要有東尼TONY-A7拾音器、USB接口的BSX-2066 CMOS攝像頭、有線門磁探測器MC-38和六光束紅外柵欄等。彩信報警傳輸由wavecom Q2403A GPRS彩信貓執(zhí)行。它可同時給10位用戶手機發(fā)送彩信,支持多個數(shù)據(jù)庫管理系統(tǒng),支持的彩信文件包括文字、圖片、聲音、影像等,以及自定義的ini簡單彩信格式。本文數(shù)據(jù)庫管理系統(tǒng)采用SQLSever2000,用于存儲和管理給手機發(fā)送的彩信數(shù)據(jù)。彩信貓通過USB Hub與控制主機相連,實時檢測數(shù)據(jù)庫中的建立信息發(fā)送表里面的數(shù)據(jù)。
2 彩信報警模塊設(shè)計與實現(xiàn)
2.1 主控模塊中的相關(guān)程序
在客戶端主界面中[2],當(dāng)用戶點擊“讀取采集聲音”、“讀取采集圖片”、“讀取采集視頻”3個按鈕時將自動跳轉(zhuǎn)到相應(yīng)的數(shù)據(jù)保存目錄,并按設(shè)定的打開方式瀏覽客戶端采集的聲音、圖片與視頻。也可通過用戶界面中的視頻瀏覽窗口對正在采集的視頻在線瀏覽。
其中在錄制聲音子VI程序中[3],先檢測報警是否被用戶取消,若沒有被取消,則動態(tài)地創(chuàng)建存放采集聲音文件的目錄,然后進行聲音采集。并且從0開始每隔20 s按數(shù)字順序作為文件名、mid為擴展名建立動態(tài)的聲音文件。聲音子VI有兩個輸入變量分別控制采樣數(shù)目和采集的硬件設(shè)備ID。運行時,需打開聲音文件,配置聲音輸入函數(shù)及參數(shù),然后讀取采集的數(shù)據(jù)進行放大3倍和小波降噪后存入到聲音文件。
在視頻采集子程序中[4],首先通過羅列攝像頭子VI把攝像頭的硬件描述符按數(shù)字遞增的順序羅列。然后通過索引數(shù)組函數(shù)和發(fā)出報警指令的探測器所對應(yīng)的數(shù)據(jù)采集卡上的DI序號為其提供相應(yīng)的索引號,經(jīng)過Imaqdx函數(shù)面板中的相關(guān)函數(shù)打開有報警指令的探測器所對應(yīng)的攝像頭,配置采集參數(shù),采集數(shù)據(jù),并動態(tài)分配存儲空間。在程序的while循環(huán)中通過條件結(jié)構(gòu)的拍照子程序?qū)⒉杉膱D像以jpg格式保存,并利用DataSocket技術(shù)進行視頻保存。為了便于用戶手機顯示,設(shè)計了專門的子程序?qū)D像進行重新采樣,使得分辨率為320×240。涉及的函數(shù)有:在圖片保存函數(shù)的條件結(jié)構(gòu)中用imaq copy函數(shù)對圖像進行拷貝,imaq creat函數(shù)為拷貝的圖像動態(tài)分配存儲空間,然后將數(shù)據(jù)傳給拍照子VI,通過imaq write file函數(shù)進行圖片保存。在進行視頻保存時需將采集的圖像平化至字符串,以便于視頻數(shù)據(jù)寫入DataSocket。用DataSocket讀寫數(shù)據(jù)時,為了方便系統(tǒng)運作,采用Launch DS Server if Local函數(shù)動態(tài)操作DataSocket Server和DataSocket Server Manager,為視頻采集創(chuàng)建項目和分配空間。程序中與While循環(huán)條件端子相連的是用戶是否已停止報警指令,一旦有該指令則停止圖像采集,結(jié)束循環(huán)。
在視頻和圖片采集子程序里,通過while循環(huán)條件結(jié)構(gòu)的真分支,給其后面的110布爾全局變量和條件結(jié)構(gòu)賦予真值來執(zhí)行錄制聲音、視頻采集、圖片子VI。其中的視頻采集子VI是非觸動的,通過多個攝像頭的循環(huán)調(diào)用來采集現(xiàn)場圖像。具體用哪個攝像頭采集圖像由while循環(huán)的次數(shù)i和攝像頭的個數(shù)來決定,若循環(huán)次數(shù)加1后與攝像頭的個數(shù)相除余數(shù)為0,則用攝像頭的個數(shù)減1后作為索引數(shù)組的索引號調(diào)用相應(yīng)的攝像頭來采集圖像;若循環(huán)次數(shù)加1后與攝像頭的個數(shù)相除余數(shù)非0,就用余數(shù)減1后作為索引數(shù)組的索引號來調(diào)用相應(yīng)的攝像頭采集圖像。
2.2 彩信報警程序設(shè)計與實現(xiàn)[1]
本文采用數(shù)據(jù)庫存儲和管理發(fā)送的彩信數(shù)據(jù)。通過SQL Server和SQL語句在數(shù)據(jù)庫的Master表中建立信息發(fā)送、信息發(fā)送成功、信息發(fā)送失敗和信息接收4個數(shù)據(jù)表,分別存放相應(yīng)的彩信數(shù)據(jù)。當(dāng)通過SQL語句把需要發(fā)送的信息寫入表時,控制主機將采集的數(shù)據(jù)寫入到信息發(fā)送表,彩信貓檢測到發(fā)送表里有數(shù)據(jù),立即以結(jié)構(gòu)彩信ini的形式通過GPRS網(wǎng)絡(luò)傳到用戶手機。發(fā)送完畢彩信貓刪除發(fā)送表中的數(shù)據(jù)。若發(fā)送成功,將數(shù)據(jù)保存到MSG Sentbox中;若發(fā)送失敗,將數(shù)據(jù)保存到MSG Failedbox表中。為了防止系統(tǒng)出現(xiàn)錯誤,建立了一個MSG Inbox表,用來接收其他不相關(guān)的信息。用戶只需啟動SQL Server查詢分析器,復(fù)制這些代碼并粘貼這些建表語句,點擊“執(zhí)行查詢”按鈕進入SQL Server管理器,會看到已經(jīng)建立了4個數(shù)據(jù)表,便可正常使用了。
模塊設(shè)計主要包括發(fā)送手機彩信程序的界面和創(chuàng)建結(jié)構(gòu)彩信文件等。創(chuàng)建結(jié)構(gòu)彩信文件程序如圖2所示,在圖2的手機彩信發(fā)送程序中首先通過注冊表信息導(dǎo)入子VI將所需的信息導(dǎo)入到注冊表。圖中while循環(huán)的事件結(jié)構(gòu)0事件和1事件分支分別是用戶菜單選擇事件和用戶界面關(guān)閉事件。下方while循環(huán)中的順序結(jié)構(gòu)第0幀檢查要發(fā)送的圖片與聲音彩信文件是否存在,若存在則將其路徑通過條件結(jié)構(gòu)的真分支連接字符串函數(shù)連接后,打開配置文件函數(shù)和寫入鍵函數(shù)寫入到配置文件。由于寫入鍵函數(shù)時,會自動生成“=”號,因而需通過讀取文本文件函數(shù)和搜索替換字符串函數(shù)讀取配置文件后將等號替換為空字符串,再由里面的順序結(jié)構(gòu)中的for循環(huán)的循環(huán)次數(shù)決定要發(fā)送的結(jié)構(gòu)彩信的幀的數(shù)目。
圖3所示為把彩信所需的文件通過SQL語句寫入數(shù)據(jù)庫相應(yīng)表程序,在圖3程序下方while循環(huán)里的順序結(jié)構(gòu)第1幀先判斷手機號碼輸入控件中哪些有輸入,再通過DB Tools Open Connection函數(shù)和DB Tools Execute Query函數(shù)把輸入的手機號碼、彩信類型、彩信標題和簡單結(jié)構(gòu)彩信文件的路徑通過SQL語句將相應(yīng)的信息寫入到數(shù)據(jù)庫對應(yīng)的彩信發(fā)送數(shù)據(jù)表里[5]。然后在第2幀里把發(fā)送過的結(jié)構(gòu)彩信文件刪掉,以便后面的彩信文件的創(chuàng)建與發(fā)送。
彩信的發(fā)送過程:客戶端主機從數(shù)據(jù)庫中的發(fā)送表讀出發(fā)送狀態(tài)為“待發(fā)”,將彩信發(fā)送出去。發(fā)送完成,將發(fā)送表中的發(fā)送狀態(tài)改為“已發(fā)”,并改發(fā)送時間為當(dāng)前時間。
彩信報警作為整個安防系統(tǒng)的輔助模塊,是傳統(tǒng)監(jiān)控、報警方式的補充。該系統(tǒng)的緊急求助功能也是以彩信的方式求助。當(dāng)家里有老人或病人等按下求助按鈕時,彩信模塊就會把現(xiàn)場的視頻和錄音以彩信的方式發(fā)送到用戶手機和小區(qū)物業(yè)中心求助,使服務(wù)終端實時了解現(xiàn)場信息。
系統(tǒng)可以外接多種傳感器報警,具有開發(fā)周期短、所需設(shè)備簡單、通用性和實用性強等特點。能夠完成彩信的單發(fā)、群發(fā)、重發(fā)。彩信發(fā)送完成后可自動將內(nèi)容、發(fā)送時間、目的手機號碼、發(fā)送狀態(tài)等信息存入數(shù)據(jù)庫,以備查詢,實現(xiàn)了報警系統(tǒng)與戶主的遠程實時通信功能。測試結(jié)果表明,系統(tǒng)運行平穩(wěn)、性能可靠、實時性好;各個傳感器和程序模塊的組合能夠準確完成報警、記錄、傳送的功能;試驗中沒有發(fā)生誤報和漏報情況;系統(tǒng)功能完善、費用低廉、操作方便、運行效果良好,適合于現(xiàn)代數(shù)字家庭的安防監(jiān)控。
參考文獻
[1] 程勇.基于LabVIEW的家庭智能報警系統(tǒng)研究[D].武漢:武漢工程大學(xué)計算機學(xué)院,2011.
[2] 王會清,程勇.基于LabVIEW的家庭智能報警系統(tǒng)研究[J].武漢工程大學(xué)學(xué)報,2011,33(11):78-82.
[3] 王會清,程勇.家庭安防系統(tǒng)中聲音信號的小波分析與降噪[J].武漢工程大學(xué)學(xué)報,2011,33(9):96-99.
[4] 王會清,程勇.家庭安防系統(tǒng)中的多攝像頭視頻采集與網(wǎng)絡(luò)傳送[J].武漢工程大學(xué)學(xué)報,2012,34(7):66-70.
[5] 尹仁平,劉剛,汪立新,等.LabVIEW中的數(shù)據(jù)庫訪問[J].電子則量技術(shù),2006,29(3):51-52.