劉洪軍+畢愛玉
摘 要:無線監(jiān)控移動機器人可應(yīng)用于室內(nèi)外各種工作環(huán)境,可工作于人類不便進入或?qū)θ梭w有害的工作環(huán)境中替代人工,實施高頻率、高精度的監(jiān)控工作,并可通過加載各種傳感器進行相關(guān)信號的采集及其他功能的擴展,目前無線監(jiān)控移動機器人在變電站、熱電廠、大型倉庫、特殊環(huán)境(如放射性環(huán)境)中均已投入使用。
關(guān)鍵詞:無線網(wǎng)絡(luò);S3C6410;WEB服務(wù)器
1 硬件總體設(shè)計
該系統(tǒng)的主控平臺為S3C6410開發(fā)板,通過在該平臺上構(gòu)建視頻服務(wù)器和WEB服務(wù)器實現(xiàn)系統(tǒng)主體設(shè)計,攝像頭采集的數(shù)據(jù)通過無線網(wǎng)絡(luò)傳輸給客戶端監(jiān)控界面,客戶端的控制按鈕發(fā)送控制信息給服務(wù)器,服務(wù)器通過程序解析后控制底層電機驅(qū)動器,驅(qū)動機器人平臺運動。
(1)嵌入式核心控制模塊
本系統(tǒng)的控制模塊為飛凌公司生產(chǎn)的OK6410-A開發(fā)板。其主控芯片S3C6410是三星公司推出的一款高性價比的RSIC處理器,它基于內(nèi)核ARM1176JZF-S,可廣泛應(yīng)用于移動電話和通用處理等領(lǐng)域。
(2)電機驅(qū)動模塊
電機驅(qū)動模塊采用SG5公司生產(chǎn)的L298N,內(nèi)部包含4通道邏輯驅(qū)動電路,是一種二相和四相電機的專用驅(qū)動器,可驅(qū)動46V、2A以下的電機。
(3)WIFI網(wǎng)卡
WIFI網(wǎng)卡采用與OK6410-A開發(fā)板相配套的網(wǎng)卡,型號為FIT-WIFI-SDIO,該網(wǎng)卡可直接插到OK6410-A開發(fā)板無線網(wǎng)卡接口中使用。
(4)攝像頭模塊
攝像頭模塊采用與OK6410-A開發(fā)板相配套的攝像頭,型號為FIT-CAM-OV9650,該攝像頭可直接插到OK6410-A開發(fā)板的USB攝像頭接口中使用。
2 軟件總體設(shè)計
軟件系統(tǒng)主要由Linux操作系統(tǒng)下的視頻服務(wù)器MJPG-Streamer、BOA服務(wù)器、小車控制應(yīng)用程序和小車驅(qū)動組成。MJPG-Streamer和BOA服務(wù)器我們只需要移植便可,我們需要做的就是做一個HTML格式的WEB界面、一個控制小車應(yīng)用程序、小車驅(qū)動和一個啟動這些程序的Shell腳本。系統(tǒng)軟件架構(gòu)圖如圖2所示:
(1)MJPG-Streamer服務(wù)器的移植
MJPGstreamer是主要運行在Linux系統(tǒng)上的一款運用多線程技術(shù)的輕量級視頻服務(wù)器軟件。它是一款采用C語言進行開發(fā)的開源軟件。
(2)BOA服務(wù)器的移植
通過MJPG-Streamer服務(wù)器的移植就可以在WEB瀏覽器上瀏覽到實時視頻了,但是瀏覽器端無法和服務(wù)器就行通信,而BOA服務(wù)器支持CGI,CGI腳本可以實現(xiàn)服務(wù)器和應(yīng)用程序的通信,也就是說瀏覽器端的信息可以通過CGI傳送給應(yīng)用程序,于是我們就可以通過瀏覽器端用戶的操作來決定小車的動作。
①BOA服務(wù)器移植:下載BOA服務(wù)器源碼,解壓并進入到源碼根目錄,生成Makefile文件,修改Makefile文件,指定編譯時所需要的交叉編譯器,執(zhí)行make命令生成boa可自行文件,將boa以及boa.conf移動到目標(biāo)平臺,即可完成BOA服務(wù)器移植。
②CGI程序設(shè)計。CGI實質(zhì)是運行在WEB服務(wù)器上面為客戶端HTML頁面提供接口的一個腳本程序。它可以通過標(biāo)準(zhǔn)輸入(STDIN)來從WEB服務(wù)器獲得數(shù)據(jù),經(jīng)處理之后可以通過標(biāo)準(zhǔn)輸出(STDOUT)來將數(shù)據(jù)返回給WEB服務(wù)器,從而實現(xiàn)對客戶端數(shù)據(jù)的接收處理。
(3)命名管道簡介
命名管道是一種實現(xiàn)無關(guān)進程間通信的通信機制(IPC),其本質(zhì)上為一個文件,因此通訊更加穩(wěn)定。命名管道遵循與先進先出原則,本設(shè)計中利用命名管道的特性,可以實現(xiàn)CGI程序與命令服務(wù)程序之間的數(shù)據(jù)交換。
(4)控制命令設(shè)計
①小車驅(qū)動程序:小車采用L298N芯片驅(qū)動,這是一款功率放大芯片,專門用來驅(qū)動小車用的,可驅(qū)動2個電機。
②小車控制進程程序:小車控制進程程序只需要創(chuàng)建一個命令管道,然后從命令管道讀取到CGI寫進去的命令然后調(diào)用小車驅(qū)動執(zhí)行相關(guān)的操作控制小車即可。
參考文獻:
[1]李晶.基于無線網(wǎng)絡(luò)的移動機器人遠程控制系統(tǒng)的研究[D].北京郵電大學(xué),2009.