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