Research on the Remote Monitoring System for Building Environment
艾 紅 孫順順
(北京信息科技大學(xué)自動化學(xué)院,北京 100192)
樓宇環(huán)境遠程監(jiān)控系統(tǒng)研究
Research on the Remote Monitoring System for Building Environment
艾紅孫順順
(北京信息科技大學(xué)自動化學(xué)院,北京100192)
摘要:針對樓宇環(huán)境遠程監(jiān)控,以S3C6410芯片為處理器,通過Internet與嵌入式設(shè)備相結(jié)合,使用本地計算機通過Internet對現(xiàn)場設(shè)備信息進行遠程監(jiān)控。描述了系統(tǒng)總體結(jié)構(gòu)和系統(tǒng)功能,闡述了嵌入式開發(fā)平臺的硬件結(jié)構(gòu)和測量模塊;說明了視頻圖像采集設(shè)計和Video4Linux下視頻采集流程,介紹了流媒體服務(wù)器spcaserv工作原理;給出了動態(tài)Web網(wǎng)頁設(shè)計和CGI網(wǎng)關(guān)程序設(shè)計。采集的環(huán)境參數(shù)和視頻數(shù)據(jù)經(jīng)Linux系統(tǒng)處理后基于TCP/IP協(xié)議進行傳輸,在上位機監(jiān)控系統(tǒng)中用瀏覽器實現(xiàn)對樓宇環(huán)境數(shù)據(jù)的實時顯示和遠程視頻的實時監(jiān)視。
關(guān)鍵詞:環(huán)境參數(shù)嵌入式Web服務(wù)器遠程監(jiān)控視頻流媒體服務(wù)器
Abstract:Aiming at the remote monitoring for the building environment, with S3C6410 chip as the processor, and combining with the embedded equipment via Internet, the information of field equipment is remotely monitored by local computer through Internet. The overall structure and functions of the system are described, the hardware structure of embedded development platform and measurement module are expounded. The design of video image acquisition and the video acquisition process based on Video4Linux are explained, and the working principle of stream media server spcaserv is introduced. The design of dynamic Web and CGI gateway program is proposed. The environmental parameters and video data collected are processed by Linux system and then transmitted based on TCP/IP protocol, real time display of the building environmental data and real time monitoring of the remote video are implemented by browser in host computer monitoring system.
Keywords:Environmental parameterEmbedded Web serverRemote monitoringVideoStreaming media server
0引言
遠程監(jiān)控是指本地計算機通過一定的網(wǎng)絡(luò)系統(tǒng)對遠端計算機或設(shè)備進行監(jiān)測和控制。隨著智能化、網(wǎng)絡(luò)化的迅猛發(fā)展,嵌入式技術(shù)的發(fā)展為遠程監(jiān)控提供了更好的平臺。借助遠程監(jiān)控系統(tǒng),可以完成對現(xiàn)場數(shù)據(jù)的實時采集與顯示,獲得現(xiàn)場監(jiān)控數(shù)據(jù)。監(jiān)控系統(tǒng)對遠程采集的數(shù)據(jù)進行集中顯示,為掌握遠程系統(tǒng)的環(huán)境以及綜合情況提供數(shù)據(jù)基礎(chǔ)。技術(shù)人員不需要親臨現(xiàn)場就可以獲得樓宇環(huán)境和現(xiàn)場安防系統(tǒng)以及設(shè)備的各項數(shù)據(jù)。通過對這些數(shù)據(jù)的分析,可以使工作人員對現(xiàn)場進行監(jiān)控,維護設(shè)備的正常運轉(zhuǎn),減少值守人員,最終實現(xiàn)遠端的無人或少人值守。選用成本較低、圖像質(zhì)量較高的攝像頭作為視頻采集設(shè)備,性價比高,即插即用。在現(xiàn)場設(shè)備分布廣泛或數(shù)據(jù)不易采集的場合,遠程監(jiān)控技術(shù)可以實現(xiàn)及時監(jiān)視設(shè)備的運行狀態(tài)并進行有效控制[1]。
1系統(tǒng)總體結(jié)構(gòu)和系統(tǒng)功能
系統(tǒng)總體結(jié)構(gòu)如圖1所示。

