楊福寶,王 建
YANG Fu-bao, WANG Jian
(武漢理工大學 信息工程學院,武漢 430070)
伴隨著信息技術與嵌入式技術的發展,現代的遠程監控技術已經走進我們的生活,可以說遠程監控系統就是信息網絡與控制網絡結合的產物,它集現代計算機技術、通信技術、傳感器技術、自動控制技術和人機系統技術等為一體,在許多領域有廣泛的應用,如工業生產過程實時監控、動力設備集中監控、環境與安保集中監控、水利系統監控、圖像遠程監控、電力綜合監控、綜合網絡監控、移動監控等。
嵌入式系統本身是一個相對模糊的定義。從應用上來定義,可以敘述為:是“控制、監視或者輔助裝置、機器和設備運行的裝置”。當然,這僅僅是從一個方面來概括。目前國內普遍它被認同的定義是:以應用為中心、以計算機技術為基礎、軟件硬件可裁剪、適應應用系統對功能、可靠性、成本、體積、功耗嚴格要求的專用計算機系統。適用于應用系統對功能、可靠性、成本、體積、功耗有嚴格要求的場合。它一般由嵌入式微處理器、外圍硬件設備、嵌入式操作系統以及用戶的應用程序等四個部分組成,用于實現對其他設備的控制、監視或管理等功能。
1) 嵌入式系統是一個實現預定特殊功能的系統,它具有有限的資源(如內存、功耗、處理器速度、計算能力等)。通常,應用程序的運行將占用整個ROM 的存儲容量。這與一臺具有普通處理器、支持多種應用程序的PC 機是截然不同的。另外,嵌入式軟件的應用范圍較PC 機豐富許多。
2) 嵌入式系統具有自己的操作系統,一般為實時操作系統RTOS。RTOS 的出現,很大程度上縮短了開發周期,減少了系統程序員的工作量,提高編程效率與程序質量,同時也加速了嵌入式產品的更新換代,而利用RTOS 進行開發的嵌入式系統所帶來的優越性是其他監控系統(如單片機、PLC 等) 無法比擬的。
3) 嵌入式系統的CPU 具有低功耗、體積小、集成度高等特點,能夠把通用CPU 中許多由板卡完成的任務集成到芯片內部,從而有利于整個系統設計趨于小型化。系統可靠性高,能適應冷熱、振動、腐蝕等各種變化,因此特別適用于需要在惡劣環境下工作的監控系統。
通過上述對嵌入式系統的分析,可以使我們很容易的了解到,嵌入式技術在監控系統中應用的優越性是其他監控系統所無法比擬的。對此,本文從嵌入式監控系統入手,結合WEB技術實現遠程監控的目的。
基于嵌入式WEB技術的視頻監控系統結合了先進的WEB技術與嵌入式技術,其服務器采用嵌入式技術實現,通過WEB方式實現服務器端與客戶端的信息交互。本文所述監控系統的硬件結構如圖1所示:

