基于A(yíng)RM的智能車(chē)無(wú)線(xiàn)視頻監控系統設計
摘要:為了實(shí)現可以進(jìn)行遠程無(wú)線(xiàn)視頻監控的智能車(chē),提出一種以嵌入式技術(shù)和無(wú)線(xiàn)通信技術(shù)為基礎的設計方案。設計一款以S5pv210處理器為核心的智能車(chē)無(wú)線(xiàn)視頻監控系統,系統采用C/S與B/S架構相結合的工作模式,內置控制服務(wù)器和網(wǎng)絡(luò )視頻服務(wù)器。用戶(hù)可以通過(guò)上位機客戶(hù)端與服務(wù)器建立連接實(shí)現對系統的控制;也可以通過(guò)wifi使用智能終端利用游覽器登錄web服務(wù)器實(shí)現控制操作。實(shí)際應用表明,該系統的多方位的操作手段以及可以檢測周?chē)鷾囟群陀泻怏w的功能,可以達到在實(shí)際的探測工作中的需求。
本文引用地址:http://dyxdggzs.com/article/201610/307229.htm關(guān)鍵詞:ARM;wifi;視頻監控;web服務(wù)器
移動(dòng)機器人,是一個(gè)集環(huán)境感知、動(dòng)態(tài)決策與規劃、行為控制與執行等多功能于一體的綜合系統。它集中了傳感器技術(shù)、信息處理、電子工程、計算機工程、自動(dòng)化控制工程以及人工智能等多學(xué)科的研究成果,代表機電一體化的最高成就,是目前科學(xué)技術(shù)發(fā)展最活躍的領(lǐng)域之一。隨著(zhù)機器人性能不斷地完善,移動(dòng)機器人的應用范圍大為擴展,不僅在工業(yè)、農業(yè)、醫療、服務(wù)等行業(yè)中得到廣泛的應用,而且在城市安全、國防和空間探測領(lǐng)域等有害與危險場(chǎng)合得到很好的應用。因此,移動(dòng)機器人技術(shù)已經(jīng)得到世界各國的普遍關(guān)注。
本次設計一款既具備智能終端控制也可通過(guò)上位機進(jìn)行實(shí)時(shí)視頻監控的視頻監控小車(chē)。在本次開(kāi)發(fā)的系統中,通過(guò)使用無(wú)線(xiàn)路由器和無(wú)線(xiàn)網(wǎng)卡組建局域網(wǎng),在智能車(chē)架設mjpgstreamer網(wǎng)絡(luò )視頻服務(wù)器,同時(shí)通過(guò)無(wú)線(xiàn)網(wǎng)卡使智能車(chē)接入組建好的局域網(wǎng)中,既可以在PC機上使用客戶(hù)端進(jìn)行實(shí)時(shí)監控控制,也可以使用手機等智能終端通過(guò)無(wú)線(xiàn)網(wǎng)卡來(lái)對智能車(chē)進(jìn)行控制和實(shí)時(shí)監控。
1 智能車(chē)無(wú)線(xiàn)視頻監控系統總體設計
1.1 智能車(chē)無(wú)線(xiàn)視頻監控系統整體框架
本次開(kāi)發(fā)的系統是采用雙架構結合的工作模式,內置智能車(chē)控制服務(wù)器和網(wǎng)絡(luò )視頻服務(wù)器。其中智能車(chē)內置的控制服務(wù)器,利用socket網(wǎng)絡(luò )通信技術(shù)(UDP 協(xié)議),接受客戶(hù)端發(fā)送的控制請求,并執行相應操作,如智能車(chē)的行駛命令、聲頻播放命令、舵機轉動(dòng)命令、溫度獲取命令等操作。而智能車(chē)內置 mjpgstreamer網(wǎng)絡(luò )視頻服務(wù)器,它從監控攝像頭獲取視頻流,并利用網(wǎng)絡(luò )(TCP協(xié)議)將視頻流以JPEG格式發(fā)送到客戶(hù)端。另外內置網(wǎng)頁(yè)服務(wù)器 (web server),用戶(hù)可以通過(guò)瀏覽器直接訪(fǎng)問(wèn)頁(yè)面服務(wù)器,并獲取視頻流,從而達到視頻實(shí)時(shí)監控。又由于網(wǎng)絡(luò )視頻服務(wù)器同時(shí)和智能車(chē)控制服務(wù)器建立了連接,所以也可以使用智能終端通過(guò)游覽器間接訪(fǎng)問(wèn)控制智能車(chē)控制服務(wù)器。智能車(chē)系統整體框架圖如圖1(a)所示。

