基于WiFi的可實時視頻同傳的探測小車
摘要:為了在高溫、有毒等特定環(huán)境下進行視頻圖像數(shù)據(jù)、氣體參數(shù)等環(huán)境狀態(tài)的檢測,本文設(shè)計一種基于單片機的可實時視頻同傳的探測小車。Windows監(jiān)控端通過DB120無線路由器與單片機STC89C52控制中心通信,發(fā)送控制信號給電機驅(qū)動模塊L298N、LED模塊,實現(xiàn)小車轉(zhuǎn)向、進退及燈光的控制;攝像頭模塊、溫度傳感器模塊進行視頻數(shù)據(jù)、溫度數(shù)據(jù)的采集,并實時回傳給Windows監(jiān)控端。
本文引用地址:http://www.biyoush.com/article/201610/307278.htm引言
隨著自動化技術(shù)的發(fā)展,智能控制廣泛應(yīng)用在軍事、科研、民用領(lǐng)域。無線探測小車集成了電子、機械、通信、傳感器、計算機軟硬件、人工智能及自動控制等多方面的技術(shù)。此外,其成本低、體積小、操作簡單,能較好地應(yīng)用在勘探、環(huán)境監(jiān)測等應(yīng)用。本文旨在設(shè)計一種能在高溫、有毒等特定環(huán)境下,進行遠距離無線遙控以及攝像、測溫探測的單片機小車控制系統(tǒng)。
1 系統(tǒng)總體方案設(shè)計
本項目設(shè)計的是集單片機控制模塊、攝像模塊、溫度傳感器模塊、照明模塊及路由模塊為一體,可實時視頻傳輸及環(huán)境探測的探測小車,其系統(tǒng)硬件結(jié)構(gòu)框圖如圖1 所示。探測小車以單片機芯片STC89C52為控制中心,電機驅(qū)動模塊L298N進行小車直流電機的驅(qū)動控制,溫度傳感器進行外部環(huán)境的檢測,攝像頭模塊進行視頻圖像的采集,LED模塊進行照明,并通過無線WiFi路由模塊實現(xiàn)Windows控制端與小車的無線通信。
2 硬件設(shè)計及選型
硬件部分主要采用市場上比較流行、穩(wěn)定性高且性價比高的模塊,此外,大部分模塊都組裝簡單、升級方便、可移植性強,便于項目的開發(fā)及后續(xù)升級維護。例如,攝像頭可通過USB接口直接連到路由器上,無需單片機轉(zhuǎn)發(fā),簡化了視頻流的傳輸。
2.1 電機驅(qū)動模塊
電機驅(qū)動模塊選用L298N,可接收標準的TTL邏輯電平信號,可驅(qū)動46 V/2A以下的電機。其驅(qū)動模塊原理圖如圖2所示,L298N輸入電壓是12V,L298N的OUT1、OUT2和OUT3、OUT4之間分別接2個電機,本項目可直接使用單片機的I/O輸入口Port1~Port4,APWM、B PWM改變L298N的IN1、IN2、IN3、IN4引腳及ENA、ENB使能端,從而分別實現(xiàn)控制電機的正反轉(zhuǎn)及停止功能。
2.2 無線WiFi路由模塊
無線WiFi路由模塊采用的是DB120路由器,此路由器是OpenWRT系統(tǒng),刷機升級十分簡單。本項目可以通過網(wǎng)絡(luò)下載,在同一網(wǎng)段內(nèi)通過瀏覽器登錄192.168.1.1,選擇“0829-openwrt-rc6-RG100A_DB120-squashfs-cfe.bin”版本的固件進行燒錄。固化后,該路由模塊可作為轉(zhuǎn)發(fā)站,實現(xiàn)USB攝像頭的加載及與單片機的串行通信。
2. 3 攝像頭模塊
本項目選用中星微301主控芯片的USB攝像頭模塊,通過簡單的路由設(shè)置就能快速實現(xiàn)攝像頭的掛載。掛載成功后,可通過路由器的WiFi轉(zhuǎn)發(fā)攝像頭的動態(tài)視頻至Windows控制端。
2.4 溫度傳感器模塊
本項目選用DALLAS公司生產(chǎn)DS18B20的一線式溫度傳感器,進行外部環(huán)境數(shù)據(jù)的監(jiān)測,其線路簡單,僅有GND、DQ、VDD三個引腳。其中,DQ為數(shù)字信號輸入/輸出端,GND為電源地,VDD為外接供電電源輸入端。
3 軟件設(shè)計
本項目中,用戶監(jiān)控端與探測小車通過WiFi路由進行數(shù)據(jù)傳輸,因此,開發(fā)人員在軟件設(shè)計與實現(xiàn)過程中需要對小車進行控制編程、監(jiān)控視頻動態(tài)顯示、控制界面GUI設(shè)計及網(wǎng)絡(luò)編程(Socket編程)。
項目開發(fā)過程中,選用Keil C51開發(fā)環(huán)境,對探測小車進行軟件編程,實現(xiàn)對外部環(huán)境的測溫及小車電機的控制;選用編程簡單靈活、可移植性強的QT開發(fā)環(huán)境,進行Wind ows控制端的GUI設(shè)計、Socket編程及視頻動態(tài)顯示。此外,還選用了單片機多功能調(diào)試助手軟件、TCPUDP—Debug軟件進行單片機的通信測試。
3.1 小車電機控制編程
進行電機驅(qū)動模塊L298N的電路連線,Port1~Port4分別為P2^0~P2^3,查閱L298N的數(shù)據(jù)手冊,對照其邏輯功能表在Keil C51下進行電機前進、后退、左轉(zhuǎn)、右轉(zhuǎn)和停止的編程。編程樣例如下所示:
3.2 Socket編程
探測小車與路由器通信中,主要用到了QTcpSocket客戶端和QTcpServer服務(wù)器,其中本項目進行監(jiān)控端Socket編程。按照通信的交互時序,先創(chuàng)建TcpSocket類,然后建立連接。其關(guān)鍵代碼如下:
3.3 監(jiān)控端GUI設(shè)計及視頻動態(tài)顯示
進行監(jiān)控端界面設(shè)計時,需考慮到整個界面的布局及易操作性。本項目選用WebView控件進行視頻的顯示;ButtonBox控件作為前后左右等按鈕開關(guān);Label控件顯示溫度值、時間和標題;LineEdit控件作為IP和端口號輸入端。
由于WebView控件只能加載路由轉(zhuǎn)發(fā)的靜態(tài)圖像,因此,為了實現(xiàn)監(jiān)控端實時視頻動態(tài)顯示,除了進行IP地址及端口號綁定設(shè)置外,還需要多加一個定時器來動態(tài)刷新。以下為關(guān)鍵代碼:
3.4 實驗結(jié)果
通過軟硬件設(shè)計、編程調(diào)試及后期功能測試,探測小車系統(tǒng)能較好地實現(xiàn)小車控制、外部環(huán)境監(jiān)測、視頻實時動態(tài)顯示、LED照明等功能,整個控制過程中,可操作性較強系統(tǒng)啟動后,用戶只需進行IP及端口的綁定設(shè)置,然后單擊“連接”按鈕;連接成功后,該按鈕將變成“已連接”狀態(tài)且右邊的紅色標識變成綠色,此時,通過監(jiān)控端上的按鈕,用戶可對小車進行前后左右的控制、開關(guān)LED燈、獲取實時視頻圖像及外部環(huán)境溫度。Windows監(jiān)控端如圖3所示。
結(jié)語
基于WiFi的實時視頻同傳的探測小車是一個集單片機、路由器、攝像頭、QT等各種軟硬件于一體的智能化探測小車系統(tǒng)。本系統(tǒng)只是一個基礎(chǔ)平臺,包括小車行走控制、燈光控制、測溫、實時視頻傳輸、數(shù)據(jù)回傳功能,其軟硬件設(shè)計簡潔,開發(fā)成本低。在今后的研究中,針對不同的應(yīng)用及環(huán)境特性,項目研發(fā)人員可以在此基礎(chǔ)上增加相關(guān)模塊功能,如云臺舵機、機械手臂、氣體檢測傳感器模塊,可對外部環(huán)境實現(xiàn)全方位的視頻監(jiān)控、危險物品拾取、有毒氣體的預(yù)警等。
評論