汪冰,曾大興,李魯寧,王愷軒
(東南大學(xué)成賢學(xué)院,江蘇南京,210000)
隨著時(shí)代和科技的發(fā)展,智能產(chǎn)品逐漸深入我們的生活,其使設(shè)備自動(dòng)化,為我們打造了高效便利的生活方式。智能產(chǎn)品便是利用先進(jìn)的計(jì)算機(jī)技術(shù)和網(wǎng)絡(luò)通信技術(shù)將各種與日常生活相關(guān)的系統(tǒng)產(chǎn)品有機(jī)結(jié)合在一起,統(tǒng)籌管理,使我們的生活更加高效便捷,優(yōu)化我們的生活方式。而智能產(chǎn)品在國(guó)外發(fā)達(dá)國(guó)家更為普遍,因?yàn)槠浣?jīng)濟(jì)能力和對(duì)計(jì)算機(jī)研究能力更強(qiáng)勁,研究智能控制也更為久遠(yuǎn)。國(guó)內(nèi)智能產(chǎn)品的使用雖然較晚,不過(guò)我們國(guó)家的發(fā)展勢(shì)頭不可小覷,各種智能產(chǎn)品的生產(chǎn)廠家也逐年增加,人工智能也逐漸成為學(xué)生選擇專(zhuān)業(yè)的熱門(mén)選項(xiàng)。
智能車(chē)是目前世界車(chē)輛工程領(lǐng)域研究的熱點(diǎn)和汽車(chē)工業(yè)發(fā)展的新方向,且已經(jīng)在許多工業(yè)部門(mén)獲得廣泛應(yīng)用。因此智能小車(chē)也是無(wú)數(shù)大學(xué)生創(chuàng)新的熱門(mén)選項(xiàng)。本項(xiàng)目利用WiFi無(wú)線技術(shù)通過(guò)樹(shù)莓派控制小車(chē)以及舵機(jī)的移動(dòng),攝像頭采集圖像信息后傳輸至客戶端,傳感器采集數(shù)據(jù)信息后傳輸?shù)皆破脚_(tái)的數(shù)據(jù)庫(kù),編寫(xiě)網(wǎng)頁(yè)連接云平臺(tái)的數(shù)據(jù)庫(kù)獲取數(shù)據(jù),因此我們可以在網(wǎng)頁(yè)觀看到小車(chē)進(jìn)行路面監(jiān)測(cè)的結(jié)果。
舵機(jī)模塊,攝像模塊,傳感器模塊與主控模塊相連,主控模塊以樹(shù)莓派4B為核心,發(fā)布的指令通過(guò)樹(shù)莓派傳輸至舵機(jī)和小車(chē),操控二者上下(前后)左右移動(dòng)。小車(chē)使用7.4V電池進(jìn)行供電。傳感器模塊分為三部分,分別為MQ-5液化氣傳感、MQ-9可燃?xì)鈧鞲衅饕约笆褂肈HT11溫濕度傳感器,用來(lái)收集環(huán)境中的液化氣可燃?xì)夂蜏貪穸鹊臄?shù)據(jù)。攝像頭安裝在舵機(jī)上,采集周?chē)鷪D像信息后傳輸至網(wǎng)頁(yè)端。數(shù)據(jù)通過(guò)WiFi模塊上傳到阿里云平臺(tái)數(shù)據(jù)庫(kù),再編寫(xiě)網(wǎng)頁(yè)連接云平臺(tái)數(shù)據(jù)庫(kù)獲取數(shù)據(jù),使得小車(chē)能夠?qū)崟r(shí)監(jiān)控路面圖像且檢測(cè)數(shù)據(jù),達(dá)到監(jiān)控探測(cè)道路的目的。
因此主要內(nèi)容有:
(1)編寫(xiě)小車(chē)和舵機(jī)模塊的控制程序,使得小車(chē)完成網(wǎng)頁(yè)控制端通過(guò)樹(shù)莓派傳輸過(guò)去的指令,實(shí)現(xiàn)移動(dòng)。
(2)編寫(xiě)攝像頭獲取圖像流的程序,接收處理信息。
(3)編寫(xiě)傳感器探測(cè)溫濕度,可燃?xì)饧耙夯瘹獾某绦?,并將探測(cè)結(jié)果數(shù)據(jù)傳輸?shù)皆破脚_(tái)數(shù)據(jù)庫(kù)顯示。
(4)編寫(xiě)網(wǎng)頁(yè),顯示攝像頭的圖像信息和傳感器的數(shù)據(jù)信息,以及操控小車(chē)和舵機(jī)的按鍵。
(5)在組裝完成后進(jìn)行包裝,使產(chǎn)品更完整,同時(shí)具有觀賞性和實(shí)用性。
圖1 各系統(tǒng)模塊圖
小車(chē)采用鋁合金底盤(pán),配備可調(diào)減震器,輪胎為麥克納姆輪,便于前后左右全方位移動(dòng),電機(jī)為JGA25-370霍爾測(cè)速電機(jī),利用一組7.4V的電池為電機(jī)供電。且其主控模塊以樹(shù)莓派4B為核心,性能更優(yōu)化,散熱性良好,通過(guò)樹(shù)莓派進(jìn)行處理傳輸?shù)闹噶钜约靶畔?。小?chē)?yán)檬謾C(jī)或者電腦的網(wǎng)頁(yè)作為控制端,小車(chē)和控制端所處的手機(jī)或電腦處于同一個(gè)WiFi下,以此實(shí)現(xiàn)同網(wǎng)段下不同IP主機(jī)的連接。WiFi模塊接收控制端發(fā)送的信號(hào)傳輸給樹(shù)莓派后分析轉(zhuǎn)化為控制指令,發(fā)送給小車(chē)和舵機(jī),以實(shí)現(xiàn)小車(chē)的前進(jìn),后退,左轉(zhuǎn),右轉(zhuǎn),停止以及舵機(jī)的上下左右移動(dòng)。
攝像頭采用USB2.0直插接口,可使用USB直接連接使用,簡(jiǎn)單方便。攝像頭30萬(wàn)像素,480P分辨率,可手動(dòng)調(diào)節(jié)焦距。舵機(jī)為二自由度攝像頭云臺(tái),可旋轉(zhuǎn)至左右180°,上下180°。將攝像頭安裝在舵機(jī)上,隨舵機(jī)移動(dòng)實(shí)時(shí)收集圖像信息。
圖2 樹(shù)莓派接口圖
本模塊使用了三個(gè)傳感器,分別為MQ-5液化氣傳感、MQ-9可燃?xì)鈧鞲衅饕约癉HT11溫濕度傳感器。MQ系列氣體傳感器使用的氣敏材料是在清潔空氣中電導(dǎo)率較低的二氧化錫。當(dāng)傳感器所處環(huán)境中存在可燃?xì)怏w時(shí),傳感器的電導(dǎo)率隨空氣中可燃?xì)怏w濃度的增加而增大。MQ系列氣體傳感器對(duì)甲烷的靈敏度高,對(duì)丙烷,丁烷也有較高的靈敏度,可檢測(cè)多種氣體且成本較低。因此MQ系列氣體傳感器是檢測(cè)液化氣和可燃?xì)獾囊环N選擇。DHT11數(shù)字溫濕度傳感器是一款含有已校準(zhǔn)數(shù)字信號(hào)輸出的溫濕度復(fù)合傳感器,可一體檢測(cè)周?chē)鷾囟群蜐穸?。溫度測(cè)量范圍為0℃~50℃,誤差不超過(guò)±2℃,濕度測(cè)量范圍為20%~90%,誤差不超過(guò)±5%。其成本低,可靠性高,穩(wěn)定性強(qiáng),抗干擾能力強(qiáng),信號(hào)傳輸距離長(zhǎng)。
圖3 電機(jī)圖
圖4 MQ系列傳感器圖
圖5 DHT11傳感器圖
樹(shù)莓派接入網(wǎng)絡(luò),PC機(jī)遠(yuǎn)程登錄樹(shù)莓派進(jìn)行后續(xù)開(kāi)發(fā)操作。小車(chē)樹(shù)莓派主板與網(wǎng)頁(yè)的連接均基于局域網(wǎng)IP鏈接,以此控制主板的GPIO口來(lái)實(shí)現(xiàn)控制電機(jī)和舵機(jī)的目的。利用Python語(yǔ)言,使用了GPIO庫(kù),向樹(shù)莓派引腳發(fā)送高低電平可控制電機(jī)旋轉(zhuǎn)。利用角度對(duì)應(yīng)的占空比定義舵機(jī)位置。網(wǎng)頁(yè)上每一個(gè)按鈕都已自主賦予唯一標(biāo)識(shí)符,按下按鈕將對(duì)應(yīng)標(biāo)識(shí)符傳入主板,通過(guò)此標(biāo)識(shí)符運(yùn)行對(duì)應(yīng)的函數(shù)代碼,即可控制電機(jī)及舵機(jī)的活動(dòng)。
攝像頭在局域網(wǎng)內(nèi)進(jìn)行視頻流實(shí)時(shí)傳輸。確認(rèn)攝像頭成功連接后,利用MJPG_Streamer,實(shí)現(xiàn)網(wǎng)絡(luò)監(jiān)控。注意修改分辨率及幀率。Mjpg_streamer.c 主程序主要運(yùn)行如下幾個(gè)部分:
input_init() 輸入相關(guān)的初始化
output_init() 輸出相關(guān)的初始化
input_run() 運(yùn)行輸入函數(shù),采集輸入數(shù)據(jù)
output_run() 輸出初函數(shù),把數(shù)據(jù)收集起來(lái)通過(guò)網(wǎng)絡(luò)socket發(fā)送出去
接著成功啟動(dòng)MJPG_Streamer即可,我們可以直接輸入網(wǎng)址http//樹(shù)莓派IP+8081即可觀看到攝像頭拍攝的圖像信息,完成實(shí)時(shí)視頻接收。
圖6 流程圖
三個(gè)傳感器分別對(duì)應(yīng)插到樹(shù)莓派針腳,編寫(xiě)Python程序,根據(jù)針腳編號(hào),樹(shù)莓派讀取傳感器數(shù)據(jù),保存本地文件。
將所測(cè)數(shù)據(jù)通過(guò)在阿里云物聯(lián)網(wǎng)平臺(tái)創(chuàng)建產(chǎn)品功能來(lái)顯示,創(chuàng)建數(shù)據(jù)庫(kù)和存放上傳數(shù)據(jù)的表后,編寫(xiě)SQL轉(zhuǎn)發(fā)數(shù)據(jù)存儲(chǔ)在云數(shù)據(jù)庫(kù)后調(diào)試即可。
當(dāng)數(shù)據(jù)傳到阿里云的數(shù)據(jù)庫(kù)之后,新建JavaScript文件,使用require引入mysql模塊,然后連接MySQL數(shù)據(jù)庫(kù),編寫(xiě)一個(gè)查詢語(yǔ)句SQL,以字符串形式賦值給變量sql,調(diào)用查詢方法返回即可。
用戶通過(guò)網(wǎng)頁(yè)控制端控制舵機(jī)和小車(chē)移動(dòng),按下小車(chē)對(duì)應(yīng)行進(jìn)按鍵后小車(chē)可進(jìn)行前進(jìn),后退,左轉(zhuǎn),右轉(zhuǎn)的操作。按下舵機(jī)對(duì)應(yīng)移動(dòng)按鍵后,舵機(jī)可以進(jìn)行上下左右每次15°的移動(dòng),理論移動(dòng)范圍在上下180°,左右180°,但因?qū)嶋H角度和給定數(shù)值非線性關(guān)系,角度范圍較小。
攝像頭固定在舵機(jī)上,隨舵機(jī)移動(dòng)變換拍攝角度。攝像頭可以實(shí)時(shí)拍攝周邊情況,并進(jìn)行圖像接收傳輸。直接打開(kāi)網(wǎng)址http//樹(shù)莓派IP+8081即可觀看到攝像頭拍攝的圖像信息。
圖7 網(wǎng)頁(yè)控制圖
傳感器模塊中,液化氣、可燃?xì)?、溫濕度這三個(gè)傳感器可檢測(cè)小車(chē)附近環(huán)境中液化氣、可燃?xì)夂蜏貪穸鹊臄?shù)值。但是由于檢測(cè)環(huán)境液化氣和可燃?xì)鉂舛葮O低,數(shù)據(jù)基本為零,所以我們利用打火機(jī),放置在傳感器附近,便可以檢測(cè)出液化氣和可燃?xì)獾臐舛?。?shù)莓派抓取傳感器的數(shù)據(jù)存儲(chǔ),并且傳輸?shù)桨⒗镌破脚_(tái)的數(shù)據(jù)庫(kù),通過(guò)編寫(xiě)的網(wǎng)頁(yè)連接數(shù)據(jù)庫(kù),可以在網(wǎng)頁(yè)顯示檢測(cè)的數(shù)據(jù)信息。由此在網(wǎng)頁(yè)和云平臺(tái)都可以看到所測(cè)數(shù)據(jù)。
圖8 數(shù)據(jù)測(cè)試圖
本文主要介紹了基于樹(shù)莓派的交互式WiFi控制小車(chē)。用戶在手機(jī)或者電腦上通過(guò)網(wǎng)頁(yè)按下指令鍵,用戶發(fā)送的信號(hào)被樹(shù)莓派接收并轉(zhuǎn)化為指令傳送給小車(chē)和舵機(jī),從而進(jìn)行對(duì)應(yīng)的前后(上下)左右移動(dòng)。攝像頭隨舵機(jī)轉(zhuǎn)變角度,實(shí)時(shí)傳輸圖像信息,我們可輸入網(wǎng)址直接觀看到。同時(shí),傳感器一直探測(cè)液化氣,可燃?xì)夂蜏貪穸鹊臄?shù)據(jù)信息,被樹(shù)莓派抓取并傳送至阿里云平臺(tái)的數(shù)據(jù)庫(kù),網(wǎng)頁(yè)連接數(shù)據(jù)庫(kù)顯示探測(cè)的數(shù)據(jù)信息。用戶操控小車(chē)行進(jìn)方向,在網(wǎng)頁(yè)端觀看到實(shí)時(shí)圖像視頻,可根據(jù)實(shí)況改變角度觀察全方位道路情況,實(shí)現(xiàn)小車(chē)道路監(jiān)控。還可以觀察傳輸顯示的數(shù)據(jù),實(shí)現(xiàn)小車(chē)道路探測(cè)。