劉洪波 鄭少偉 謝宇希 王金江 唐欽


摘要:隨著嵌入式技術的飛速發展,各種嵌入式產品已在生產生活當中得到廣泛應用。以S3C6410芯片為主控核心、以嵌入式Linux為操作系統、基于WIFI無線通信技術,在一定的空間環境中,建立點對點或多對點連接的局域網絡,從而實現以網頁為控制端的無線視頻小車。該小車具有低功耗、低成本、運用靈活等特點,可用于軍事偵查、環境探測及其它危險場所。
關鍵詞:S3C6410;Linux;WIFI;視頻小車
0引言
隨著嵌入式技術的飛速發展,各種嵌入式視頻監控產品廣泛應用于生產生活當中。目前,傳統的一些視頻監控設備受環境、布局等各種因素的影響,且體積龐大造成資源的浪費。采用無線視頻監控系統已成為主流。將傳統的視頻監控設備通過局域網WIFI搭載在可移動小車上實現無線視頻小車,從而克服傳統視頻監控的缺點,該小車具有體積小、低成本、低功耗的特點,主要應用于軍事偵查、環境探測及其它危險與惡劣場所。
1系統硬件結構
本系統主要包括服務器端與客戶端兩部分。服務器端主要采用S3C6410嵌入式微處理器為系統處理核心,在核心板上搭載攝像頭模塊和WIFI模塊,將小車的驅動模塊通過繼電器與核心板的I/O口相連,通過外接5V直流電源為小車及嵌入式核心板供電。客戶端主要是基于網頁控制,可以通過電腦、手機、平板等設備對服務端設備進行控制和瀏覽視頻。系統的硬件平臺結構圖如圖1所。
1.1小車驅動模塊電路
小車驅動模塊主要采用2塊L9110芯片分別控制小車前排左右2個電機。該驅動模塊通過四個電平輸入來控制兩個電機的正反轉,驅動板的工作電壓是+5V到+12V。驅動電平是+2.8V到+5V。電機驅動電路如圖2所示,通過一組信號線IA、IB分別控制一個電機的正轉與反轉,同理,通過另一組信號線控制另一個電機的正轉與反轉。將4根信號線分別接到ARM控制器的4個I/O口,ARM控制器通過高低電平控制4個繼電器,從而實現兩個電機的正、反轉實現小車的前進、后退及轉彎功能。
1.2攝像頭及WIFI模塊
為方便測試,攝像頭模塊采用中星微(zC301)UsB攝像頭,WIFI模塊采用EP-N8508 USB無線網卡。攝像頭及WIFI模塊都通過USB接口與ARM控制器相連。
2系統軟件模塊設計
本系統采用高效、穩定、開源的Linux操作系統作為控制的核心,所用的版本為2.6.38,交叉編譯版本為arm-Linux-gcc-4.5.1,該版本內核穩定且有豐富的外圍設備驅動。軟件模塊主要包括:安裝交叉編譯、編譯、裁剪內核、文件系統制作及代碼分析等工作。
2.1 Linux操作系統的移植
在Linux操作系統移植之前,首先安裝交叉編譯,交叉編譯即在一個平臺上編譯生成可在另一平臺運行的代碼。將準備好的交叉編譯壓縮包解壓到宿主機,設置好環境變量,重啟或注銷系統,在終端輸入arm-linux-gcc-v,如果顯示版本信息則交叉編譯安裝成功。然后將開源Linux源代碼包解壓到宿主機,在終端運行makemenuconfig進入圖形化內核配置主菜單對內核進行配置與裁剪,在配置的過程中選擇CPU,Nand Flash,USB攝像頭,GPIO驅動等,以確保攝像頭、WIFI、GPIO能正常使用。最后,執行make zImage生成內核鏡像,Linux內核定制完成。
將編譯出來的u-boot、Linux內核、文件系統通過SD卡或者網線燒寫到ARM核心模塊中,啟動核心模塊,Linux操作系統移植完成。
2.2 BOA服務器的移植
客戶端控制小車和視頻監控主要是通過網頁的實現,這就要求在ARM核心模塊中搭建服務器,從而實現客戶端與服務器端的通信。由于BOA服務器高效、體積小、支持CGI等優點,所以選擇在ARM核心板文件系統中搭建BOA服務器。
2.3視頻與小車控制
視頻監控部分采用mipg streamer視頻,mipgstreamer是一款免費基于IP地址的視頻流服務器,可以簡單快速的搭建好視頻監控部分。從官網上下載mipg-streamer,然后編譯并移植到ARM核心板文件系統中。
小車的控制主要是通過網頁傳送數據給服務器CGI程序,然后通過CGI程序控制電機的正、反轉,控制小車流程圖如圖3所示。程序開始后初始化I/O口驅動,等待網頁發送控制信號,收到控制信號后,CGI程序利用ioctl()函數控制相應電機的正、反轉,從而達到控制小車的效果。
3測試
將無線視頻小車通過WIFI加入到局域網,通過電腦或者手機中的瀏覽器訪問小車服務器的ip地址,本無線視頻小車的訪問地址為192.168.1.230/test.html,圖4為手機端無線視頻小車的測試界面。
4結論
實驗研究表明本設計克服了傳統視頻監控設備受環境、布局等各種因素的影響,該系統設計成本低,經過測試,該無線視頻小車運行穩定、視頻在客戶端顯示流暢,經過進一步的完善與改進,可用于軍事偵查、環境探測及其它危險場所。endprint