圖1 遠程監(jiān)控系統(tǒng)系統(tǒng)總體結(jié)構(gòu)圖
系統(tǒng)基于嵌入式Web服務(wù)器,采用B/S監(jiān)控模式。在B/S監(jiān)控模式結(jié)構(gòu)下,用戶界面完全通過Web瀏覽器實現(xiàn)。一部分事務(wù)邏輯在客戶端實現(xiàn),主要事務(wù)邏輯在服務(wù)器端實現(xiàn)。系統(tǒng)總體設(shè)計包括嵌入式Web服務(wù)器、遠程監(jiān)控客戶端、監(jiān)控站點、USB攝像頭。嵌入式Web服務(wù)器主要有兩方面任務(wù):一是對現(xiàn)場數(shù)據(jù)如溫度、濕度、煙霧等環(huán)境參數(shù)的接收與處理,并對數(shù)據(jù)結(jié)果進行判斷,作出相應(yīng)的報警通知和控制;二是負責數(shù)據(jù)的發(fā)送,把監(jiān)控站點采集的數(shù)據(jù)通過Internet發(fā)送到遠程監(jiān)控客戶端,遠程監(jiān)控客戶端通過IE瀏覽對現(xiàn)場數(shù)據(jù)進行實時監(jiān)控。監(jiān)控站點負責對現(xiàn)場環(huán)境數(shù)據(jù)的實時采集、發(fā)送和對現(xiàn)場設(shè)備的控制,USB 攝像頭負責現(xiàn)場視頻數(shù)據(jù)的實時采集。
系統(tǒng)功能包括實時數(shù)據(jù)采集與控制、遠程網(wǎng)絡(luò)訪問控制、視頻監(jiān)控、報警和用戶確認。
遠程網(wǎng)絡(luò)訪問控制功能采用B/S結(jié)構(gòu),通過以太網(wǎng)接入設(shè)備將Web服務(wù)器與客戶端 PC 機相連。遠程客戶端可以直接用 Windows 自帶的IE瀏覽器作為客戶端程序,隨時隨地訪問遠程數(shù)據(jù)并進行實時監(jiān)控。在Web服務(wù)器端,通過USB攝像頭采集圖像,通過spcaserv建立視頻服務(wù)器,使用TCP/IP網(wǎng)絡(luò)傳輸協(xié)議將視頻數(shù)據(jù)傳送到客戶端,用戶利用 IE 瀏覽器實現(xiàn)對現(xiàn)場視頻的實時監(jiān)測。
視頻功能的實現(xiàn)有三個關(guān)鍵部分。一是圖像采集,圖像通過攝像頭采集,攝像頭利用USB接口連接到Web服務(wù)器端。二是圖像傳輸,采集來的圖像存儲在Web服務(wù)器端,由Web服務(wù)通過spcaserv建立視頻服務(wù)器,將數(shù)據(jù)傳送到客戶端,傳輸過程采用TCP/IP網(wǎng)絡(luò)傳輸協(xié)議。三是圖像呈現(xiàn),客戶端接收服務(wù)器端傳來的視頻數(shù)據(jù)并呈現(xiàn)在IE瀏覽器上,達到實時監(jiān)測的作用。終端采集的各種數(shù)據(jù)匯集在Web服務(wù)器端,由Web服務(wù)器負責對數(shù)據(jù)的綜合分析并做出處理。處理后的數(shù)據(jù)如果超過預(yù)先設(shè)定的閾值,則說明數(shù)據(jù)可能存在異常,從而定位環(huán)境設(shè)備出現(xiàn)異常情況并啟動報警功能。
用戶確認功能是客戶端用戶通過瀏覽器登錄系統(tǒng)時,系統(tǒng)要求使用用戶名、密碼進行身份確認。系統(tǒng)管理員可以進行用戶管理。
2嵌入式開發(fā)平臺硬件結(jié)構(gòu)
采用ARM11 的S3C6410芯片及其外圍接口電路,基于Linux操作系統(tǒng)設(shè)計遠程監(jiān)控系統(tǒng)。遠程監(jiān)控系統(tǒng)主要包括外圍接口和溫濕度傳感器模塊、煙霧采集模塊、熱釋紅外傳感器模塊、電機驅(qū)動模塊、蜂鳴器報警模塊和USB攝像頭,其硬件組成方框圖如圖2所示。

