摘要:本文介紹了一種能夠對鋼筋混凝土檢測儀進行遠程監控并且回傳數據的裝置。目前世界上絕大部分大型橋梁都是鋼筋混凝土結構,對建成時間久或者新建成、受臺風地震等災害影響的橋梁,為了檢查其安全性能是否符合標準,有專用的鋼筋混凝土檢測儀對其進行檢測。為了解決大橋底部檢測難以實時監控的問題,開發了該傳輸與控制系統,可在檢測橋梁底部時實現實時監控,并且能夠實時傳回數據進行分析。本文網絡版地址:http://www.eepw.com.cn/article/248892.htm
關鍵字:嵌入式系統;遠程控制;文件傳輸;視頻監控
DOI: 10.3969/j.issn.1005-5517.2014.6.007
引言
隨著時代的發展,越來越多的特大特高橋梁和高層建筑出現在了我們的生活之中,給人們的生活帶來了巨大的便利。但近幾年頻頻發生的大橋垮塌事故讓我們對這些建筑的安全性產生了懷疑。事實上,只要定期對建筑進行檢測和維護,這些事故是完全可以避免的。但是由于大橋高度高、跨度大,對橋底面的檢測十分困難。于是相關機構研制出了可貼于大橋底面行走的機器人,裝載上鋼筋混凝土檢測儀,可以對大橋底部進行檢測。但是目前的檢測儀都只能手持控制,所以只能每次行走完成之后取下設備,然后讀取數據進行分析,這樣設備在橋下運行時就有很大的不確定性,不知道設備在橋下的運行情況,難以及時發現、處理意外情況。本裝置的研制就是為了解決這個問題,當檢測人員攜帶開啟無線熱點功能的PC在橋面行走時,橋下的改造后檢測儀通過連接到PC熱點,檢測人員就能對設備在橋下的情況實現實時監測,遠程控制并實時獲取檢測數據。
系統示意圖如圖1。
本文采用友善之臂公司出品的tiny6410開發板,該開發板使用三星S3C6410處理器,搭載嵌入式Linux操作系統,以北京智博聯科技有限公司生產的型號為ZBL—R800的多功能混凝土鋼筋檢測儀(以下簡稱“檢測儀”)為改造對象,在完全不影響其功能的前提下,通過對其進行簡單的改造,實現對檢測儀的遠程操作、監控和數據回傳。該檢測儀主要由兩部分組成,主機和傳感器。在主機側面有連接傳感器的數據接口,電源接口和一個USB接口,其中USB接口插上U盤后可以將檢測數據存儲在U盤中。
通常狀態下,開關斷開,輸出端輸出高電平,當按鍵按下時,開關閉合,輸出端輸出一個低電平。為了實現遠程控制的功能,我們需要使用開發板接管鍵盤,及開發板接收到命令之后,通過ioctl()函數使開發板上的GPIO口輸出對應的高低電平,直接送給鍵盤,實現按鍵這個過程。如圖5所示。
控制命令的發送利用Socket通信實現,Socket作為支持TCP/IP的網絡通信的基本操作單元,能夠以很簡單的方式實現網絡上不同主機之間的通信。Windows操作系統的Socket支持流套接字和數據報套接字,應用程序調用Windows Sockets的API實現相互通信。Windows Sockets又利用下層的網絡通信協議功能和操作系統調用實現實際的通信過程。
圖6是一個Socket通信的基本過程,所有平臺的Socket通信大體上都是按照這個模式,或者稍加改進來實現的。
實現Socket通信,通常采用C/S模式,即大家熟知的客戶機和服務器結構,至少需要一組Socket程序。在本系統中,將Socket服務器設置在開發板上,可以自定義接受來自哪些客戶端的連接請求,以實現更靈活的使用。而且將其設置為開機自動啟動,以隨時待命,接受連接請求,不需要手工啟動。Socket客戶機設置在PC客戶端上,可以從PC上發送指令,實現遠程控制。四鍵模擬鍵盤如圖7。
每一個按鈕對應一條指令,每按下一個按鈕,相應的指令被發送給開發板上的客戶機程序,客戶機接收到指令后再由處理程序進行相應的處理,然后通過開發板的接口把指令輸出到檢測儀的鍵盤接口,實現相應的操作。經過測試,點擊按鈕之后,開發板能夠立即接收到指令,并做出相應的反應,基本做到零延遲,能夠滿足遠程實時控制對低時延的要求。
2 視頻監控
視頻監控有很多種實現方式,但是考慮到實現難度和PC客戶端的開發難度,在MJPG-streamer開源項目的基礎上進行進一步開發來實現是一個簡單易行的方法。MJPGstreamer是一個輕量級的視頻服務器軟件,使用C語言開發,運行于Linux操作系統上,可以從攝像頭獲取jpeg圖像,然后從PC上通過網絡瀏覽器實時查看攝像頭內容。
通過修改MJPG-streamer的源代碼,進行交叉編譯后,其可以運行在嵌入式Linux開發板上。運行后便可以通過PC的網絡瀏覽器瀏覽攝像頭的內容。并且對攝像頭進行一些簡單的控制(需要攝像頭支持)。
在PC客戶端開發中,通過使用WebBrowser控件調用開發板上的包含視頻的網頁來顯示監控畫面。顯示效果如圖8。
可以看到監控畫面的質量較好,經過測試,在局域網環境下,VGA(640×480)分辨率時,畫面平均時延50ms左右,平局幀率18幀左右,畫面流暢清晰,完全能夠滿足需求。
3 數據回傳
需要實時地將檢測儀獲取的數據傳回到橋面上的計算機中進行分析,所以需要設計一個文件傳輸系統。在本系統中,以FTP協議為基礎,編寫一個FTP系統。該FTP系統采用被動式FTP,在這種方式的FTP系統中,命令連接和數據連接都由客戶端發起。系統中服務器設置在嵌入式開發板上,客戶端集成在PC客戶端中。
開發板已安裝FTP服務器,開機后一直處于偵聽狀態,等待客戶端的連接。當PC客戶端中的FTP啟動時,會向服務器發送連接請求,服務器首先驗證用戶名和密碼,驗證成功后則建立連接,然后客戶端發起傳輸數據請求,服務器響應請求,從而完成數據傳輸。
一個實際可用的FTP系統至少應該具有文件目錄顯示、文件下載、文件上傳和文件刪除這四個基本功能,如圖9所示。
PC客戶端基于微軟公司的.Net平臺,使用C#語言開發。微軟公司出品的.NET Framework提供了十分豐富的網絡編程接口和封裝好的類庫,使開發過程變得簡單。首先利用FtpWebRequest類的Create方法創建FTP連接,驗證用戶名密碼后連接創建成功,同時利用GetResponse方法獲取服務器的反饋信息。當需要上傳、下載和刪除文件時,還是利用FtpWebRequest,只是將其Method屬性設置為WebRequestMethods.Ftp. UploadFile,WebRequestMethods.Ftp. DownloadFile和WebRequestMethods. Ftp.DeleteFile,然后向服務器發起請求,服務器便會響應相應的請求。服務器每次響應請求之后,都返回當前的目錄下的文件列表,供PC客戶端顯示。
“返回上級目錄”功能比較特殊,當用戶雙擊“返回上級目錄”后,將保存當前路徑的變量中當前路徑的最后一級刪除,生成新的當前路徑,然后用新的當前路徑向服務器發送顯示文件列表請求,達到顯示上一級目錄的目的。
經測試,使用PC客戶端能夠順利選擇文件夾和文件,并下載、上傳和刪除文件,具備一個實用的FTP系統的基本功能,能夠滿足該系統的需求。FTP下載文件界面如圖10所示。
4 總結
利用本文中的裝置,可以以很小的代價為普通的鋼筋混凝土檢測儀添加遠程視頻監控和數據回傳功能,能夠對檢測儀在橋下的運行狀態進行監控,并實時獲取檢測儀的檢測數據,能夠大大地拓展普通鋼筋混凝土檢測儀的使用環境。而且可以根據需要,進行功能的添加和刪除,二次開發簡單方便。總體說來,該系統簡單可靠,成本低廉,使用方便,具有一定的實用價值,值得推廣。
參考文獻:
[1]王海軍.嵌入式Linux設計與應用教程[M].上海:上海交通大學出版社,2012
[2]蔡安妮.多媒體通信技術基礎[M].北京:電子工業出版社,2012
[3] 梁斌玉.叩響C#之門[M].北京:電子工業出版社,2009
[4]鄧博文,鐘志.基于MJPG-streamer的遠程視頻監控系統的實現[R/OL].[2013-03-07] http://www.paper.edu.cn/releasepaper/ content/201303-239
[5]黃孝建.多媒體技術[M].北京:北京郵電大學出版社,2010