劉文浩+劉一鐘
摘 要:基于樹莓派的移動監(jiān)控系統(tǒng)依靠局域網(wǎng),通過WIFI與手機(jī)連接,使圖像信息與指令可以相互傳輸。通過智能手機(jī)對機(jī)器人下達(dá)指令,以及接收來自機(jī)器人的圖像信息。該機(jī)器人既可以用于家庭小范圍監(jiān)控,又可以廣泛用于機(jī)器人行業(yè)中。相比傳統(tǒng)的監(jiān)控設(shè)備而言,不用鋪設(shè)線路,設(shè)備安裝簡單,可移動、可固定,靈活性高,監(jiān)控方式多樣。
關(guān)鍵詞:物聯(lián)網(wǎng);圖像回傳;Android開發(fā);
由西北民族大學(xué)電氣工程學(xué)院"雙E"項目資助(項目編號:20161826)
0 引言
隨著網(wǎng)絡(luò)和圖像采集技術(shù)的不斷發(fā)展與成熟,網(wǎng)絡(luò)視頻監(jiān)控系統(tǒng)在公共安防、家庭防盜、危險環(huán)境遠(yuǎn)程監(jiān)控等領(lǐng)域發(fā)揮著越來越重要的作用。傳統(tǒng)的視頻監(jiān)控大多采用有線網(wǎng)絡(luò),包括前端攝像機(jī)、傳輸線纜、視頻監(jiān)控平臺,導(dǎo)致網(wǎng)絡(luò)布線復(fù)雜、造價高,而免付費的無線網(wǎng)絡(luò)傳輸數(shù)據(jù)量少,不適合傳輸圖像信號,而且監(jiān)控范圍有限,檢修更加困難。
傳統(tǒng)意義的監(jiān)控主要存在以下不足:需配備大量的人力、物力現(xiàn)場布線復(fù)雜,設(shè)備靈活性差、工作效率低下,人員往返頻繁、現(xiàn)場情況反饋不夠及時準(zhǔn)確,指揮人員難于快速決策、設(shè)備費用高,維修不便、無法直接上傳到管理人員辦公桌電腦熒屏上,更不可能上傳到管理人員手機(jī)上。
本文設(shè)計的移動監(jiān)控系統(tǒng)只需要搭建局域網(wǎng),就可以使用,避免了傳統(tǒng)的監(jiān)控系統(tǒng)中的鋪設(shè)線路問題,從而減少了該設(shè)備的使用成本。機(jī)器人可以靈活地移動,這就使我們的監(jiān)控的地點不僅僅固定地監(jiān)控一處位置,極大地擴(kuò)大了監(jiān)控范圍。當(dāng)今社會智能手機(jī)已經(jīng)實現(xiàn)了基本的普及,幾乎人手一部智能手機(jī),而且手機(jī)市場中的大部分依然是安卓手機(jī)。我們的機(jī)器人通過手機(jī)來控制,操作簡單易懂,更加適用廣大消費者。
1、移動監(jiān)控系統(tǒng)的系統(tǒng)方案以及組成結(jié)構(gòu)
1.1系統(tǒng)方案
該項目以選用了Raspberry Pi(樹莓派)板卡為核心控制器,通過計算機(jī)網(wǎng)絡(luò)中最常用的通信協(xié)議—TCP傳輸協(xié)議的開發(fā)流程和框架,通過無線路由器進(jìn)行視頻流的訪問和小車進(jìn)行驅(qū)動,也就是向支持wifi的上位機(jī)終端實時傳送圖像信息,遠(yuǎn)處的監(jiān)控人員根據(jù)小車采集的圖像信息,了解監(jiān)控現(xiàn)場的實時信息,并可以通過APP控制小車的前進(jìn)、后退、轉(zhuǎn)向等運動,進(jìn)一步掌握監(jiān)控人員想要獲取的信息。系統(tǒng)方案如圖1所示.
1.2組成結(jié)構(gòu)
硬件設(shè)計主要由四部分構(gòu)成,電機(jī)驅(qū)動模塊、樹莓派3攝像頭 Camera V2、DXW90舵機(jī)、樹莓派主板。系統(tǒng)整體結(jié)構(gòu)框圖如下圖2所示。
從圖中,樹莓派主板控制了電機(jī)驅(qū)動模塊、Camera V2攝像頭、DXW90舵機(jī)三個模塊。攝像頭通過自身的小插片與樹莓派表面上的插槽直接連接。舵機(jī)和電機(jī)驅(qū)動模塊以及樹莓派主板直接通過IO口連接。
2、移動監(jiān)控系統(tǒng)的硬件CPU選擇
樹莓派是為學(xué)習(xí)計算機(jī)編程而設(shè)計的,其系統(tǒng)基于Linux。樹莓派具有普通PC機(jī)的所有基本功能,能夠滿足項目的需求。樹莓派三代帶無線網(wǎng)卡,并且配置簡單,傳輸速度快。樹莓派內(nèi)擁有集成的攝像頭接口,便于與攝像頭連接??紤]到整個系統(tǒng)的設(shè)計環(huán)境、設(shè)計所需時間和學(xué)習(xí)價值,最終選擇樹莓派主板作為本次設(shè)計的硬件CPU。
3、移動監(jiān)控系統(tǒng)的軟件設(shè)計
本文設(shè)計的移動監(jiān)控系統(tǒng)是通過手機(jī)APP來控制機(jī)器人的,手機(jī)APP的通信原理是用網(wǎng)絡(luò)傳輸中常見的Socket通信。手機(jī)與機(jī)器人連入一個局域網(wǎng)內(nèi),這時路由器會分配出IP地址給手機(jī)與機(jī)器人。IP地址是隨機(jī)分配的,我們可以通過預(yù)先設(shè)置進(jìn)行IP地址,將IP地址固定地分配給機(jī)器人與手機(jī)端。這樣就為我們隨后的通信創(chuàng)造了條件。機(jī)器人的主控樹莓派先運行Socket監(jiān)聽端口的程序,監(jiān)聽來自8080端口的信息。隨后手機(jī)APP發(fā)送指令,該信息通過路由器完成中轉(zhuǎn),使信息根據(jù)機(jī)器人的IP地址定向發(fā)送到機(jī)器人的8080端口,使機(jī)器人接收到信息,來完成指令的實現(xiàn),該設(shè)計的系統(tǒng)網(wǎng)絡(luò)圖如圖3所示。
4、基于MJPG-Streamer和Android的圖像回傳功能的實現(xiàn)原理
本文中的移動監(jiān)控系統(tǒng)是利用MJPG-Streamer技術(shù)實現(xiàn)的。MJPG-Streamer是用于從攝像頭采集圖像,把它們以流的形式通過基于IP的網(wǎng)絡(luò)傳輸?shù)綖g覽器,這樣就可以在電腦等其他擁有瀏覽器的移動端的平臺上觀看機(jī)器人捕獲的視頻。為了能使視頻能夠在手機(jī)端上進(jìn)行觀看,APP設(shè)計上采用了WebView控件 。Android WebView在Android平臺上是一個特殊的View, 他能用來顯示網(wǎng)頁,這個類可以被用來在你的app中僅僅顯示一張在線的網(wǎng)頁,還可以用來開發(fā)瀏覽器。WebView內(nèi)部實現(xiàn)是采用渲染引擎來展示View的內(nèi)容,本文中的APP利用此空間來顯示視頻內(nèi)容,更為方便快捷。
結(jié)語
本文介紹通過Socket與MJPG-Streamer技術(shù)實現(xiàn)的監(jiān)控系統(tǒng),并在嵌入式平臺上成功實現(xiàn),驗證了設(shè)計合理性。本項目采用包含了人和物以及物與物之間通信的物聯(lián)網(wǎng)的設(shè)計思想,對于物聯(lián)網(wǎng)開發(fā)具有一定的參考意義。項目中傳輸部分仍需進(jìn)一步完善,從而提高數(shù)據(jù)傳輸速度,甚至通過將視頻流通過服務(wù)器作為中轉(zhuǎn)站,來使設(shè)備可通過外網(wǎng)傳輸。通過不斷地改進(jìn),來使圖像接收速度更加快,從而使圖像回傳技術(shù)更加成熟。
參考文獻(xiàn):
[1]李揚.WiFi技術(shù)原理及應(yīng)用[J].科技信息,2010,24(2):59-61.
[2]潘凱華,鄒天思.PHP開發(fā)實戰(zhàn)寶典[M].北京:清華大學(xué)出版社,2010.
[3]柯博文.樹莓派實戰(zhàn)指南[M].北京:清華大學(xué)出版社,2015.
[4]Matt Richardson / Shawn Wallace . 愛上Raspberry Pi 科學(xué)出版社
[5]余志龍 . Google Android SDK開發(fā)范例大全 人民出版社