圖1 監控系統的硬件結構
系統由現場設備、嵌入式WEB服務器、傳輸網絡和監控端組成?,F場設備包括攝像頭和一些測控單元,用于采集現場的數字視頻信息和各種開關量、模擬量信息。嵌入式服務器是整個監控系統的核心部分,其硬件由CPU芯片、Flash芯片、內存、網絡接口以及一些數據采集卡組成。主要功能包括:實現現場視頻信息的直播和點播;采集現場設備信息并進行相應處理,為監控端提供WEB訪問頁面;對監控端的訪問進行有效性、安全性檢查;響應監控端的請求,為監控端提供所需信息;接收監控端的控制信息,經過軟硬件轉換對現場設備進行控制,如控制攝像頭的轉動、啟動現場的報警裝置等。每個服務器有自己的IP地址,在監控端可通過通用瀏覽器界面訪問服務器,一個服務器可同時為多個監控端服務。為了實現視頻點播功能,需要存儲大量的視頻圖像信息,由于嵌入式服務器體積小,故增加了可選擇的外接存儲設備。監控端的功能是顯示現場視頻和狀態信息,并根據需要向服務器端發出各種信息請求以及對現場設備的控制信號。一個監控端也可以同時訪問多個服務器。
系統軟件包括操作系統與設備驅動程序。
嵌入式操作系統是支持嵌入式系統應用的操作系統軟件,是在系統實時性、硬件相關性、軟件固態化等方面有著突出特點的專用操作系統。本系統采用嵌入式LINUX操作系統,它是在根據系統需要對LINUX操作系統進行小型化裁剪的基礎上實現的。使用LINUX的優勢在于:其操作系統的源代碼是開放的,可根據需要進行定制;系統內核小,因而對硬件的要求相對要低;支持多任務多進程,能提供較好的實時性。由于系統信息處理量大、實時性要求高,操作系統的存儲調度、進程管理、文件管理等都要求采取高效可行的策略。本系統是一個專用計算機系統,用于測控的板卡有些是根據需要自行定制的,因此編寫相應的驅動程序也是必不可少的環節。
服務器的應用軟件結構如圖2所示:

