黃祥
?
基于STM32單片機的視頻遙控小車研究
黃祥
湖北工程學院新技術學院,湖北 孝感 432000
在當前社會當中,隨著科技的發展,STM32單片機在很多領域中都得到了應用。可利用STM32單片機來遙控視頻小車,同時實現數據的傳輸。在計算機和小車之間,可利用Wi-Fi模塊,基于PWM電機調速原理、IP通信原理等,實現數據傳輸。在基于STM32單片機的視頻遙控小車中,還采用了多傳感器信息融合技術,從而能夠遠程操作無線視頻監控,用戶通過Wi-Fi無線網連接,可以利用收集、計算機等視頻終端設備來獲取視頻監控畫面,同時控制小車的移動。
STM32單片機;視頻遙控小車
隨著科技的發展,智能遙控技術、自動化技術在各個領域當中都得到了越來越廣泛的應用。在對移動機器人進行研究的過程中,機器人小車是一個重要的部分,包含了通信技術、傳感技術、計算機技術等。利用無線網絡視頻技術對路徑進行識別,從而對小車的轉向、速度等進行控制。在基于STM32單片機的視頻遙控小車當中,利用STM32單片機作為控制器,對拍攝到的視頻畫面利用Wi-Fi模塊進行遠程傳輸,取得了良好的應用效果。
1.1 云臺驅動原理
在視頻遙控小車上,攝像頭是由云臺進行控制的,在應用的二自由度舵機云臺中,具有較大的扭矩,在垂直和水平方向上,都能夠完成180度的而自由度運動。對攝像頭進行安裝,能夠進行定位追蹤、圖像識別、圖像監控。還可安裝紅外傳感器、超聲波測距傳感器,從而對周圍的障礙物進行探測和躲避。
1.2 電機調速原理
在控制器的兩個信號輸入端口當中,其作用是對信號使能進行控制,在低電平的狀態下會發揮效果。在拉低信號線之后,控制器就會發出相應的運動模式控制。在控制器當中,由于具有控制使能的信號線,因此可以通過對相應端口信號的控制,進行PWM調速[1]。在一個周期時間內,開關管導通一定時間,從而得出電機兩端的平均電壓。
1.3 電機驅動原理
在視頻遙控小車當中,將兩個電機分別配在現車左右輪,兩個電機的旋轉方向和停止,對小車的運行進行控制。在STM32單片機通過4根電機控制信號線,對輸入端進行連接,另外兩根PWM調速信號線也與相應端口進行連接。其中,前兩條輸入信號線對左輪電機進行控制,直流電機與輸出端相連,小車右輪的電機運動模式控制原理與左輪相同。
2.1 Ser2net
Ser2net是一種IP轉串口軟件,在STM32單片機資源當中,使用的是串口通信協議,而在計算機通信當中,采用的則是IP協議。因此,需要通過Ser2net對兩種不同的協議進行轉換和連接,從而可以通過計算機的IP編程,實現對視頻遙控小車的控制[2]。在平臺中開啟一個服務端口,與計算機連接,從而獲取IP數據流,最終轉發到遠程IP終端,從而在小車和IP協議之間建立聯通。
2.2 RT5350芯片
RT5350芯片內部對射頻功率放大器、基帶處理器等進行了集成,同時含有五端口百兆以太網交換機。RT5350芯片具有較大的成本優勢,在低端路由器市場當中,占據著較大的份額。其中配備了USB2.0擴展,與3G網卡共同應用,可得到3G路由器,綜合USB攝像頭,就能得到Wi-Fi攝像機,從而實現對視頻畫面的傳輸。
2.3 OpenWrt系統
OpenWrt系統使主要的路由器系統之一,在很多智能路由器當中都有著廣泛的應用。當前應用的OpenWrt系統能夠對RT5350系統進行全面的支持。在相應系統中對源碼進行下載,對相應的交叉編譯器進行安裝,對相應的驅動軟件進行配置,從而對需要的OpenWrt系統進行編譯,在配合相應的功能軟件,就能夠發揮良好的作用。
2.4 MJPG-streamer
MJPG-streamer是一種視頻流服務器,具有通用攝像頭插件,同時具有網站服務器輸出插件[3]。對這兩種插件進行綜合應用,在HTTP服務器中對USB攝像頭獲取的數據進行復制,用戶通過對服務器的訪問,就能夠對攝像頭中得到的視頻流進行獲取,通過相應的解碼操作,就能夠對視頻圖像進行獲取。
3.1 通信協議定義
在STM32單片機當中,主要對控制協議進行了定義,可以對這一協議進行自行定義,例如,發送0xff、0xff、0x01、0x01的數據包,可以控制小車向前行進。其中,數據包當中的前兩位表示的是對頭碼進行標識,第三位表示的是對對象進行標識,第四位表示的是對數據值進行標識。
3.2 MJPG視頻解碼
在視頻遙控小車但當中,對于以HTTP協議為基礎的MJPG視頻流,使通過RT5350模塊所提供的,因此,需要在上位機軟件端,對相應的軟件解碼視頻流進行編寫,從而對小車拍攝到的視頻畫面進行獲取[4]。例如,在VS2010當中的C#,其解碼思路主要是,首先視頻地址由HTTP請求獲取,然后對相應的視頻流進行獲取,再對JPEG的頭和尾進行準確的尋找,從而通過相應的終端設備,顯示出獲取的JPEG圖像。
3.3 控制小車電腦程序
在控制小車的過程當中,需要對一個TCP創建,并且與小車的相應端口進行連接,將控制命令通過這一端口進行直接的發送,根據相關的通信協議,就能夠對小車的運行狀態進行控制。例如,在VS2010當中的C#,其編程思路主要是首先對一個套接字進行創建,其次是要對小車的控制端口、IP地址等進行連接,然后對相應的控制按鍵、控制按鈕等進行繪制,最后對按鍵、按鈕的響應事件進行編寫,對相應的控制命令,采用已連接的套接字進行發送。
在智能機器人領域的研究當中,視頻遙控小車是一個十分重要的研究部分,在實際應用中也具有很多方面的作用。基于STM32單片機,視頻遙控小車能夠被計算機進行良好的控制,在控制小車移動的同時,對小車拍攝的視頻進行獲取,從而使其作用得到更為充分的發揮。
[1]羅回彬,巫敏鋒.基于Wi-Fi的可實時視頻同傳的探測小車[J].單片機與嵌入式系統應用,2015(6):41-43.
[2]郭俊杰,朱洪應,蔡超敏,黃培鑫,陳如麒.基于STM32單片機的視頻遙控小車[J].大學物理實驗,2015(4):47-50.
[3]宋揚,朱江.基于STC12C5A60S2單片機的視頻遙控小車設計[J].電腦知識與技術,2014(1):180-184.
[4]徐迎曦,李傳鋒,張亞威.基于無線圖像傳輸的智能偵察系統研究[J].計算技術與自動化,2013(3):46-51.
U469.6
A
1009-6434(2016)03-0079-01