1.2 智能車(chē)無(wú)線(xiàn)視頻監控系統硬件總體設計
智能車(chē)視頻監控系統的無(wú)線(xiàn)控制結構如圖2所示,本次方案由wifi通信系統、下位機控制系統、上位機控制系統3部分組成。Wi—Fi通信系統實(shí)現上位機客戶(hù)端系統與下位機ARM控制系統的數據傳輸。上位機客戶(hù)端系統通過(guò)wifi模塊接受下位機ARM控制系統發(fā)送數據進(jìn)行存儲、分析、提取以及顯示,同時(shí)也可以對下位機發(fā)送控制命令。同樣下位機ARM控制系統也可以通過(guò)wifi模塊收到上位機系統發(fā)送的命令并進(jìn)行相應的操作,將傳感器和攝像頭采集的數據進(jìn)行整合和發(fā)送。

由圖1(b)可知下位機主要組成部分,智能車(chē)視頻監控系統以天嵌科技Cortex-A8 X210開(kāi)發(fā)板作為開(kāi)發(fā)平臺,其處理器采用的三星S5pv210芯片,S5PV210采用了ARMCortexTM-A8內核,ARM V7指令集,主頻可達1 GHZ,64/32位內部總線(xiàn)結構,32/32kB的數據/指令一級緩存,512 kB的二級緩存,可以實(shí)現2000DMIPS(每秒運算20億條指令集)的高性能運算能力。其中wifi模塊完成主要完成下位機與上位機的組網(wǎng)和遠程控制功能;同時(shí)開(kāi)發(fā)板上還配有檢測溫度和有害氣體的傳感器,因此可以對探測環(huán)境進(jìn)行危險評估及預警。
2 智能車(chē)無(wú)線(xiàn)視頻監控系統各功能模塊設計及實(shí)現
2.1 智能車(chē)視頻監控系統軟件架構設計
智能車(chē)視頻監控系統采用的Linux開(kāi)發(fā)平臺,它是一個(gè)多用戶(hù)和多任務(wù)操作系統,具有良好的的開(kāi)放性,遵循世界標準規范,特別是遵循開(kāi)放系統的互連國際標準。具有完善的內置網(wǎng)絡(luò )linux在通信和網(wǎng)絡(luò )功能方面均優(yōu)于其他操作系統。系統圖像采集是通過(guò)ARM—Linux調度V4L2驅動(dòng)程序來(lái)進(jìn)行視頻捕獲。 V4L2是linux影像系統與嵌入式影像的基礎,是linux內核里支持影像設備的一組API,linux在多媒體上的應用是目前非常熱門(mén)的研究領(lǐng)域,其中最關(guān)鍵的技術(shù)就是Linux的V4L2。傳統的基于A(yíng)RM的遠程視頻監控大部分通過(guò)集成在CPU內部的MFC模塊對V4L2接口采集的數據進(jìn)行硬件壓縮和解碼,硬件解碼需要硬件有硬件解碼模塊、相關(guān)的驅動(dòng)配合、合適的播放軟件以及對播放軟件正確的設置,缺一而不能開(kāi)啟硬件解碼功能。由于以上問(wèn)題,所以本文采用一款開(kāi)源軟件mjpeg—stream網(wǎng)絡(luò )視頻服務(wù)器代替MFC。mjpg_streamer是一款開(kāi)源網(wǎng)絡(luò )視頻服務(wù)器,需要很少的CPU和內存資源就可以工作,大部分編碼工作都是攝像頭完成的,非常適合嵌入式環(huán)境使用。
2.1.1 網(wǎng)絡(luò )視頻服務(wù)器mjpeg—strearm的移植
從v4l2接口采集的數據的壓縮與解碼我們選擇了網(wǎng)絡(luò )視頻服務(wù)器mjpeg—stream,我之所以不選擇集成在cpu內部的MFC模塊還有一個(gè)原因是因為本次設計的智能車(chē)遠程無(wú)線(xiàn)視頻監控系統要支持遠程的web界面的訪(fǎng)問(wèn)操作,如果選擇MFC就要移植類(lèi)似Boa等的嵌入式web服務(wù)器才能進(jìn)行遠程訪(fǎng)問(wèn)同 MFC模塊采集的視頻流還需要在pc端采用開(kāi)源的軟件和函數庫才能實(shí)現視頻的播放,而mjpeg-stream網(wǎng)絡(luò )視頻服務(wù)器卻可以省掉這些步驟,因為 mjpeg—stream支持實(shí)現遠程的web訪(fǎng)問(wèn)。這樣就降低了開(kāi)發(fā)的工作量和復雜性,其下為mjpeg —stream移植編譯。圖3為mjpeg—stream對數據采集與發(fā)送的流程。