圖2 服務器的應用軟件結構
視頻服務器是整個服務器的核心部分。主要包括以下幾個模塊:
3.2.1.1 視頻壓縮編碼模塊
主要功能是實現對視頻信息的壓縮和編碼。根據網絡帶寬、拓撲結構以及對圖像質量的要求,本系統選用基于MPEG-2標準的分層可擴展性編碼方案。
實時采集模塊將獲取的視頻信息存放在待編碼視頻緩沖隊列中,等待視頻壓縮編碼進程對視頻信息進行壓縮和編碼處理,視頻壓縮編碼進程將編碼后的視頻存放到已編碼視頻緩沖隊列中,同時激活或等待直播進程和存儲管理進程進行相應處理。
3.2.1.2 存儲管理與調度模塊
存儲管理模塊的主要功能是將壓縮和編碼的視頻信息根據一定的策略存儲至磁盤中特定的區域。本系統采用等長分組存儲策略。即將視頻信息按照時序關系分割成若干數據單元,這些數據單元稱為分組,將每個分組存儲于一個大小固定的存儲單元內。
存儲調度模塊的主要功能是響應視頻調度模塊的請求,按照一定的磁盤調度策略和優先級順序從磁盤中讀取信息至內存緩沖區。由于采用等長分組存儲策略,因此系統的磁盤調度直接采用簡便快捷的線性調度算法。
3.2.1.3 視頻調度與傳輸模塊
視頻調度與傳輸模塊共同協作,為監控端提供所需的視頻信息。視頻傳輸模塊根據所采取的網絡傳輸與控制協議與監控端建立連接,監聽監控端的請求;視頻調度模塊根據不同的服務類型采取相應的調度策略創建視頻流,傳遞給視頻傳輸模塊;視頻傳輸模塊再將數據分組、打包,發送到監控端,并根據路由器和監控端反饋的網絡狀態信息進行差錯處理和擁塞控制。本系統對于點播信息采用單播傳輸方式。視頻調度采取先來先服務的策略,對于每一個點播請求單獨生成一個視頻流。直播信息采用分層組播方式。這種方式避免了數據的重復發送,節省了網絡帶寬,非常適合于直播視頻流的傳輸。分層組播的基本思想是發送方將每一層的壓縮視頻發送到一個組播組中,接收端根據自己的網絡帶寬狀況接收基本層數據和多個增強層數據,從而獲得不同質量的視頻。
本系統采用的網絡傳輸協議使用RTP/UDP/IP模型。RTP協議是一種提供端對端的實時媒體傳輸服務的協議,由實時傳輸協議RTP和實時傳輸控制協議RTCP兩個部分組成。RTP用于多媒體數據的傳輸,而RTCP用來監控實時數據的傳輸。RTP的數據包頭的數據結構非常適合媒體數據的封裝和描述。RTP協議不規定負載的格式和大小,因而具有很大的靈活性。RTCP協議為媒體流化的管理提供了平臺,利用RTCP的數據結構可以很好地監控信息傳輸狀況,實現流量及擁塞控制。RTP本身并不具有獨立傳輸數據的能力,而是必須和低層的網絡協議結合使用,對于IP網絡,通常是和UDP協議結合。UDP協議采用無連接的傳輸方式,適用于對實時性要求高、允許有一定丟失率的視、音頻實時數據的傳輸。視頻數據流在傳輸時被劃分為塊,視頻數據塊依次經過RTP、UDP、IP協議的封裝,最終成為相對獨立的網絡數據包提交給網絡傳輸媒體。RTP/UDP/IP的方式兼顧了視頻傳輸的實時性與QoS保證。由于傳輸網絡狀況的不確定性,還必須采取一定的擁塞控制和差錯控制策略。針對本系統采用的分層可擴展性編碼方法,選擇了基于收端的速率控制方式進行擁塞控制。由客戶端根據網絡狀態增加或減少信道數量,一般最少保證基本層視頻信息的接收。服務器端編碼部分固定不變,只是在發送層參與調整,這種方式減輕了服務器的負擔。差錯控制方面,為簡化服務器的設計,選擇采用誤碼掩蓋的方法,即采用空間上相鄰的宏塊來取代出錯的宏塊,或利用前一幀相同位置或運動矢量指向的位置信息來取代出錯位置的信息。
實時采集/控制模塊是指系統各種外設的實時采集模塊和實時控制模塊,它們相對獨立,采用多線程的方式實現與底層設備驅動程序的信息交互。實時采集模塊由一系列設備的采集模塊組成,在操作系統啟動時加載。在服務器運行期間始終駐留內存運行,定時輪詢設備端口狀態,獲取設備端口的數據信息,并激活或提交給相應的處理模塊。對于視頻數據,將其加入視頻編碼緩沖隊列,由視頻壓縮編碼模塊處理;現場狀態信息送交測控信息處理模塊處理。測控信息處理模塊在WEB服務器和實時采集/控制模塊之間提供了信息的過濾和轉換功能。實時控制進程根據處理后的設備信息和控制信息調用相應設備的驅動程序對設備進行控制。
WEB服務器通過HTTP協議與監控端瀏覽器軟件進行信息交互,提供服務器應用程序模塊的訪問界面和現場設備的信息訪問和控制界面。除此以外它還要對監控端的訪問權限進行控制,過濾監控端的請求和控制信息,處理多個監控端的請求和控制的同步和優先級問題,從而保證系統的安全性和穩定性。監控端通過WEB頁面激活服務器的相應應用程序模塊,傳遞信息服務請求和控制命令。本系統采用Apache Server。Apache Server是一個功能強大的開放源代碼的WEB服務器軟件,可靈活定制,服務器程序本身所占空間很小,因而十分適用于嵌入式系統。
隨著信息化,智能化,網絡化的快速發展,嵌入式系統應用也將獲得更廣闊的空間。未來的嵌入式系統必然是要與網絡接軌,因此,本文對于嵌入式WEB技術的遠程視頻監控系統研究是具有深遠意義的。
[1]林建民.嵌入式操作系統技術發展趨勢[J].計算機工程,2001(10).
[2]涂剛, 陽富民, 胡貫榮.嵌入式操作系統綜述[J].計算機應用研究, 2000(11).
[3]彭濤, 李聲晉, 蘆剛, 邵瑜.遠程設備監控系統中嵌入式Web服務器的設計 [J].機械與電子, 2008(1).
[4]黃天戍, 余智欣, 袁學文.新型嵌入式Web服務器系統的設計與研究[J].計算機工程, 2005(11).
[5]厲魯衛, 包建榮, 蔣苗林, 周朔燕.基于ARM嵌入式Web服務器的研究與設計[J].計算機工程與設計, 2004(5).