唐璐

摘 要 隨著云計算、大數據、5G通信技術的發展,人工智能時代已經到來,智慧廣電開始融入政治、經濟和社會生活當中,智慧中波建設應運而生,“有人留守、無人值機”成為大勢所趨。因此,人們需要遠程監控系統來隨時觀察發射機房狀況。基于GPRS的遠程監控系統,采用C/S模式,由客戶端和服務端兩部分組成,通過GPRS實現實時連接,實現畫面實時顯示和拍照功能。
關鍵詞 GPRS;遠程監控;實時;手機客戶端
引言
隨著傳輸技術的演變發展、新媒體技術的更新迭代,信息傳媒行業的使命更加艱巨,傳統的工作模式已經無法滿足中波發展需求。隨著智慧中波的建設,安防監控成為安全播出智能化管理的有效手段。而遠程監控技術將給我們的管理帶來便利,為走向“有人留守,無人值機”打下基礎。
1遠程監控系統概述
遠程監控系統通過有線傳輸或無線傳輸的方式,將監控前端采集到的視頻圖像信息傳輸給監控中心站,監控中心站存儲接收到的信息。隨著工作場景對安全防范要求的提高,遠程監控系統更多地應用到工作當中,成為我們視覺的延伸。讓我們可通過視頻圖像來判斷現場情況,通過保存錄像、照片為處理后續問題帶來便利。隨著無線移動通信技術的不斷發展,無線移動傳輸帶寬進一步提高,使得遠程監控系統向移動式視頻監控系統發展。
移動式遠程監控系統主要由手機客戶端作為移動終端,攝像頭作為監控前端采集圖像數據,通過傳輸網絡傳輸數據,實現視頻數據的交互、發送和接收等,甚至可以實時轉播聲音動態,聽到來自視頻監控死角的聲音,帶來更多的技術保障,實現對發射機房的實時監控[1]。
2本設計的方案思路
用攝像頭做監控前端,手機為移動終端,使用手機客戶端遠程監控。監控前端和移動終端之間通過GPRS無線傳輸圖像數據。要求整個設計能夠進行視頻監控,監控過程中能夠抓拍圖片,保存并上傳圖片。
3本設計的系統功能
客戶端和服務器能夠實時連接,打開服務器端能實時顯示捕捉到的畫面,在客戶端發出拍照命令時,能夠拍攝并壓縮圖片后將其上傳給客戶端。打開客戶端軟件,能夠對服務器軟件發出命令,并在短時間內接收到來自服務器軟件的圖片,并將其顯示在手機屏幕上以及保存在手機的本地文件中。
4軟件設計
4.1 總體方案
該系統采用C/S結構,即客戶端與服務器架構。C/S結構能夠結合客戶端與服務器在硬件上的優點,通過把任務分配給客戶端和服務器來實現任務。服務器在空閑狀態時需要等待來自客戶端的請求,處理完接收到的請求后傳回處理結果。客戶端負責向服務器發送要求,并且保持等待直到收到處理后的回應。
4.2 軟件說明
(1)客戶端(PhotoCaptureClient)
客戶端對應于服務端,是為用戶提供本地服務的程序,與服務端相互配合才能運行。本系統通過基于GPRS的Socket通信連接客戶端和服務器。
1)基于GPRS的通信方式:Socket通信。GPRS是一種通用無線分組業務。GPRS數據傳輸有很多優點,一是接入范圍比較廣,它基于GSM發展而來,不會影響現有網絡;二是高速的數據傳輸,分組交換保證了數據和通訊指令能夠被高速傳輸;三是接入時間短,能進行快捷登錄;四是GPRS能夠一直保持在線,不間斷與網絡的聯系;五是按照流量計費,只有進行數據傳輸任務,才會計費。
Android平臺支持多種網絡通信機制,本客戶端程序使用SSL通信,使用Socket類建立負責連接到服務器的套接字對象,實現兩者通信。
2)小部件:Button、Image View和TextView。本客戶端使用的按鈕部件是普通按鈕(Button)。普通按鈕的屬性繼承于文本條組件,按鈕組件主要用于接收用戶操作的點擊事件;圖片顯示組件使用的是圖片視圖(Image View)。圖片視圖的功能是顯示圖像內容;文本組件使用的是文本條(TextView)。文本條作用是顯示文本內容。通過set Text()和get Text()兩種方法,可以對組件的顯示內容進行設置或是獲取文本內容。
3)圖像顯示。Bitmap可以獲取圖像文件的信息,完成圖像的剪切、旋轉和縮放等操作,以指定格式保存圖像文件。不過這個類的構造函數屬于私有函數,不能在包外對它進行實例化,只有通過JNI實例化才能進行。創建Bitmap的接口由Bitmap Factory輔助類提供。Bitmap Factory的作用是通過從各種來源包括文件流和字節數組獲得的信息創建位圖對象。
4)Handler類。Handler類主要的作用是處理異步的信息。當我們新建立Handler處理程序時,它會被捆綁到建立它的線程與信息隊列上,從這一點上,它將傳遞信息及執行那些信息隊列出來的runnable消息。多線程是Java的特點之一,實現多線程的方法有兩種:繼承Thread以及實現Runnable接口,本客戶端中使用的是Runnable接口。
5)布局組件:相對布局和線性布局。本客戶端主要的布局類型是線性布局和相對布局。線性布局指的是直線放置視圖容器中的子組件。線性布局是一個有方向屬性、寬度屬性和高度屬性的顯示組件容器;在相對布局中,所有子組件的擺放,需要前一個組件的位置。
6)IO Exception。IO Exception指的是一個與I/O相關的錯誤信號。錯誤詳細信息可以調用構造函數時指定,像往常一樣。需要注意的是也會有更具體錯誤情況下幾個子類,比如說File Not Found Exception類和EOF Exception類等。
7)圖片存儲:File以及File Output Stream類。File類是路徑確定文件系統實體的抽象表示。路徑名稱絕對或相對于目錄中的程序運行。當操作文件的路徑,該類的靜態域可以用來確定特定平臺的分離器。通過File類相關方法,實現對常用文件系統的操作功能;File Output Stream類專門把Output Stream書寫到文件系統的文件中。所有的寫請求通過調用方法直接轉發到等效功能的操作系統底層。
(2)服務端(Photo Capture)
服務器作為監控前端,通過攝像頭獲取圖像信息,上傳圖像數據。客戶端通過Socket通信來新建套接字對象連接到服務器。而為了讓客戶端與服務端之間正常通信,必須在服務端建立一個ServerSocket對象,將兩者的套接字對象連接。
1)Activity類。Activity可稱為形象大使,作用是能夠給予一組實現交互的可視界面,用來處理前端的事物。而在后臺,Activity與應用程序框架中大部分組件都有相關性。一個Android應用程序允許多個Activity同時存在,但只有其中一個可以用于啟動,而互相可通過調用來組成Activity棧。
2)底層視圖:Surface View類。Surface View類提供一個專用的內嵌視圖層次結構的繪圖表面。Surface View負責將視圖擺放在正確位置。SurfaceHolder是獲取圖像表面的抽象接口。它可以控制表面的大小、格式、像素,并監控表面的變化。Surface Holder接口的使用一般都是利用Surface View類進行。
3)多媒體應用:Camera類。Camera類的作用是打開或關閉攝像頭,進行圖像畫面捕捉,啟動預覽、停止預覽、照片抓拍和搜索視頻幀的編碼。使用Camera類所提供的接口,可以得到設備相機服務的接口,實現預覽和拍照功能。它沒有默認構造函數。利用open()方法可以獲得相機接口。
4)Thread類。在本軟件的程序中,Thread.start()方法的作用是開啟線程。Thread.sleep(2000)語句的作用是線程休眠2秒。
5)Server Socket類。Server Socket類代表一個等待傳入的客戶端連接的服務端套接字。Server Socket處理請求并返回一個適當的答復。服務器套接字必須完成的工作是通過內部的socketimpl實例實現的。當上下文實例初始化成功后,就可以得到通過它關聯的服務器工廠實例。根據指定的服務端口,服務套接字工廠實例可以創建一個Server Socket。當創建Server Socket成功,就可以等待客戶端連接,實現通信。
6)Buffered Reader與Buffered Writer類。Buffered Reader類的作用是打包一個現有的Reader和緩沖數據的輸入。其潛在讀者的昂貴相互應當被最小化,因為大多數請求可以通過訪問單獨的緩沖獲得解決。Buffered Writer類的作用是打包一個現有的Writer和緩沖數據輸出。同樣,Buffered Writer類潛在讀者的昂貴相互應當被最小化。
7)字節輸入流和字節輸出流。在java.io包中有大量的流類,字節輸入流和字節輸出流分別指的是Input Stream類以及Output Stream類的子類創建的流對象。Input Stream類是輸入流的基類,輸入流是由一個字節為單位讀取源數據的方法。Output Stream類是全部輸出流的基礎類。輸出流寫數據到一個目標以一個字節為單位進行。
5軟件調試和系統調試
軟件調試主要是調試服務端能否打開攝像頭并且將捕捉到的圖像內容實時顯示;客戶端能否連接到服務端,并控制服務端拍照和上傳圖片。
調試時,需將服務端和客戶端都聯入同一個局域網中,在客戶端Address欄輸入服務端的IP地址,port欄輸入端口號8088。打開服務端和客戶端,觀察實時性和軟件功能。
6結束語
通過遠程監控系統,可實現對發射機房的實時監控,降低安全監管成本,實現減員增效,是現代化手段對人力、資源和安全播出監管的有效方式。在實際應用中,我們未應用移動式的安防監控模式,但已實現系統化的安防監控監管,配備智能安防監控、車輛識別門禁等,并實現系統間互聯互通。我們有理由相信,隨著智慧中波建設的不斷推進,“有人留守、無人值機”的目標將成為可能。
參考文獻
[1] 范永開,許林.Android程序設計[M].北京:清華大學出版社,2014: 91-97.