遼寧科技大學(xué)電子與信息工程學(xué)院 張 博 曲 強
?
基于OpenWrt的無線監(jiān)控系統(tǒng)
遼寧科技大學(xué)電子與信息工程學(xué)院 張 博 曲 強
【摘要】設(shè)計了一種采用stm32ARM芯片作為控制,帶有OpenWrt系統(tǒng)的無線模塊傳輸模塊傳輸采集到的傳感器數(shù)據(jù)和視頻圖像,安裝Mjpeg‐stream視頻采集程序?qū)ΜF(xiàn)場畫面進(jìn)行監(jiān)控。本設(shè)計方案可降低設(shè)備成本、減少線路連接,有較高的可升級性和擴(kuò)展性,具有較高的民用和工業(yè)價值。
【關(guān)鍵詞】OpenWrt;無線監(jiān)控;stm32f103
“基于OpenWrt的無線監(jiān)控系統(tǒng)”利用了無線wifi網(wǎng)絡(luò),實現(xiàn)對多個分散地點的遠(yuǎn)程全面的綜合監(jiān)控,如溫度、設(shè)備狀況、現(xiàn)場監(jiān)控視頻的使用情況等。還可以根據(jù)需要增加如濕度監(jiān)測等其他監(jiān)測。與傳統(tǒng)的監(jiān)控系統(tǒng)的相比,本系統(tǒng)采用無線傳輸,使現(xiàn)場監(jiān)控設(shè)備不受現(xiàn)場環(huán)境位置的限制,大量安裝后可以對不同地點和不同設(shè)備的數(shù)據(jù)進(jìn)行監(jiān)控。主控芯片接收到采集到的視頻監(jiān)控信息、溫度和電壓等數(shù)據(jù)后,將其壓縮打包,通過無線網(wǎng)絡(luò)發(fā)送到網(wǎng)絡(luò)服務(wù)器上,節(jié)約了本地儲存資源的成本,還可以方便的了解監(jiān)測情況。因為其具有對不同設(shè)備的適應(yīng)能力,簡單的安裝工作以及相對低廉的價格,易于進(jìn)行推廣,有廣闊的市場前景。
系統(tǒng)總體設(shè)計如圖1所示,主控芯片采用stm32f103 ARM芯片,外設(shè)有對攝像頭的舵機云臺控制,精密電壓采集模塊,OLED顯示模塊,以及其他采集模塊都與ARM主控芯片相連接,將高清攝像頭和ARM芯片數(shù)據(jù)發(fā)送至無線模塊,無線模塊與互聯(lián)網(wǎng)和本地計算機相連接,進(jìn)行遠(yuǎn)程監(jiān)控和操作。
圖1 系統(tǒng)總體設(shè)計
圖2 單片機電路圖
2.1stm32f103最小系統(tǒng)
主體控制采用stm32f103控制芯片,其最小系統(tǒng)版如圖2所示,此芯片采用了具有強大的處理能力和先進(jìn)架構(gòu)的Cortex-M3內(nèi)核,在其中我們設(shè)計了晶振電路,片內(nèi)集成i2c儲存器接口PB6.PB7接口與OLED相連,PB0帶有多路精密AD轉(zhuǎn)換可以采集需要的數(shù)據(jù),多路PWM輸出A2-A5直接與舵機相連,易于與對設(shè)備進(jìn)行控制,還可以將采集到的信號等信息經(jīng)過編碼處理后通過串口B10.B11上傳至無線傳輸模塊,從而上傳至網(wǎng)絡(luò)服務(wù)器方便監(jiān)控理。
2.2基于AR9331的無線模塊
無線視頻監(jiān)控系統(tǒng)則采用穩(wěn)定的WiFi傳輸方案,具體設(shè)計結(jié)構(gòu)如圖3所示,無線采用高通AR9331芯片,芯片主頻可達(dá)400MHz,額定電壓3.3v,使用過程簡單方便,只需一個USB接口就可以為整個模塊提供電源和程序的裝載與升級,該模塊符合國際標(biāo)準(zhǔn)的802.11 b/g/n協(xié)議,采用DSSS、OFDM、BPSK、QPSK、CCK和QAM基帶調(diào)制技術(shù),能自適應(yīng)路由器等設(shè)備的無線熱點。最大連接速率可達(dá)150Mbps。強大的擴(kuò)展性和豐富的網(wǎng)絡(luò)組建,經(jīng)常被用于大量設(shè)備中。同時,它還提供了豐富的已編譯好的軟件,而OpenWrt SDK簡化了開發(fā)軟件的工序。在無線監(jiān)控模塊中安裝了基于Linux的OpenWrt 系統(tǒng),并在安裝了實時視頻傳輸軟件Mjpeg‐stream,用戶只需要輸入特定的網(wǎng)站地址就可以對實時數(shù)據(jù)進(jìn)行監(jiān)控。
圖3 無線模塊結(jié)構(gòu)圖
圖4 OLED液晶屏電路圖
2.3SG90舵機云臺模塊
為了提高監(jiān)控的可視角度,本設(shè)計采用了安裝有云臺控制的監(jiān)控攝像頭,采用 SG90微型舵機。使用20ms周期的PWM脈沖波,使其高電平的范圍大約為0.5ms-2.5ms的脈沖控制舵機的角度從0°到180°自由轉(zhuǎn)動。
2.4SSD1306 OLED液晶屏
顯示模塊使用SSD1306 OLED液晶屏(見圖4),i2c協(xié)議的電路結(jié)構(gòu)如圖 4所示,把液晶屏直接與單片機的PB6.PB7引腳相連,就可以達(dá)到控制的目的,3.3v電壓供電可以直接與單片機相連減少線路連接,利用外接屏幕可以再現(xiàn)場直觀的獲得采集的數(shù)據(jù),方便新用戶操作,進(jìn)行現(xiàn)場調(diào)試和在線修改,對設(shè)備進(jìn)行參數(shù)控制,對獲得的數(shù)據(jù)進(jìn)行補償?shù)取?/p>
2.5視頻攝像頭
本設(shè)計采用了微軟的HD3000其分辨率可達(dá)720P的高清攝像頭,免驅(qū)并支持MJPEG,使用方便易于安裝價格適宜。
3.1主體控制模塊程序設(shè)計
在進(jìn)行數(shù)據(jù)采集和發(fā)送終端的固件程序設(shè)計包括以下兩個方面,數(shù)據(jù)的采集和無線數(shù)據(jù)的傳送。數(shù)據(jù)采集部分采用中斷方式采集數(shù)據(jù)每間隔1s采集數(shù)據(jù)一次,并將采集好的數(shù)據(jù)存放在單片機的緩沖區(qū)內(nèi)。經(jīng)過簡單的數(shù)據(jù)監(jiān)測判斷有無數(shù)據(jù)異常,然后根據(jù)設(shè)定按規(guī)定時間向服務(wù)器發(fā)送數(shù)據(jù)。也可以在收到服務(wù)器發(fā)送的查詢指令后對特定采集數(shù)據(jù)進(jìn)行傳送。
圖5 軟件流程圖
3.2基于Mjpeg‐stream視頻傳輸實現(xiàn)
3.2.1安裝監(jiān)控軟件
在已經(jīng)裝載好OpenWrt系統(tǒng)的基礎(chǔ)上為了實現(xiàn)無線視頻傳輸,需要在系統(tǒng)中安裝MJPEG STREAM軟件包,用于把圖片格式的文件變成流媒體輸出。將攝像頭與無線模塊相連接,接著遠(yuǎn)程登錄到到無線模塊上,執(zhí)行l(wèi)ogread命令,會打印出路由器開機后的終端log。出現(xiàn)”usbcore: registered new interface driver uvcvideo”,以及含有”/dev/video0″,則說明免驅(qū)攝像頭掛載成功。
3.2.2配置執(zhí)行監(jiān)控軟件
首先要去mjpeg-streamer的sourceforge網(wǎng)站下載它的最新源碼解壓安裝至系統(tǒng)中。將其放到路由器的/web目錄下,將參數(shù)寫入命令行。
mjpg_streamer -i "input_uvc.so -d /dev/video0" -o "output_http.so -p 8080 -w /web "
運用上面指令可以使mjpeg-streamer以默認(rèn)的640×480分辨率、30fps顯示圖像,并且監(jiān)聽8080端口的http請求。其自帶的一個小型web頁面,頁面所在的地址為/web。對地址進(jìn)行訪問就可以對采集圖像進(jìn)行監(jiān)控。
3.3遠(yuǎn)程控制設(shè)計
3.3.1基本原理
為了實現(xiàn)遠(yuǎn)程數(shù)據(jù)的傳輸和處理,需要進(jìn)行端口映射和動態(tài)域名的配置,設(shè)置家用無線路由器為外網(wǎng)映射模式,這樣無線路由器就相當(dāng)于一個連接,使無線模塊和外網(wǎng)連接起來。
當(dāng)無線模塊訪問路由器的特定的端口時,就會被路由器重新連接到一個指定的的ip地址端口,達(dá)到遠(yuǎn)程連接的目的,將視頻監(jiān)控接口設(shè)置為8080端口,數(shù)據(jù)傳輸設(shè)置為2001端口,將無線模塊的ip地址和mac地址與路由器綁定就可以完成外網(wǎng)映射。
3.3.2無線模塊設(shè)置
(1)將無線傳輸模塊從AP模式轉(zhuǎn)換為Client模式,在BSSID中設(shè)置需要連接的ssid名稱
(2)在OpenWrt系統(tǒng)中passphruse選項中填入相應(yīng)的路由器密碼,使其與帶網(wǎng)絡(luò)的路由器相連。將路由器ip地址與無線模塊連接后就可以使整個系統(tǒng)與互聯(lián)網(wǎng)相連接,使我們可以再任何地點都可以對設(shè)備的狀況和數(shù)據(jù)進(jìn)行觀察和記錄。
3.3.3視頻模式測試
在整個系統(tǒng)搭建完成后,我們對無線視頻采集傳輸和遠(yuǎn)程視頻檢測進(jìn)行測試,測試系統(tǒng)的流暢程度和幀數(shù)可達(dá)15幀,可以流暢的進(jìn)行觀測。
無線視頻監(jiān)控系統(tǒng)的實物如圖6所示,該系統(tǒng)可以對遠(yuǎn)程設(shè)備的運行狀況、傳感器采集數(shù)據(jù)和遠(yuǎn)程視頻圖像進(jìn)行實時采集,也可以對設(shè)備進(jìn)行遠(yuǎn)程的控制,基本完成了設(shè)計要求。
攝影頭選用的是微軟HD3000,視頻采集圖像清晰,Web控制網(wǎng)頁如圖7所示,用戶可以在網(wǎng)頁的中心看到視頻監(jiān)控圖像,在網(wǎng)頁的右側(cè)還有舵機的控制按鈕,通過滑動按鈕,改變舵機的PWM脈沖輸出,利用其可以改變攝像頭的位置,擁有更大的觀測范圍。
圖6 實物圖
圖7 網(wǎng)頁上位機
本文設(shè)計了一種有stm32作為主控,安裝openwrt系統(tǒng)的無線模塊共同組成的無線視頻監(jiān)控,設(shè)計出相應(yīng)的硬件電路和與之對應(yīng)的web控制端上位機,采集部分加入了溫度采集和電壓采集基本實現(xiàn)了系統(tǒng)功能。本系統(tǒng)可以根據(jù)用戶的需要添加任意的采集模塊和設(shè)備,在視頻監(jiān)控方面也可以加入人體特征識別系統(tǒng),熱成像等技術(shù),便于系統(tǒng)的開發(fā)和擴(kuò)展。
參考文獻(xiàn)
[1]王銘,倪平,王冬,李道德.基于3G網(wǎng)絡(luò)的遠(yuǎn)程無線綜合監(jiān)控系統(tǒng)[J].電子技術(shù)應(yīng)用,2011,01:114-116+119.
[2]楊柳,劉鐵英.物聯(lián)網(wǎng)引導(dǎo)無線通訊技術(shù)發(fā)展[J].中國外資,2013,24:201.
[3]孫書鷹,陳志佳,寇超.新一代嵌入式微處理器STM32F103開發(fā)與應(yīng)用[J].微計算機應(yīng)用,2010,12:59-63.
[4]胡紹忠.基于Linux嵌入式視頻監(jiān)控系統(tǒng)的研制[D].中國科學(xué)技術(shù)大學(xué),2009.
[5]張先翔.基于ARM的嵌入式遠(yuǎn)程視頻監(jiān)控系統(tǒng)的設(shè)計[D].武漢理工大學(xué),2010.
[6]李麗娟,李理敏,鄭諾,侯旭波. 基于OpenWrt的無線視頻監(jiān)控系統(tǒng)設(shè)計[J]. 溫州大學(xué)學(xué)報(自然科學(xué)版),2015,04:50-55.
[7]楊鑫.基于ARM-Linux 的視頻監(jiān)控系統(tǒng)設(shè)計及視頻無線網(wǎng)絡(luò)傳輸[D].北京交通大學(xué),2011.
張博(1995—),遼寧大連人,大學(xué)本科,現(xiàn)就讀于遼寧科技大學(xué)。
作者簡介: