,,
(陜西工業(yè)職業(yè)技術(shù)學(xué)院 電氣工程學(xué)院,咸陽 712000)
人們從外界接收的各種信息中80%以上都是通過視覺獲取的,所以網(wǎng)絡(luò)技術(shù)和多媒體技術(shù)發(fā)展以來,視頻技術(shù)尤其是視頻監(jiān)控技術(shù)愈來愈成為人們關(guān)注的熱點(diǎn)技術(shù)之一。在視頻監(jiān)控技術(shù)中,融合現(xiàn)今發(fā)展迅猛的嵌入式技術(shù)、4G無線通信技術(shù)以及云技術(shù)設(shè)計(jì)的遠(yuǎn)程無線視頻監(jiān)控系統(tǒng),具有監(jiān)控范圍更廣、監(jiān)控形式更靈活、監(jiān)控畫面更清晰等特點(diǎn),能滿足用戶在任何時(shí)間、任何地點(diǎn)通過手機(jī)或電腦方便實(shí)現(xiàn)對特定區(qū)域進(jìn)行視頻監(jiān)控的需求,可以廣泛應(yīng)用于醫(yī)療、安防、教育、家居等眾多領(lǐng)域,為人們的生活保駕護(hù)航。
為了對監(jiān)測區(qū)域進(jìn)行遠(yuǎn)程、實(shí)時(shí)監(jiān)控,所設(shè)計(jì)的視頻監(jiān)控系統(tǒng)由視頻處理前端、3G/4G、Interntet網(wǎng)絡(luò)、云服務(wù)器和用戶幾部分組成,系統(tǒng)組網(wǎng)框圖如圖1所示。其中,視頻處理前端由視頻圖像采集模塊、嵌入式微處理器和4G無線通信模塊構(gòu)成,完成對監(jiān)測區(qū)域視頻圖像的采集和處理,并經(jīng)由4G無線通信模塊實(shí)現(xiàn)視頻監(jiān)控系統(tǒng)與移動(dòng)網(wǎng)絡(luò)到互聯(lián)網(wǎng)的連接,通過該連接形成的通路完成視頻監(jiān)控圖像的遠(yuǎn)程傳輸。為了使處于移動(dòng)網(wǎng)絡(luò)的智能手機(jī)終端用戶或Internet網(wǎng)絡(luò)的PC機(jī)用戶能夠觀看監(jiān)測區(qū)域的實(shí)時(shí)畫面,需要利用一臺(tái)位于公網(wǎng)的阿里云服務(wù)器進(jìn)行中轉(zhuǎn),用戶通過訪問阿里云的Web服務(wù)器即可在線觀看監(jiān)控區(qū)域的實(shí)時(shí)視頻。
圖1 系統(tǒng)組網(wǎng)框圖
圖2 系統(tǒng)硬件結(jié)構(gòu)框圖
視頻監(jiān)控系統(tǒng)的硬件包括嵌入式微處理器、視頻圖像采集模塊和4G無線通信模塊三部分。嵌入式微處理器是視頻監(jiān)控系統(tǒng)的核心部分,一方面管理視頻圖像采集模塊對視頻圖像數(shù)據(jù)進(jìn)行采集,另一方面管理4G無線通信模塊實(shí)現(xiàn)無線網(wǎng)絡(luò)通信。本文設(shè)計(jì)的視頻監(jiān)控系統(tǒng)以樹莓派3代B型作為嵌入式開發(fā)平臺(tái)進(jìn)行系統(tǒng)設(shè)計(jì),分別通過USB接口連接視頻圖像采集模塊,通過串口與4G無線通信模塊進(jìn)行通信。系統(tǒng)硬件結(jié)構(gòu)框圖如圖2所示。
樹莓派是一款信用卡大小的小型電腦,支持Linux操作系統(tǒng),接口豐富,功能強(qiáng)大,價(jià)格低廉,可靠性高,擴(kuò)展方便,開放性好,成為開源硬件領(lǐng)域中較為高階的硬件產(chǎn)品[1]而備受歡迎。樹莓派3代B型使用Broadcom BCM2837作為其系統(tǒng)芯片,運(yùn)行頻率為1.2 GHz,采用64位4核ARM Cortex-A53作為CPU中央處理器,具有1 GB的RAM存儲(chǔ)器,直接板載802.11n無線局域網(wǎng)和藍(lán)牙4.1。在接口方面,樹莓派3代B型擁有4個(gè)USB2.0接口,1個(gè)40針的GPIO接口,1個(gè)10/100M以太網(wǎng)口,以及MicroSD卡插槽和音視頻接口等,整塊硬件具有集成度高、運(yùn)行速度快、性能優(yōu)良、外設(shè)豐富、二次開發(fā)方便等優(yōu)點(diǎn)[2]。
視頻監(jiān)控系統(tǒng)中的視頻圖像采集模塊直接使用了免驅(qū)動(dòng)的羅技高清攝像頭C270,攝像頭像素300萬,USB2.0接口,自動(dòng)對焦,內(nèi)置麥克風(fēng),每秒最大傳輸30幀圖像,默認(rèn)的圖像輸出格式為壓縮的MJPEG格式。該款攝像頭性價(jià)比較高,與嵌入式系統(tǒng)的兼容性強(qiáng),它將視頻圖像的壓縮在攝像頭模塊內(nèi)進(jìn)行,這樣可以減少USB接口的帶寬壓力,也可降低核心處理器的數(shù)據(jù)處理能力。
4G無線通信模塊選用的是SIMCom公司的SIM7100C 4G LTE產(chǎn)品,有87個(gè)引腳,正常通信需要適配SIM卡,移動(dòng)、聯(lián)通、電信SIM卡均支持,本監(jiān)控系統(tǒng)選用了電信的SIM卡。 4G無線通信模塊通過71和68引腳與樹莓派處理器進(jìn)行數(shù)據(jù)通信。59和82引腳連接兩個(gè)4G全頻天線,54引腳連接運(yùn)行模式指示燈,51引腳連接網(wǎng)絡(luò)狀態(tài)指示燈,4引腳連接復(fù)位電路,17~20引腳連接USIM卡座。SIM7100C電路連接示意圖如圖3所示。
圖3 SIM7100C電路連接示意圖
軟件設(shè)計(jì)是實(shí)現(xiàn)視頻監(jiān)控系統(tǒng)功能的靈魂,包括搭建軟件開發(fā)環(huán)境,搭建流媒體服務(wù)器進(jìn)行視頻圖像采集與傳輸,4G LTE網(wǎng)絡(luò)連接以及云服務(wù)器設(shè)置。本系統(tǒng)的主控制器基于ARM Cortex-A53,樹莓派官方網(wǎng)站提供了Raspbian Linux操作系統(tǒng),這是一款以Debian操作系統(tǒng)為基礎(chǔ),根據(jù)樹莓派硬件平臺(tái)定制的操作系統(tǒng),具有豐富的開源軟件包,安裝簡單、易操作,此處不再贅述。
流媒體是指以流方式在網(wǎng)絡(luò)中傳送音視頻和多媒體文件的媒體形式。相對于下載后觀看的網(wǎng)絡(luò)播放形式,流媒體的典型特征是把連續(xù)的音視頻信息壓縮后放到網(wǎng)絡(luò)服務(wù)器上,用戶可以邊下載邊觀看,而不必等待整個(gè)文件下載完畢。由于流媒體技術(shù)的優(yōu)越性而廣泛應(yīng)用于視頻會(huì)議、遠(yuǎn)程教育、遠(yuǎn)程醫(yī)療和在線直播系統(tǒng)中。流媒體技術(shù)的實(shí)現(xiàn)需要流媒體服務(wù)器軟件支持,用于對流媒體內(nèi)容進(jìn)行采集、緩存、調(diào)度和傳輸播放。本監(jiān)控系統(tǒng)選擇了一款基于Linux操作系統(tǒng)的輕量級開源視頻服務(wù)器mjpg-streamer,它可以從USB攝像頭采集視頻圖像,并以流的形式通過基于IP的網(wǎng)絡(luò)傳輸?shù)礁鞣N類型的瀏覽器上[3]。
樹莓派上搭建mjpg-streamer服務(wù)器并捕獲USB攝像頭視頻圖像到Web瀏覽器的過程如下:
① 在Raspberry Pi上使用git下載mjpg-streamer的源代碼到樹莓派系統(tǒng)某個(gè)目錄,解壓(下載網(wǎng)址為https://github.com/jacksonliam/mjpg-streamer);
② 通過sudo apt-get install安裝cmake(編譯用)和支持庫libjpeg8-dev;
③ 進(jìn)入mjpg-streamer-experimental底層目錄,進(jìn)行完全編譯:Make clean all;
④ 通過./ mjpg_streamer-i"./plugins/input_uvc/input_uvc.so-f5-r120x160"-o"./plugins/output_http/output_http.so -w/www命令啟動(dòng)視頻流媒體服務(wù)器;
⑤ 通過電腦訪問Raspberry Pi的IP地址即可查看視頻圖像(http:// RaspberryPi IP:8080)。
在啟動(dòng)流媒體服務(wù)器中用到了兩個(gè)非常重要的組件input_uvc.so和output_http.so。input_uvc.so是輸入組件,通過調(diào)用V4L2(Video for Linux two)的接口函數(shù)完成USB攝像頭的初始化以及視頻數(shù)據(jù)采集,流程圖如圖4所示。input_uvc.so組件從攝像頭讀取視頻數(shù)據(jù),同時(shí)將視頻圖片壓縮為JPEG格式,然后將視頻數(shù)據(jù)復(fù)制到內(nèi)存中。output_http.so是輸出組件,是一個(gè)完全符合http標(biāo)準(zhǔn)的Web服務(wù)器,它將輸入組件壓縮為JPEG格式的圖片,根據(jù)現(xiàn)有MJPEG標(biāo)準(zhǔn)以http視頻數(shù)據(jù)流的形式輸出。用戶可以通過Web瀏覽器打開網(wǎng)頁查看視頻圖像信息[4]。
圖4 視頻圖像采集流程圖
4G無線通信模塊SIM7100C的主要功能是實(shí)現(xiàn)視頻監(jiān)控系統(tǒng)與3G/4G移動(dòng)網(wǎng)絡(luò)的連接,通過該連接形成的通路完成視頻監(jiān)控圖像的遠(yuǎn)程傳輸。SIM7100C通過樹莓派擴(kuò)展口的串口進(jìn)行連接,通過對Linux上的PPP撥號軟件進(jìn)行相關(guān)設(shè)置實(shí)現(xiàn)SIM卡與3G/4G移動(dòng)網(wǎng)絡(luò)的連接。PPP撥號軟件的設(shè)置流程如下:聯(lián)網(wǎng)下載并安裝PPP撥號軟件包,然后下載fona配置文件到etc/ppp/peers目錄下,接著修改fona這個(gè)撥號配置文件,將波特率改為921 600,端口文件改為/dev/ttyAMA0,該設(shè)備文件為4G無線通信模塊虛擬出的撥號串口,再將網(wǎng)絡(luò)接入點(diǎn)設(shè)置為中國移動(dòng):connect"/usr/sbin/chat-v-f/etc/chatscripts/ gprs-T cmnet,最后就可以通過撥號指令撥號。撥號成功后表示4G 無線數(shù)據(jù)通信網(wǎng)絡(luò)連接成功,隨后即可進(jìn)行網(wǎng)速測試、數(shù)據(jù)的http下載及FTP上傳測試。
位于公網(wǎng)的用戶是無法在線觀看私有監(jiān)控設(shè)備提供的監(jiān)控畫面的,為此在進(jìn)行視頻監(jiān)控系統(tǒng)設(shè)計(jì)過程中租用了一臺(tái)位于公網(wǎng)的阿里云服務(wù)器進(jìn)行中轉(zhuǎn),實(shí)質(zhì)是在阿里云服務(wù)器上搭建了一個(gè)反向代理服務(wù)器Nginx,該代理服務(wù)器接收公網(wǎng)上的用戶請求后,將其轉(zhuǎn)發(fā)給私網(wǎng)的視頻監(jiān)控系統(tǒng),并將從監(jiān)控系統(tǒng)上得到的視頻圖像返回給公網(wǎng)上的客戶端。在阿里云服務(wù)器上部署反向代理服務(wù)器Nginx,通過SSH隧道技術(shù)解決公網(wǎng)用戶訪問私網(wǎng)設(shè)備資源的問題。反向代理原理框圖如圖5所示[5]。
圖5 反向代理原理框圖
系統(tǒng)通過密碼登錄阿里云服務(wù)器進(jìn)行Nginx反向代理服務(wù)器的安裝及配置。云服務(wù)器對公網(wǎng)用戶提供9090端口以供訪問,對視頻監(jiān)控系統(tǒng)提供12345端口以供使用,同時(shí)在樹莓派開發(fā)平臺(tái)上利用SSH隧道技術(shù)建立一條反向隧道,將云服務(wù)器側(cè)的12345端口和樹莓派側(cè)的8080端口連接起來,這樣當(dāng)遠(yuǎn)端的公網(wǎng)用戶或移動(dòng)設(shè)備用戶訪問云服務(wù)器IP的9090端口時(shí),請求數(shù)據(jù)經(jīng)過云服務(wù)器的12345端口轉(zhuǎn)發(fā)到樹莓派平臺(tái)的8080端口,從而完成了公網(wǎng)設(shè)備和私網(wǎng)設(shè)備之間的間接通信。
系統(tǒng)整體設(shè)計(jì)完成后,給系統(tǒng)上電,等系統(tǒng)運(yùn)行狀態(tài)正常后進(jìn)行全自動(dòng)運(yùn)行測試,通過聯(lián)網(wǎng)的手機(jī)或電腦在瀏覽器中輸入地址http://121.40.125.14:9090/stream.html,測試結(jié)果如圖6所示。其中,121.40.125.14是云服務(wù)器的IP地址,9090端口是云服務(wù)器對公網(wǎng)側(cè)訪問的端口,圖6表示位于3G/4G移動(dòng)網(wǎng)絡(luò)的移動(dòng)終端用戶或公網(wǎng)側(cè)的PC機(jī)用戶通過訪問阿里云的Web服務(wù)器,實(shí)際上是在瀏覽樹莓派上mjpg-streamer流媒體服務(wù)器所提供的在線視頻服務(wù),看到的視頻圖像清晰,延時(shí)較小,監(jiān)控系統(tǒng)性能良好。
圖6 系統(tǒng)全自動(dòng)運(yùn)行測試