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