2.1.2 智能車(chē)視頻監控系統數據接收與顯示模塊的設計
由圖2(a)和圖3可知mjpeg—stream網(wǎng)絡(luò )視頻服務(wù)器內部有兩個(gè)服務(wù)器,http服務(wù)器和視頻幀抓取服務(wù)器。http服務(wù)器將視頻幀抓取服務(wù)器采集的圖像幀以Http協(xié)議數據幀的形式發(fā)給客戶(hù)端。所以要完成的編程工作有兩部分:一是從http服務(wù)器讀取Http協(xié)議數據幀 (Http協(xié)議數據幀由http協(xié)議相關(guān)的頭信息和圖像數據幀(jpeg格式)),二是將Http協(xié)議數據幀中的圖像數據幀提取出來(lái)。本文的GUI界面采用Qt進(jìn)行設計實(shí)現C/S、B/S架構的客戶(hù)端和web客戶(hù)端。智能車(chē)監控系統視屏界面的顯示有兩個(gè)部分組成:一是通過(guò)Tcp協(xié)議將傳輸的數據接收 (socket編程實(shí)現),二是客戶(hù)端的視頻圖像的顯示??蛻?hù)端軟件的設計流程圖如圖4所示。

由于我們通過(guò)編程把Http協(xié)議數據幀中的圖像數據幀提取了出來(lái)并顯示在客戶(hù)端從而實(shí)現了視頻實(shí)時(shí)監控,所以可以在主函數再起一個(gè)線(xiàn)程完成圖像的抓取功能即拍照功能。這樣在智能車(chē)對未知空間的探索進(jìn)行分析提供了數據依據。
2.2 wifi功能模塊的設計
本次開(kāi)發(fā)的智能車(chē)無(wú)線(xiàn)視頻監控系統的另一核心就是wifi模塊的開(kāi)發(fā)。構成無(wú)線(xiàn)網(wǎng)絡(luò )的最基本的兩個(gè)要素是:一是一臺AP(Access Point),二是無(wú)線(xiàn)網(wǎng)卡。以上兩點(diǎn)便可以構成一個(gè)簡(jiǎn)單的無(wú)線(xiàn)網(wǎng)絡(luò )。因為我們要通過(guò)智能終端和pc機上的客戶(hù)端對智能車(chē)遠程進(jìn)行控制,所以如何將智能車(chē)變成一個(gè)可移動(dòng)的wifi熱點(diǎn)是我們本次設計的重點(diǎn)。
嵌入式開(kāi)發(fā)的一個(gè)核心的內容是在有限的硬件資源上如何使用各種開(kāi)源軟件完成我們需要的功能。所以將智能車(chē)變成可移動(dòng)的wifi熱點(diǎn)需要以下步驟:
1)下載安裝rtl8188eu無(wú)線(xiàn)芯片的驅動(dòng);2)使用hostapd開(kāi)源軟件,使無(wú)線(xiàn)網(wǎng)卡切換為master模式,模擬AP(路由器)功能;3)使用dnsmasq開(kāi)源軟件動(dòng)態(tài)分配IP給客戶(hù)端在開(kāi)發(fā)板上主要步驟實(shí)現過(guò)程如下所示:
#insmod/home/wifi/8188eu.ko
# ifconfig wlan0 192.168.137.1(啟用無(wú)線(xiàn)網(wǎng)卡)
# ./hostapd rtl_hostapd_2G.conf-B(模擬AP功能)
#./dnsmasq—C dnsmasq.conf(開(kāi)啟DNS和DHCP功能)
通過(guò)對以上開(kāi)源軟件的移植開(kāi)發(fā)便可以將智能車(chē)生成一個(gè)可移動(dòng)的wifi熱點(diǎn),通過(guò)手機等智能終端便可以對智能車(chē)無(wú)線(xiàn)視頻監控系統進(jìn)行控制。圖5展示了連網(wǎng)成功后智能車(chē)無(wú)線(xiàn)視頻監控系統的工作狀態(tài)。

3 結論
本文實(shí)現了以s5pv210為核心處理的智能車(chē)無(wú)線(xiàn)視頻監控系統。本系統既可以使用智能終端通過(guò)wifi對智能車(chē)無(wú)線(xiàn)視頻監控系統的控制,也可以通過(guò)有線(xiàn)連接的方式進(jìn)行控制。智能車(chē)即可以實(shí)時(shí)的視頻監控和拍照也可以通過(guò)開(kāi)發(fā)板的上溫度傳感器和有害氣體傳感器進(jìn)行周?chē)h(huán)境的探測,因此可以在城市安全、國防和空間探測領(lǐng)域等有害與危險場(chǎng)合得到一定的應用。對于今后智能車(chē)的開(kāi)發(fā)也有一定研究?jì)r(jià)值。
評論