岳立言,歐陽(yáng)昇,翟寶蓉
(華北科技學(xué)院,北京 101601)
傳統(tǒng)的遠(yuǎn)程監(jiān)控采用基于阻抗匹配功率放大的一種寬頻波段進(jìn)行網(wǎng)絡(luò)遠(yuǎn)程監(jiān)控信息采集及智能信息監(jiān)控識(shí)別[1],該系統(tǒng)在實(shí)踐中存在一定的缺陷與不足,無(wú)法有效滿足嵌入式網(wǎng)絡(luò)監(jiān)控系統(tǒng)的實(shí)際需求。對(duì)此文章提出了一種基于嵌入式 Linux的遠(yuǎn)程監(jiān)控系統(tǒng)設(shè)計(jì)方式并進(jìn)行了論證分析。
遠(yuǎn)程網(wǎng)絡(luò)監(jiān)控綜合了數(shù)字視頻監(jiān)控及網(wǎng)絡(luò)傳輸技術(shù)的優(yōu)勢(shì),在實(shí)踐中不受地理環(huán)境、位置等因素的影響,其拓展較為簡(jiǎn)單便捷,信息處理也更為容易,在實(shí)踐中可以提升遠(yuǎn)程管理及維護(hù)的質(zhì)量和效果,只要保障網(wǎng)絡(luò)覆蓋的面積就可以實(shí)現(xiàn)遠(yuǎn)程網(wǎng)絡(luò)控制。另外嵌入式系統(tǒng)的網(wǎng)絡(luò)發(fā)展已成為主流趨勢(shì),一些遠(yuǎn)程的 Linux網(wǎng)絡(luò)監(jiān)控信息編輯軟件應(yīng)用較為廣泛,但是系統(tǒng)在運(yùn)行過(guò)程中會(huì)出現(xiàn)信息篡改以及惡意壓縮等問(wèn)題,容易出現(xiàn)網(wǎng)絡(luò)時(shí)延以及丟包等現(xiàn)象,直接降低了網(wǎng)絡(luò)遠(yuǎn)程監(jiān)控的質(zhì)量,因此加強(qiáng)對(duì)嵌入式 Linux的遠(yuǎn)程監(jiān)控系統(tǒng)的設(shè)計(jì)與開(kāi)發(fā)顯得迫在眉睫,在今后的發(fā)展中將網(wǎng)絡(luò)技術(shù)與嵌入式技術(shù)進(jìn)行融合是遠(yuǎn)程監(jiān)控系統(tǒng)發(fā)展的趨勢(shì)。
基于嵌入式 Linux的遠(yuǎn)程監(jiān)控系統(tǒng)的設(shè)計(jì),分為硬件系統(tǒng)及軟件系統(tǒng)兩個(gè)內(nèi)容,其功能具體如下:
第一,持續(xù)、動(dòng)態(tài)實(shí)時(shí)監(jiān)測(cè)新數(shù)據(jù) Linux的節(jié)點(diǎn),可以為相關(guān)數(shù)據(jù)信息的采集子模塊提供代表身份的唯一識(shí)別碼;第二,為了真正實(shí)現(xiàn)嵌入式Linux網(wǎng)絡(luò)遠(yuǎn)程監(jiān)控系統(tǒng),要通過(guò)自組織的方式使得不同監(jiān)測(cè)模塊節(jié)點(diǎn)的數(shù)據(jù)在發(fā)送過(guò)程中加入,并且將其傳遞到協(xié)調(diào)器中的模塊存儲(chǔ)單元,同時(shí)可以對(duì)不同監(jiān)測(cè)節(jié)點(diǎn)的反饋數(shù)據(jù)進(jìn)行等待分析[2]。第三,利用協(xié)調(diào)模塊將集中采集和自動(dòng)收集到的數(shù)據(jù)信息發(fā)送到控制中心,通過(guò)監(jiān)測(cè)算法加強(qiáng)對(duì)系統(tǒng)的遠(yuǎn)程控制,并開(kāi)展實(shí)時(shí)數(shù)據(jù)分析。
系統(tǒng)在采集網(wǎng)絡(luò)遠(yuǎn)程監(jiān)控?cái)?shù)據(jù)以及信息傳輸處理的過(guò)程中,主要受A/D,D/A分辨率以及A/D轉(zhuǎn)換器轉(zhuǎn)換速率的影響。其具體的技術(shù)指標(biāo)為:進(jìn)行預(yù)處理和動(dòng)態(tài)模擬處理過(guò)程時(shí)的范圍為-40~+40 dB,同時(shí)其放大量的數(shù)值范圍為80 dB,輸出信號(hào)幅度范圍為±10 V;在采樣過(guò)程中利用8通道異步及同步輸入的方式作為主采樣通道,在該過(guò)程中需保障采樣率不小于200 HZ,并保障其A/D分辨率、D/A分辨率至少為12位,D/A轉(zhuǎn)換速率不小于200HZ?;胤判盘?hào)可采用LFM,CW,HFM等不同形式[3],具體應(yīng)用模型如下圖1:
圖1 監(jiān)控信號(hào)發(fā)生匹配電路等效模型Fig. 1 Occurrence matching circuit equivalent model of monitoring Signal
本文通過(guò)將嵌入式 Linux及 Web開(kāi)發(fā)技術(shù)融合,使用USB攝像頭作為監(jiān)控系統(tǒng)終端進(jìn)行圖像信息采集,利用網(wǎng)絡(luò)TCP協(xié)議進(jìn)行圖像信息的傳輸,將其遠(yuǎn)程發(fā)送到服務(wù)器終端,此種方式主要通過(guò)對(duì)等網(wǎng)絡(luò)模型,在客戶端以及服務(wù)端中發(fā)送與控制命令。
1.2.1USB攝像頭
攝像頭屬于視頻類設(shè)備,在 Linux中采用的視頻標(biāo)準(zhǔn)為Video for Linux,該標(biāo)準(zhǔn)定義了接口、內(nèi)核、驅(qū)動(dòng)以及應(yīng)用程序等,使用視頻設(shè)備必須以此接口為標(biāo)準(zhǔn)進(jìn)行控制,主要包括音視頻采集及圖像捕捉與處理等相關(guān)工作,其中USB攝像頭也屬于該標(biāo)準(zhǔn)范圍之內(nèi)。
在嵌入式 Linux操作系統(tǒng)中應(yīng)用 USB攝像頭時(shí),必須在Linux內(nèi)核配置信息中添加Video4Linux驅(qū)動(dòng)并支持USB攝像頭驅(qū)動(dòng)模塊,該過(guò)程需要通過(guò)靜態(tài)加載的方式進(jìn)行驅(qū)動(dòng)[4]。整個(gè)操作過(guò)程需首先進(jìn)入到 Linux源代碼目錄中,在 Linux終端鍵入“make menuconfig”命令,在彈出的圖形界面上完成內(nèi)核選項(xiàng)內(nèi)容的系統(tǒng)配置,選擇多媒體設(shè)備“Multimedia device->”,隨后會(huì)進(jìn)入到多媒體設(shè)備的配置界面中,再勾選“Video For Linux”,然后加載 Video4Linux模塊,這樣就初步實(shí)現(xiàn)了通過(guò)內(nèi)核支持 Video4Linux驅(qū)動(dòng),并為視頻采集設(shè)備提供了一個(gè)編程接口。同時(shí),還需要在內(nèi)核配置的主界面中,勾選USB支持選項(xiàng)“USB support->”,然后選擇“USB Multimedia device”選項(xiàng)下拉菜單中的“USB OV511 Camera support”,這樣就會(huì)在內(nèi)核中加入U(xiǎn)SB數(shù)字?jǐn)z像頭,并為其提供驅(qū)動(dòng)支持[5]。
1.2.2幀緩沖設(shè)備
在 Linux中,顯示設(shè)備通過(guò)幀緩沖(Frame Buffer,F(xiàn)B)進(jìn)行顯存抽象,在運(yùn)行中允許上層應(yīng)用程序在基于圖形模型下對(duì)顯示緩沖區(qū)進(jìn)行直接的讀寫(xiě)操作與處理。由于幀緩沖設(shè)備在實(shí)踐中是一種受限驅(qū)動(dòng),對(duì)此在使用時(shí)必須額外主動(dòng)開(kāi)啟設(shè)備。在本設(shè)計(jì)中幀緩沖設(shè)備的啟用步驟具體流程如下:
首先,進(jìn)行v86d及hwinfo的安裝,了解顯卡的支持狀況,設(shè)置本機(jī)支持模式,然后啟動(dòng)文件“//etc/default/grub”,修改“modules”文件//etc/initramfs-tools/modules,更新并重啟系統(tǒng)后就會(huì)查看到幀緩沖設(shè)備[6]。
網(wǎng)絡(luò)遠(yuǎn)程監(jiān)控系統(tǒng)主要由攝像頭驅(qū)動(dòng)模塊、網(wǎng)絡(luò)傳輸模塊、圖像采集模塊、網(wǎng)絡(luò)服務(wù)器模塊構(gòu)成。攝像頭驅(qū)動(dòng)模塊利用接口進(jìn)行攝像頭設(shè)備的信息設(shè)置以及獲取、打開(kāi)、關(guān)閉設(shè)備、進(jìn)行信號(hào)通道的有效選擇、初始化窗口等相關(guān)內(nèi)容。服務(wù)器主要利用網(wǎng)絡(luò)傳輸模塊系統(tǒng)與遠(yuǎn)程電腦終端進(jìn)行信息交流;圖像采集模塊的主要作用是將編程接口獲得的各種圖像信息進(jìn)行暫時(shí)性的存儲(chǔ)。
系統(tǒng)使用 Socket(套接字)接口進(jìn)行網(wǎng)絡(luò)編程,應(yīng)用Socket可以為系統(tǒng)提供更為穩(wěn)定的,基于連接的通訊流。應(yīng)用TCP協(xié)議可以從根本上提升數(shù)據(jù)信息傳輸?shù)挠行蛐砸约熬珳?zhǔn)性,在實(shí)踐中基于TCP協(xié)議的服務(wù)器端以及客戶端在設(shè)計(jì)過(guò)程中并沒(méi)有固定的、單一的功能,客戶端在運(yùn)行過(guò)程中不會(huì)對(duì)服務(wù)器的命令產(chǎn)生依賴[7]?;谇度胧?Linux的遠(yuǎn)程監(jiān)控系統(tǒng)在服務(wù)器開(kāi)啟之后,服務(wù)器與客戶端之間可以通過(guò)發(fā)送命令的方式實(shí)現(xiàn)各種網(wǎng)絡(luò)信息與數(shù)據(jù)的傳輸,且數(shù)據(jù)的傳輸方向是任意的。
圖2 圖像信息采集流程圖Fig. 2 Image Information Collection Flow Chart
在進(jìn)行基于嵌入式Linux遠(yuǎn)程監(jiān)控系統(tǒng)的設(shè)計(jì)過(guò)程中應(yīng)用的是工作組模式,其中工作組也就是對(duì)等網(wǎng)絡(luò)模型,使得處于網(wǎng)絡(luò)中的相關(guān)設(shè)備功能一致,沒(méi)有等級(jí)劃分,這樣不僅可以作為服務(wù)端進(jìn)行共享資源網(wǎng)絡(luò)的應(yīng)用,也可以作為客戶端應(yīng)用。工作組是一種在小型局域網(wǎng)中常見(jiàn)的組網(wǎng)模式,在工作組中并沒(méi)有專門(mén)的服務(wù)器以及客戶端[8]。
本系統(tǒng)軟件主要由攝像頭驅(qū)動(dòng)模塊、網(wǎng)絡(luò)傳輸模塊以及網(wǎng)絡(luò)服務(wù)器模塊、圖像采集模塊共同構(gòu)建組成。系統(tǒng)通過(guò)啟動(dòng)USB攝像頭設(shè)備并開(kāi)啟幀緩沖設(shè)備,實(shí)現(xiàn)視頻圖像信息的采集及圖片文件的形成、利用TCP/IP網(wǎng)絡(luò)進(jìn)行數(shù)據(jù)傳輸,以及在監(jiān)控端使用幀緩沖設(shè)備進(jìn)行圖像顯示等功能,被監(jiān)控端口圖像信息采集成功提示圖如下圖3:
圖3 被監(jiān)控端口圖像信息采集成功提示圖Fig. 3 Successful Collection Prompt Diagram of Monitored Port Image Information.
為測(cè)試系統(tǒng)運(yùn)行效果以及遠(yuǎn)程監(jiān)控算法在系統(tǒng)中的性能,設(shè)計(jì)采用兩臺(tái)桌面計(jì)算機(jī)進(jìn)行仿真實(shí)驗(yàn),其中一臺(tái) PC進(jìn)行 Linux遠(yuǎn)程監(jiān)控信息的采集及發(fā)送,另一臺(tái)PC作為L(zhǎng)inux遠(yuǎn)程網(wǎng)絡(luò)監(jiān)控信息的接受以及顯示終端,通過(guò)有線或無(wú)線的方式進(jìn)行完善的構(gòu)建,將智能網(wǎng)絡(luò)信息監(jiān)控系統(tǒng)植入到計(jì)算機(jī)中,構(gòu)建局域網(wǎng),通過(guò)對(duì)連續(xù)六十秒中的網(wǎng)絡(luò)數(shù)據(jù)進(jìn)行分流監(jiān)控處理,對(duì)各大量數(shù)據(jù)進(jìn)行了24781 s的訓(xùn)練,通過(guò)訓(xùn)練獲得的結(jié)果對(duì)連續(xù)八十秒的數(shù)據(jù)信息進(jìn)行分流監(jiān)控處理,在143 s獲得結(jié)果,生成232MB的TXT文本文件,對(duì)異常狀態(tài)檢測(cè)成功率高達(dá)95%,效果較為顯著。通過(guò)遠(yuǎn)程網(wǎng)絡(luò)監(jiān)控?cái)?shù)據(jù)的丟包率以及異常網(wǎng)絡(luò)信息內(nèi)容的檢測(cè),了解到此種算法監(jiān)測(cè)性能較為良好[9-10]。
基于嵌入式 Linux遠(yuǎn)程監(jiān)控系統(tǒng)的設(shè)計(jì)在實(shí)踐中真正的做到了嵌入式設(shè)備驅(qū)動(dòng)模式的加載、網(wǎng)絡(luò)數(shù)據(jù)的存儲(chǔ)和傳輸、視頻圖像信息采集等相關(guān)功能,具備較為完善的遠(yuǎn)程控制作用,嵌入式 Linux遠(yuǎn)程監(jiān)控系統(tǒng)是基于工作組網(wǎng)絡(luò)模型進(jìn)行設(shè)計(jì)并實(shí)現(xiàn)的,能夠?qū)⒍丝趹?yīng)用程序作為服務(wù)器端或客戶端,可以在實(shí)踐中廣泛應(yīng)用。