圖2 遠程監(jiān)控系統(tǒng)硬件組成方框圖
設(shè)計系統(tǒng)的硬件平臺核心開發(fā)板是UP-Magic6410,中央處理器是三星公司的S3C6410嵌入式微處理器。系統(tǒng)硬件資源包括以太網(wǎng)接口、USB 接口。系統(tǒng)中核心開發(fā)板的外部電源是5 V,電源電路模塊通過芯片進行降壓轉(zhuǎn)換,得到提供整個系統(tǒng)所需要的三種電壓,即3.3 V、1.8 V和1.2 V。以太網(wǎng)接口模塊使用DM9000 以太網(wǎng) MAC 控制芯片。USB接口模塊有兩部分,一部分是USB視頻接口模塊,另一部分是通過USB實現(xiàn)系統(tǒng)開發(fā)的調(diào)試和下載。USB接口攝像頭選用的是中星微 ZC30lPL 芯片的攝像頭,完成對現(xiàn)場視頻信息的獲取。溫濕度傳感器模塊用于采集環(huán)境溫度和濕度數(shù)據(jù)。煙霧傳感器模塊用于檢測環(huán)境中的煙霧指標。熱釋紅外傳感器模塊用于感應(yīng)是否有人通過。蜂鳴器報警模塊用于當發(fā)現(xiàn)被測溫度和煙霧濃度超出允許范圍時,發(fā)出報警信號,提醒用戶。電機驅(qū)動模塊用于對現(xiàn)場情況溫度超限的降溫處理。采集的環(huán)境參數(shù)和視頻數(shù)據(jù),經(jīng)Linux系統(tǒng)處理后,基于TCP/IP協(xié)議進行傳輸,在上位機監(jiān)控系統(tǒng)中,采用瀏覽器對現(xiàn)場數(shù)據(jù)進行實時顯示和遠程視頻的實時監(jiān)視[2]。
在煙霧測量模塊中,采用的煙霧傳感器MQ-2是一種半導(dǎo)體氣敏傳感器。當MQ-2傳感器處于可燃氣體環(huán)境中,空氣中的可燃氣體濃度增加時,傳感器MQ-2的電導(dǎo)率會隨之增大。溫濕度傳感器模塊選用SHT10 芯片。SHT10溫濕度傳感器芯片包括一個電容式高分子濕敏感元件和一個測溫元件,集成在同一芯片上,與串行接口電路和14 位A/D轉(zhuǎn)換器實現(xiàn)無縫連接。電機驅(qū)動模塊設(shè)計使用PWM驅(qū)動方式。熱釋紅外傳感器用于探測紅外特征輻射,可感知人體的熱源,適用于熱釋紅外物體運動檢測。熱釋紅外傳感器型號為RE200B。RE200B采用熱釋電材料極化隨溫度變化的特性探測紅外輻射,當有人通過時,經(jīng)過傳感器前面濾鏡窗口采集信號。但此時輸出信號比較小且不規(guī)則,因此將輸出信號通過放大電路和比較電路,從而輸出得到需要的波形[3-4]。
3監(jiān)控系統(tǒng)軟件
監(jiān)控系統(tǒng)軟件設(shè)計包括監(jiān)控界面和監(jiān)控站點的軟件設(shè)計。監(jiān)控界面分為用戶登錄界面和數(shù)據(jù)顯示界面兩部分。用戶登錄界面需要輸入用戶名和密碼,當用戶輸入用戶名和密碼后,要對用戶名和密碼分別進行驗證。數(shù)據(jù)顯示界面包括的信息有視頻部分和環(huán)境數(shù)據(jù)部分。監(jiān)控站點的軟件設(shè)計是對溫度、濕度、煙霧濃度和紅外信號狀態(tài)的讀取,對設(shè)備的控制,以及實現(xiàn)報警功能。煙霧傳感器模塊采用中斷處理模式。通過端口配置寄存器配置為輸出模式,再通過對端口數(shù)據(jù)寄存器的寫操作,實現(xiàn)對GPIO設(shè)備的控制和蜂鳴器報警模塊功能。使用GPIO的引腳GPB5和GPB6控制溫濕度傳感器模塊的SCK引腳和DATA引腳。傳感器芯片獲得的濕度值為相對濕度,為獲得精確的測量數(shù)據(jù),需用式(1)進行信號轉(zhuǎn)換。式(1)中的濕度補償系數(shù)c1=-2.046 8、c2=0.036 7,c3=-1.6×10-6。
RHlinear=c1+c2×SORH+c3×SORH2(%RH)
(1)
濕度測量時測試參考溫度是25 ℃,因此濕度信號需要作溫度補償。溫度補償如式(2)所示。式(2)中的溫度補償系數(shù)t1=0.01,t2=0.000 08。
RHtrue=(T-25)×(t1+t2×SORH)+ RHlinear
( 2)
電機驅(qū)動模塊采用直流電機橋模塊,用PWM輸出控制電機速度和正反轉(zhuǎn)等。熱釋紅外傳感器模塊采用中斷模式。熱釋紅外傳感器采集熱釋紅外信號,通過ARM開發(fā)板GPF13引腳實現(xiàn)。
4視頻圖像采集設(shè)計
Video4Linux(簡稱 V4L)是 Linux系統(tǒng)中用于視頻設(shè)備的內(nèi)核驅(qū)動。對于視頻類影像設(shè)備,Linux提供了一套標準的應(yīng)用編程接口API 即V4L,內(nèi)核、驅(qū)動、應(yīng)用程序以這個接口為標準進行交流。
在完成內(nèi)核USB攝像頭驅(qū)動的移植和加載以后,需要編寫視頻流采集程序,實現(xiàn)視頻采集設(shè)備的信息獲取和圖像采集。Linux操作系統(tǒng)V4L下視頻編程流程是打開視頻設(shè)備,讀取設(shè)備信息,更改設(shè)備當前的設(shè)置,對采集的視頻進行處理,關(guān)閉視頻設(shè)備。視頻采集流程圖如圖3所示。視頻設(shè)備是設(shè)備文件,可以像訪問普通文件一樣對其進行讀寫,攝像頭設(shè)備是/dev/video0。視頻采集主要有兩種方法:內(nèi)存映射和直接從設(shè)備讀取。

