本文摘要:摘要:文章設(shè)計(jì)了一款基于STM32的WiFi視頻監(jiān)控小車,可以代替人類執(zhí)行危險(xiǎn)環(huán)境偵察和科學(xué)探索等任務(wù)。小車采用STM32F103ZET6為主控制器,通過無線路由器在小車與控制終端間進(jìn)行數(shù)據(jù)傳輸。攝像頭采集的視頻信息通過WiFi信號(hào)傳輸?shù)娇刂平K端,控制終端通過WiFi信號(hào)發(fā)送控
摘要:文章設(shè)計(jì)了一款基于STM32的WiFi視頻監(jiān)控小車,可以代替人類執(zhí)行危險(xiǎn)環(huán)境偵察和科學(xué)探索等任務(wù)。小車采用STM32F103ZET6為主控制器,通過無線路由器在小車與控制終端間進(jìn)行數(shù)據(jù)傳輸。攝像頭采集的視頻信息通過WiFi信號(hào)傳輸?shù)娇刂平K端,控制終端通過WiFi信號(hào)發(fā)送控制指令給小車從而遠(yuǎn)程控制小車的電機(jī)轉(zhuǎn)動(dòng)。經(jīng)實(shí)驗(yàn)測試,可以做到在用戶的控制界面上顯示實(shí)時(shí)監(jiān)控畫面,控制小車四個(gè)方向的移動(dòng)。
關(guān)鍵詞:視頻監(jiān)控;STM32;WiFi;遠(yuǎn)程控制
在當(dāng)今電子科技高速發(fā)展的時(shí)代背景下,在我們的生活中充滿了各種科技產(chǎn)品,這些產(chǎn)品的系統(tǒng)不斷強(qiáng)大,功能也逐漸豐富。WiFi視頻監(jiān)控小車作為近代的一種新的設(shè)計(jì)理念,它具有獨(dú)特的優(yōu)點(diǎn),例如成本低、結(jié)構(gòu)簡單,又有著多種實(shí)用功能。其設(shè)計(jì)之初便是為了能夠代替人類到一些危險(xiǎn)環(huán)境中執(zhí)行任務(wù),例如軍事偵察任務(wù)或是化工環(huán)境下的巡查工作。
監(jiān)控論文范例:基于數(shù)據(jù)集成的電網(wǎng)全渠道一體化監(jiān)控系統(tǒng)設(shè)計(jì)
事實(shí)證明,小車比人類更適合在惡劣且危險(xiǎn)的環(huán)境高效地工作,可以極大地減少人力成本,并且降低了風(fēng)險(xiǎn)。本文研究的主要目的是在基于STM32的WiFi小車的基礎(chǔ)移動(dòng)功能上對(duì)于視頻信息采集和傳輸功能的設(shè)計(jì)。最終,WiFi視頻監(jiān)控小車能夠在通電情況下采集小車攝像頭前方的視頻信息,同時(shí)小車通過WiFi模塊的WiFi信號(hào)將采集到的視頻信息發(fā)送到PC上位機(jī)端或是Android手機(jī)端的應(yīng)用程序上,并在控制終端的應(yīng)用程序界面上顯示出來。同時(shí),用戶可以在控制終端應(yīng)用程序的控制界面上通過WiFi信號(hào)向視頻監(jiān)控小車發(fā)送控制指令從而實(shí)現(xiàn)實(shí)時(shí)控制視頻監(jiān)控小車的運(yùn)動(dòng)。
1系統(tǒng)總體設(shè)計(jì)
近些年來,處理器隨著科技高速發(fā)展,嵌入式操作系統(tǒng)也得到了更為廣泛地使用。以嵌入式操作系統(tǒng)為核心的圖像信息采集和無線信息傳輸系統(tǒng)也已廣泛應(yīng)用于生活和工作中。本文就是基于STM32設(shè)計(jì)出WiFi視頻監(jiān)控小車。如今的電腦(又可稱為PC上位機(jī))和手機(jī)(本文主要介紹Android操作系統(tǒng)的智能手機(jī))成為每個(gè)人必不可少的生活工具。使用STM32作為處理器,利用攝像頭采集圖像信息并通過WiFi信號(hào)傳遞給PC上位機(jī)或是手機(jī)端,并在應(yīng)用程序的界面上顯示實(shí)時(shí)畫面,也可以通過WiFi信號(hào)發(fā)出控制指令給視頻監(jiān)控小車,從而控制小車的移動(dòng)。本文設(shè)計(jì)的基于STM32的WiFi視頻監(jiān)控小車預(yù)期實(shí)現(xiàn)的功能如下:
(1)遠(yuǎn)程控制移動(dòng)功能:用戶可以遠(yuǎn)程使用控制終端通過WiFi信號(hào)發(fā)送控制指令給視頻監(jiān)控小車,從而控制視頻監(jiān)控小車的前進(jìn)、后退、左轉(zhuǎn)彎和右轉(zhuǎn)彎這些基本的移動(dòng)功能。(2)數(shù)據(jù)無線通信功能:視頻監(jiān)控小車和控制終端能通過WiFi信號(hào)互相連接,從而可以從控制終端發(fā)送控制指令給小車,小車也可以將采集到的視頻信息發(fā)送給控制終端。(3)控制終端顯示功能:在PC上位機(jī)端或是An-droid手機(jī)端上的應(yīng)用程序可以實(shí)時(shí)顯示視頻監(jiān)控小車采集的視頻圖像。
本文基于STM32的WiFi視頻監(jiān)控小車系統(tǒng)的總體設(shè)計(jì)主要是硬件設(shè)計(jì)和軟件設(shè)計(jì)兩大方向。硬件設(shè)計(jì)主要是以STM32系列的處理器作為主控制器為基礎(chǔ),再增加所需的視頻信息采集模塊和無線通信模塊。軟件模塊則是由小車選用硬件的驅(qū)動(dòng)模塊程序設(shè)計(jì)和控制終端的應(yīng)用程序設(shè)計(jì)組成。硬件的驅(qū)動(dòng)程序主要是電機(jī)的驅(qū)動(dòng)程序、USB攝像頭的視頻信息采集驅(qū)動(dòng)程序和無線數(shù)據(jù)傳輸驅(qū)動(dòng)程序這三部分組成,應(yīng)用程序由PC上位機(jī)端和Android手機(jī)端的APP共同組成,但系統(tǒng)還需要有相關(guān)的調(diào)試程序和燒錄程序。
2硬件電路設(shè)計(jì)
2.1微處理器模塊
對(duì)于微處理器的選型是設(shè)計(jì)中的重點(diǎn),要求微處理器可以幫助小車來控制各底層模塊,并通過無線信號(hào)與外部設(shè)備即終端建立聯(lián)系,從而控制電機(jī)的轉(zhuǎn)動(dòng)、視頻信息數(shù)據(jù)的處理和傳輸?shù)。綜合這些要求以及客觀條件,小車系統(tǒng)采用的處理器模塊是市面上主流的性能較為優(yōu)越的STM32F103ZET6。
其在STM32系列的處理器內(nèi)部擁有高速存儲(chǔ)器,還添加有8MHz的RC振蕩器,這使得處理器可以達(dá)到72MHz的工作頻率[1]。綜上所述,STM32系列處理器可以說是相關(guān)用戶們的首選。本系統(tǒng)采用的核心板添加了四個(gè)電機(jī)對(duì)應(yīng)的串口引腳,并且在板子的角落處還設(shè)計(jì)了與WiFi模塊連接的串口引腳,不用再進(jìn)行相關(guān)外設(shè)的添加,這使得實(shí)際的設(shè)計(jì)和操作更為簡單。
2.2電機(jī)驅(qū)動(dòng)模塊
當(dāng)今市面上主流的電機(jī)驅(qū)動(dòng)芯片主要是L298N和L293D兩種型號(hào),但對(duì)兩者之一的選取需要通過兩種電機(jī)驅(qū)動(dòng)模塊的性能對(duì)比和實(shí)際的設(shè)計(jì)要求來決定。通過L298N和L293D的性能對(duì)比可知,L298N是L293D電機(jī)驅(qū)動(dòng)芯片的高功率、大電流版本,L298N的性能更為優(yōu)越,故本系統(tǒng)的電機(jī)驅(qū)動(dòng)模塊選用L298N型號(hào)的電機(jī)驅(qū)動(dòng)。通過控制輸入端口的電平高低就可以控制電機(jī)的正反轉(zhuǎn)。因?yàn)樾≤嚨妆P沒有轉(zhuǎn)軸,所以為了實(shí)現(xiàn)小車的轉(zhuǎn)向通過模仿老式坦克的轉(zhuǎn)向方式,即利用小車四個(gè)電機(jī)的轉(zhuǎn)速差來實(shí)現(xiàn)小車的轉(zhuǎn)向功能。
2.3視頻采集模塊
視頻監(jiān)控小車的視頻采集模塊即攝像頭,作為小車的核心之一,攝像頭的好與壞決定著實(shí)際的監(jiān)控畫面質(zhì)量及監(jiān)控的效果。考慮到實(shí)際條件和設(shè)計(jì)需求,本系統(tǒng)采用的是USB數(shù)字?jǐn)z像頭,沒有選用比較普遍的CMOS數(shù)字圖像傳感器。因?yàn)橄鄬?duì)于后者,USB數(shù)字?jǐn)z像頭的外觀更為緊湊一體化,且驅(qū)動(dòng)開發(fā)更為簡單等優(yōu)點(diǎn),在實(shí)際使用時(shí)只需在USB-HOST驅(qū)動(dòng)的基礎(chǔ)上加配攝像頭USB驅(qū)動(dòng)便可輕松達(dá)到實(shí)時(shí)采集視頻信息的要求,所以更利于初學(xué)者使用[2]。
所以考慮到USB攝像頭更加方便實(shí)用,而且USB接口正好可以適合本系統(tǒng)所選取的無線路由器模塊,在實(shí)際使用時(shí)可以做到通電狀態(tài)下插上接口便可以使用。并且,依靠USB線路直接連接無線路由器獲得的電流電壓完全可以滿足USB攝像頭所需的電壓,從而就不用再連接電池組來獲取電源電壓,這就使得系統(tǒng)設(shè)計(jì)時(shí)可以不用考慮給攝像頭單獨(dú)供電,減少工作量和設(shè)計(jì)的復(fù)雜程度。
2.4無線路由器模塊
WiFi模塊是視頻監(jiān)控小車設(shè)計(jì)的一個(gè)重要環(huán)節(jié)。在本次設(shè)計(jì)中采用無線路由器來代替普通的WiFi模塊。因?yàn)橐粋(gè)無線路由器可以在通電情況下制造出一個(gè)具有開放性的無線局域網(wǎng),這樣用戶就可以通過PC上位機(jī)或是Android手機(jī)連接局域網(wǎng)的方式與視頻監(jiān)控小車建立聯(lián)系。之后,打開控制終端上的應(yīng)用程序,點(diǎn)擊連接后顯示實(shí)時(shí)的監(jiān)控畫面便是連接成功了。
此時(shí)用戶就可以使用PC端或是Android手機(jī)上的應(yīng)用程序軟件向視頻監(jiān)控小車發(fā)送各種控制指令,以及接收小車采集的視頻信息數(shù)據(jù)并在應(yīng)用程序界面上實(shí)時(shí)地顯示。因?yàn)閃iFi信號(hào)是連接視頻監(jiān)控小車和用戶控制終端的紐帶,所以選擇一個(gè)合適的無線路由器模塊對(duì)于整體的設(shè)計(jì)和實(shí)驗(yàn)而言十分關(guān)鍵。結(jié)合系統(tǒng)設(shè)計(jì)的要求以及視頻監(jiān)控小車自身攜帶的局限性考慮,本次設(shè)計(jì)采用了TP-LINK的TL-WR702N型號(hào)的150M迷你型無線路由器。這種無線路由器默認(rèn)為AP(無線接入點(diǎn))模式,其最高傳輸速率可以達(dá)到150Mbps,適用于15-60m2面積的范圍內(nèi)?紤]其能夠滿足設(shè)計(jì)的需要,最重要的是這種無線路由器可以做到即插即用,并且自身的信號(hào)穩(wěn)定、體積較小,大小只有普通信用卡的一半,自重只有170g,方便小車攜帶。根據(jù)這些因素,最終決定選用此類無線路由器。
2.5電源電路模塊
電源模塊是給整個(gè)系統(tǒng)提供穩(wěn)定有效電壓的能源模塊,相當(dāng)于整個(gè)系統(tǒng)的心臟,是確保系統(tǒng)中的每個(gè)模塊都可以正常運(yùn)行的前提保障。電源電壓的獲取方式有兩種,一種是直接獲取直流電源輸入的電壓,另一種是使用USB電源通過USB接口來獲取電壓。而在本系統(tǒng)中小車的電源模塊則是采用兩節(jié)18650鋰電池組成的電池組,可以直接提供7.5V的電源電壓。但是由于系統(tǒng)中的各個(gè)模塊所需的額定電壓不相同,所以需要把兩節(jié)18650鋰電池組提供的7.5V電壓先進(jìn)行一次降壓。
STM32系列處理器的外圍硬件模塊所需額定電壓為5V,而當(dāng)提供的電源電壓高于額定電壓可能會(huì)損毀元器件,所以本系統(tǒng)采用LM2596降壓模塊來將電池組的7.5V降至5V。因?yàn)镾TM32的SWD接口和芯片的額定電壓為3.3V,現(xiàn)在已經(jīng)有經(jīng)過降壓處理的5V電壓,所以本系統(tǒng)還需要使用AMS1117穩(wěn)壓器。AMS1117穩(wěn)壓器可以將穩(wěn)壓電源流入系統(tǒng)的5V電壓降為3.3V。為了安全考慮,在輸出低壓側(cè)加上了一個(gè)LED紅燈作為電流倒流時(shí)的警示燈。
3系統(tǒng)軟件程序設(shè)計(jì)
3.1操作系統(tǒng)的移植
相比較于其他嵌入式操作系統(tǒng),嵌入式Linux操作系統(tǒng)是一種更受歡迎、使用者更多并且發(fā)展更完善的網(wǎng)絡(luò)操作系統(tǒng)。從其自身分析,因?yàn)長inux為開源系統(tǒng)并且無黑箱技術(shù),所以根據(jù)網(wǎng)絡(luò)協(xié)議所有人都能對(duì)Linux的源代碼進(jìn)行修改,開發(fā)出新代碼和新的功能來制造出獨(dú)特的操作系統(tǒng)。并且Linux操作系統(tǒng)在全球各地?fù)碛械谋姸郘inux愛好者,可以作為Linux開發(fā)者的強(qiáng)大技術(shù)支持力量,用戶之間可以互相幫助并且共同開發(fā)。綜上所述,嵌入式Linux操作系統(tǒng)作為一種開源且可裁減的軟件平臺(tái)系統(tǒng),是嵌入式產(chǎn)品開發(fā)時(shí)的首選系統(tǒng)[3]。
3.2應(yīng)用程序設(shè)計(jì)
本系統(tǒng)中PC上位機(jī)上應(yīng)用程序的開發(fā)是采用了QtCreator4.4.1開發(fā)工具軟件,使用的編程語言是C++。最終設(shè)計(jì)出來的應(yīng)用程序需要實(shí)現(xiàn)的功能包括發(fā)送指令控制視頻監(jiān)控小車的運(yùn)動(dòng)以及接收數(shù)據(jù)實(shí)時(shí)顯示監(jiān)控畫面[4]。對(duì)于Android程序的開發(fā)則是使用Eclipse加JDK和ANT的組合,當(dāng)然還要有Android對(duì)應(yīng)的SDK和Android系統(tǒng)要使用Eclipse軟件時(shí)必要的插件。在使用時(shí)要先按照程序推薦的安裝流程操作,然后設(shè)計(jì)好環(huán)境變量。程序開發(fā)的簡要流程是:
(1)首先點(diǎn)擊Eclipse軟件界面左上方的File選項(xiàng),再點(diǎn)擊后選擇彈出的一系列選項(xiàng)中的New選項(xiàng)。(2)其次選擇彈出的Project選項(xiàng)。選擇后會(huì)彈出一個(gè)對(duì)話窗,點(diǎn)擊其中的AndroidProject。(3)再次要在彈出的窗口輸入程序開發(fā)的相關(guān)參數(shù)。(4)最后可以編譯程序自動(dòng)生成的代碼,注意此時(shí)代碼的不同和復(fù)雜程度就代表最終生成的Android應(yīng)用程序的不同和復(fù)雜程度。
3.3驅(qū)動(dòng)程序設(shè)計(jì)
3.3.1電機(jī)驅(qū)動(dòng)程序設(shè)計(jì)
對(duì)于L298N電機(jī)驅(qū)動(dòng)程序的設(shè)計(jì)要先了解其驅(qū)動(dòng)芯片的引腳,和各個(gè)引腳的對(duì)應(yīng)作用。每個(gè)L298N電機(jī)驅(qū)動(dòng)模塊可以控制兩個(gè)電機(jī)的轉(zhuǎn)動(dòng),在此先對(duì)L298N電機(jī)驅(qū)動(dòng)模塊的主要引腳的作用進(jìn)行簡單說明。首先引腳如何控制左側(cè)電機(jī)A和右側(cè)電機(jī)B正反轉(zhuǎn)和停止的方式進(jìn)行說明,其控制引腳端口的高低電平和小車電機(jī)旋轉(zhuǎn)方式的關(guān)系。
系統(tǒng)通過PWM脈沖調(diào)速的方式來改變電機(jī)的轉(zhuǎn)速,從而實(shí)現(xiàn)轉(zhuǎn)速差控制小車轉(zhuǎn)向。采用的PWM脈沖調(diào)速就是通過控制輸出的電平高低來控制調(diào)速。而輸出高低電平的頻率就是所謂的方波占空比。占空比是接通時(shí)間和周期時(shí)間之比,此外占空比通常通過百分比來表示。
所以總結(jié)來說,PWM脈沖調(diào)速就是通過改變占空比的方式來改變平均電壓,從而使對(duì)應(yīng)電機(jī)的轉(zhuǎn)速發(fā)生變化[5]。通過下面的流程圖說明了當(dāng)小車接收到控制終端的控制指令時(shí),L298N如何驅(qū)動(dòng)電機(jī)轉(zhuǎn)動(dòng)從而控制小車的運(yùn)動(dòng)方式。當(dāng)前進(jìn)或后退時(shí),兩個(gè)L298N控制四個(gè)電機(jī)同時(shí)同速正轉(zhuǎn)或反轉(zhuǎn)。但當(dāng)左轉(zhuǎn)或右轉(zhuǎn)時(shí)會(huì)對(duì)電機(jī)轉(zhuǎn)速進(jìn)行調(diào)整。左轉(zhuǎn)時(shí)小車左側(cè)兩電機(jī)向后轉(zhuǎn),右側(cè)的兩電機(jī)向前轉(zhuǎn),但是為了讓小車能夠可以近似原地旋轉(zhuǎn),右后方的電機(jī)轉(zhuǎn)速加大,從而使電機(jī)轉(zhuǎn)角變大。右轉(zhuǎn)時(shí)同理。
3.3.2視頻采集程序設(shè)計(jì)
USB攝像頭的工作原理其實(shí)就是通過圖像傳感器將物鏡轉(zhuǎn)換為電信號(hào),然后再經(jīng)過A/D轉(zhuǎn)換成數(shù)字圖像信號(hào),最后將數(shù)字圖像信號(hào)發(fā)送給攝像頭內(nèi)部DSP(數(shù)字信號(hào)處理)處理芯片進(jìn)行相關(guān)的數(shù)據(jù)處理[6]。為了讓小車能正常采集處理視頻信息,要先將攝像頭的相關(guān)驅(qū)動(dòng)加載到無線路由器中。
當(dāng)小車通電各模塊正常啟動(dòng)后,此時(shí)STM32F103ZET6處理器通過無線路由器控制USB攝像頭開始視頻信息的采集,采集到的視頻數(shù)據(jù)在攝像頭內(nèi)部處理壓縮后通過USB傳輸?shù)綗o線路由器中,然后再經(jīng)過無線路由器將串口數(shù)據(jù)轉(zhuǎn)換為網(wǎng)絡(luò)數(shù)據(jù)通過WiFi信號(hào)發(fā)送給控制終端。用戶控制終端上的應(yīng)用程序經(jīng)過對(duì)數(shù)據(jù)的解碼處理后,便會(huì)在用戶界面顯示實(shí)時(shí)的監(jiān)控畫面。
3.3.3無線數(shù)據(jù)傳輸程序設(shè)計(jì)
視頻監(jiān)控小車和用戶控制終端之間就是通過無線數(shù)據(jù)傳輸來接收視頻信息和發(fā)送控制指令的。而無線數(shù)據(jù)傳輸是需要按照TCP/IP協(xié)議來進(jìn)行工作的,TCP/IP協(xié)議是一個(gè)開放性的通信協(xié)議,在概念上可以分為應(yīng)用層、傳輸層、IP層和數(shù)據(jù)鏈路層[7]。其中傳輸層的作用是用來服務(wù)上層運(yùn)行中的應(yīng)用層,可以給應(yīng)用層提供一端到另一端的通信支持。而傳輸層自身中有兩個(gè)最重要的協(xié)議TCP和UDP,即傳輸控制協(xié)議和用戶 數(shù)據(jù)報(bào)協(xié)議。提到TCP/IP協(xié)議就要說TCP/IP協(xié)議棧。
在本系統(tǒng)設(shè)計(jì)中TCP/IP協(xié)議棧和控制終端應(yīng)用程序的接口被設(shè)計(jì)成一種Socket標(biāo)準(zhǔn)的API接口,這可以用來封裝協(xié)議棧內(nèi)部的大部分底層文件,方便后來的修改編制。無線數(shù)據(jù)傳輸?shù)木唧w流程是當(dāng)無線路由器經(jīng)過初始化過后,打開控制終端的WiFi開關(guān)進(jìn)行搜索,搜索到創(chuàng)建好的網(wǎng)絡(luò)服務(wù)器IP地址:192.168.1.1,其視頻端口:8080,控制端口:2001[8]。進(jìn)行設(shè)置連接,連接成功后就可以進(jìn)行數(shù)據(jù)傳輸,此時(shí)會(huì)在控制界面上顯示監(jiān)控畫面。關(guān)閉連接后會(huì)自動(dòng)退出程序,結(jié)束監(jiān)控控制畫面。
4系統(tǒng)測試
先是對(duì)程序進(jìn)行燒錄,當(dāng)編寫好的程序燒錄成功后對(duì)小車主要硬件中的電機(jī)和無線路由器進(jìn)行測試,最后就是PC上位機(jī)和Android手機(jī)上的應(yīng)用程序的測試。通過對(duì)系統(tǒng)軟硬件和整體的測試,驗(yàn)證了系統(tǒng)的可行性和穩(wěn)定實(shí)用性。測試的最終結(jié)果表明,小車各部分都能正常工作,整體系統(tǒng)在通電情況下,用戶的控制終端可以通過正常的WiFi信號(hào)實(shí)現(xiàn)對(duì)視頻監(jiān)控小車的遠(yuǎn)程移動(dòng)控制以及實(shí)時(shí)地顯示視頻監(jiān)控畫面,基本上達(dá)到了最初的設(shè)計(jì)目標(biāo)。
5結(jié)束語
雖然設(shè)計(jì)出的WiFi視頻監(jiān)控小車達(dá)到了預(yù)期的設(shè)計(jì)要求,但是小車本身還是有一些缺陷。隨著自動(dòng)化和智能化的普及,工業(yè)生產(chǎn)對(duì)于智能小車的要求也越來越高。本文的視頻監(jiān)控小車只是智能化小車的一個(gè)分支,設(shè)計(jì)的小車硬件比較簡單并且只能實(shí)現(xiàn)一些簡單的功能,但為以后更加智能化地設(shè)計(jì)打下了一個(gè)基礎(chǔ)。
參考文獻(xiàn):
[1]王威棟.DesignofTwo-DimensionalUltrasonicWindSpeedMeasurementSystemBasedonSTM32F103ZET6[J].JournalofElectricalEngineering,2018,6(4):283-290.
[2]劉勇軍.基于STM32智能斷路器的設(shè)計(jì)[J].智能建筑電氣技術(shù),2014,8(1):67-70.
[3]盛蕾.WiFi網(wǎng)絡(luò)研究及基于Linux的測試平臺(tái)的實(shí)現(xiàn)[D].上海:同濟(jì)大學(xué),2007.[4]方國賢.基于STM32智能小車的設(shè)計(jì)與實(shí)現(xiàn)[D].武漢:武漢輕工大學(xué),2018.
作者:戴夢飛,趙俊鋒
轉(zhuǎn)載請(qǐng)注明來自發(fā)表學(xué)術(shù)論文網(wǎng):http:///dzlw/29063.html