圖3 視頻采集流程圖
系統(tǒng)采用spcaview軟件包創(chuàng)建遠程視頻監(jiān)控服務(wù)器。spcaview是Linux系統(tǒng)下用于圖像采集的軟件,是用于實現(xiàn)網(wǎng)絡(luò)視頻服務(wù)器的軟件包,包括spcacat、spcaview和spcaserv,每一部分都具有獨特的作用。spcacat用于簡單圖片的抓取,spcaview實現(xiàn)數(shù)據(jù)流記錄,也可以用在客戶端對數(shù)據(jù)進行播放。spcaserv是流媒體服務(wù)器。設(shè)計中主要使用spcaserv實現(xiàn)遠程視頻的實時監(jiān)控。
spcaserv服務(wù)器主程序流程圖如圖4所示。

圖4 spcaserv服務(wù)器主程序流程圖
解壓spcaview源碼并進入解壓后的源文件目錄,修改Makefile文件。修改CC、CPP 編譯器宏并指定為自己的交叉編譯器,將gcc $(SERVFLAGS) -O spcaserv $(OBJSERVER) $(SERVLIBS) 修改為 $(CC) $(SERVFLAGS)-O spcaserv $(OBJSERVER) $(SERVLIBS)。使用命令make spcaserv編譯程序,若編譯成功,則會在當前目錄下生成視頻服務(wù)器spcaserv。將生成的 spcaserv 下載到ARM開發(fā)板上。
5動態(tài)Web網(wǎng)頁設(shè)計與實現(xiàn)
在嵌入式Web服務(wù)器設(shè)計中,客戶端采用公用網(wǎng)關(guān)接口(common gateway interface,CGI)方法與服務(wù)器端進行數(shù)據(jù)通信與交互。CGI規(guī)定了Web服務(wù)器調(diào)用其他可執(zhí)行程序(CGI程序)的接口協(xié)議標準。CGI程序接收Web瀏覽器發(fā)送給Web服務(wù)器的信息并進行處理,然后響應(yīng)結(jié)果回送給Web服務(wù)器及Web瀏覽器。CGI的工作流程圖如圖5所示[5-7]。

圖5 CGI工作流程示意圖
CGI程序是用來實現(xiàn)網(wǎng)頁和處理器之間信息傳遞的應(yīng)用程序。CGI 程序獲得傳感器傳來的數(shù)據(jù),通過界面的video.html文件顯示在監(jiān)控界面上。CGI程序的執(zhí)行是通過index.html文件,輸入正確的用戶名和密碼后,程序調(diào)用data.cgi文件執(zhí)行data.cgi程序。程序執(zhí)行時,將采集到的數(shù)據(jù)存放到相應(yīng)的xml文件中,并打開video.html界面,video.html讀取xml中的信息并在網(wǎng)頁中顯示實時采集的數(shù)據(jù)。
網(wǎng)頁實現(xiàn)功能需要首先實現(xiàn)登錄功能,打開IE瀏覽器,在瀏覽器中輸入地址http://192.168.0.100/index.html(192.168.0.100為嵌入式開發(fā)板地址)。打開登錄界面,輸入正確的用戶名和密碼,調(diào)用CGI數(shù)據(jù)采集并打開監(jiān)控界面。index.html文件中調(diào)用CGI程序的語句是