曹鉑瀟 黃煜峰 趙榮飛 孫俊華 程慧楠 丁奕 飛?
摘 要:視頻傳輸應(yīng)用場景是物聯(lián)網(wǎng)中的一環(huán),該文研究音視頻傳輸在物聯(lián)網(wǎng)中的應(yīng)用。將WebRTC部署至樹莓派中,調(diào)用樹莓派的音視頻硬件擴展模擬物聯(lián)網(wǎng)中的音視頻采集與傳輸。通過以樹莓派為模擬對象可將模式拓展至其他應(yīng)用中或者利用樹莓派的高擴展性實現(xiàn)多種場景音視頻信息交互。
關(guān)鍵詞:物聯(lián)網(wǎng);P2P;樹莓派;WebRTC;高擴展性;信息交互
中圖分類號:TP242 文獻標識碼:A 文章編號:2095-1302(2019)06-00-03
0 引 言
在現(xiàn)今的生活中,物聯(lián)網(wǎng)的應(yīng)用越來越多,智能化的物聯(lián)網(wǎng)產(chǎn)物越來越深入人們的生活。而在應(yīng)用的過程中,傳輸?shù)陌踩?、傳輸?shù)姆绞揭驳玫搅税l(fā)展。物聯(lián)網(wǎng)(IoT)的概念是美國麻省理工學(xué)院(MIT)在1999年提出,而在2008年底,在IBM向美國政府提出“智慧地球”戰(zhàn)略后,物聯(lián)網(wǎng)很快引起了許多國家的高度關(guān)注[1]。這種旨在使萬事萬物皆可互聯(lián)互通的概念讓世界信息產(chǎn)業(yè)獲得了又一次浪潮。
P2P(Peer-to-Peer)網(wǎng)絡(luò)結(jié)構(gòu)是一種端到端的網(wǎng)絡(luò)互聯(lián)結(jié)構(gòu),這種去中心化的網(wǎng)絡(luò)架構(gòu)在現(xiàn)今物聯(lián)網(wǎng)應(yīng)用中的優(yōu)勢十分明顯。以即時通信為例:利用P2P網(wǎng)絡(luò)架構(gòu)在物聯(lián)網(wǎng)中使用視頻與語音通信的方式,延時小、可靠性高、安全性高。
將這兩種技術(shù)特點綜合到一起應(yīng)用至樹莓派中以音視頻傳輸場景為原型形成人與物之間的通信交流。物聯(lián)網(wǎng)作為互聯(lián)網(wǎng)中的延伸可以應(yīng)用在多種設(shè)備中實現(xiàn)數(shù)據(jù)的傳輸與交換,P2P技術(shù)旨在實現(xiàn)端到端的網(wǎng)絡(luò)通信,后者應(yīng)用在前者中可以實現(xiàn)更好的應(yīng)用功能。
1 物聯(lián)網(wǎng)的概念與特點
根據(jù)物聯(lián)網(wǎng)的概念,大家可以把它想象成萬物之間溝通的橋梁。物聯(lián)網(wǎng)是建立在互聯(lián)網(wǎng)基礎(chǔ)上并不斷延伸和擴展的網(wǎng)絡(luò),即用戶端延伸和擴展到了任何現(xiàn)實和可能的物品與物品之間,能進行實時的、準確的信息交換和通信。一些學(xué)者按照物聯(lián)網(wǎng)的服務(wù)流程及各子系統(tǒng)所實現(xiàn)的主要功能將整個系統(tǒng)分為感知、傳輸、處理三個主要環(huán)節(jié),據(jù)此將物聯(lián)網(wǎng)網(wǎng)絡(luò)架構(gòu)分為感知層、網(wǎng)絡(luò)層和應(yīng)用層[2]。國際電信聯(lián)盟(ITU-T)定義了IoT通用參考模型,該模型由設(shè)備層、網(wǎng)絡(luò)層、應(yīng)用層及與之相關(guān)的管理和安全構(gòu)成。設(shè)備層用以識別、采集、捕獲,網(wǎng)絡(luò)層依賴各類網(wǎng)絡(luò)的相關(guān)控制與傳送,連接業(yè)務(wù)支持和應(yīng)用支持層。圖1為物聯(lián)網(wǎng)參考構(gòu)架圖[3]。
本文把物聯(lián)網(wǎng)的應(yīng)用過程總結(jié)為兩個字—隨時。為什么說是“隨時”呢?從概念上看,物聯(lián)網(wǎng)主要實現(xiàn)物與物、人與物之間的關(guān)系。從結(jié)構(gòu)上看物聯(lián)網(wǎng)的三種層次都圍繞采集、識別和捕獲。這些都需要隨時使用,實現(xiàn)物與物、人與物的隨時交流。
2 P2P網(wǎng)絡(luò)的概念與特點
點對點網(wǎng)絡(luò)或稱對等計算機網(wǎng)絡(luò),是一種分布式應(yīng)用程序體系結(jié)構(gòu),用于在點之間分配任務(wù)和工作負載,它是應(yīng)用層中對等計算模型形成的網(wǎng)絡(luò)或網(wǎng)絡(luò)形式。通過這個概念可以建立起如圖2所示的網(wǎng)絡(luò)拓撲圖[4]。
圖中,把每一個用戶(peer)當作一個節(jié)點,每一個節(jié)點在這個網(wǎng)絡(luò)架構(gòu)中都是地位相等的,每一個節(jié)點都是服務(wù)器(server)和用戶(user),每一個節(jié)點都是在網(wǎng)絡(luò)架構(gòu)中提供服務(wù)和內(nèi)容。兩個節(jié)點之間的消息或資源聯(lián)系不需要經(jīng)過中心服務(wù)器或其他節(jié)點,保證了即時和安全。這么做首先避免了在傳統(tǒng)網(wǎng)絡(luò)架構(gòu)中可能出現(xiàn)的性能或網(wǎng)絡(luò)帶寬瓶頸;其次,在整個網(wǎng)絡(luò)體系結(jié)構(gòu)中,不僅會有用戶對服務(wù)的需求增加,在總體上,系統(tǒng)資源和服務(wù)能力也在同步擴展,總是很容易滿足用戶的需求。所以理論上,它的擴展性幾乎可以認為是無限的。那么在整個網(wǎng)絡(luò)架構(gòu)中由于沒有中心節(jié)點的存在,當出現(xiàn)攻擊者攻擊其中一個節(jié)點時,其他節(jié)點不會因為其中一個節(jié)點的攻破而全部暴露在攻擊者面前,保證了整個網(wǎng)絡(luò)架構(gòu)的安全性[4]。在網(wǎng)絡(luò)中,當對用戶提供Web服務(wù)時,一定會遇到在訪問量高峰時段的高并發(fā)的時候,用戶請求數(shù)較多但一臺服務(wù)器(server)無法同時處理這么多請求時,一定會搭建部署負載均衡以平分大批量請求數(shù)的狀態(tài)下,用多臺服務(wù)器平分處理巨大的數(shù)據(jù)量壓力。結(jié)合P2P網(wǎng)絡(luò)拓撲結(jié)構(gòu)和定義可以形成一個網(wǎng)絡(luò)的負載均衡。
3 在現(xiàn)今網(wǎng)絡(luò)應(yīng)用環(huán)境中所需解決的通信問題
現(xiàn)今的網(wǎng)絡(luò)通信協(xié)議中,首先要研究兩種協(xié)議:UDP協(xié)議和TCP/IP協(xié)議中的通信過程和特點。其中,UDP協(xié)議中的UDT協(xié)議使安全性和可靠性大大增強;TCP/IP協(xié)議的可靠性優(yōu)勢與UDP協(xié)議對傳輸要求較高的應(yīng)用場景十分有優(yōu)勢。因其各有特點,所以它們被應(yīng)用于不同的網(wǎng)絡(luò)協(xié)議中。P2P網(wǎng)絡(luò)結(jié)構(gòu)應(yīng)用在物聯(lián)網(wǎng)中需要TCP/IP的可靠性和UDP在傳輸上的優(yōu)勢,以音視頻使用P2P架構(gòu)傳輸在物聯(lián)網(wǎng)中應(yīng)用為例,音視頻傳輸需要的傳輸性能較高,在人與物、物與物之間傳輸也需要較好的安全性。所以兩種協(xié)議各有用處。
其次,在IPv4中為緩解ip地址短缺的問題而出現(xiàn)了NAT網(wǎng)絡(luò)地址轉(zhuǎn)換技術(shù),但私網(wǎng)地址,如192等網(wǎng)段無法在公網(wǎng)上使用,需要做NAT穿透。
在P2P網(wǎng)絡(luò)中可以通過公共節(jié)點的方式獲取在內(nèi)網(wǎng)中的設(shè)備,在外網(wǎng)的IP及端口,內(nèi)網(wǎng)節(jié)點通過公共節(jié)點連接至其他節(jié)點或網(wǎng)絡(luò)(其他節(jié)點或網(wǎng)路連接至內(nèi)網(wǎng)節(jié)點)實現(xiàn)內(nèi)網(wǎng)穿透。
4 以利用WebRTC技術(shù)在樹莓派上應(yīng)用為例
WebRTC技術(shù)是一種基于瀏覽器的多媒體實時通信技術(shù)[5]。這種技術(shù)最大的特點是可在不安裝任何擴展和插件的前提下實現(xiàn)點對點的實時通信,十分適合在實時的物聯(lián)網(wǎng)視頻監(jiān)控中應(yīng)用。將WebRTC技術(shù)總體的3個部分以不同端口運行的方法部署在一臺樹莓派中進行連接測試應(yīng)用。
在樹莓派上安裝支持ARM指令集的Raspbian系統(tǒng),遠程桌面截圖如圖3所示。
安裝nginx,并設(shè)置端口為8080,如圖4所示。
配置文件nginx.conf時,在HTML內(nèi)添加如圖5所示的代碼用以解析https。
修改WebRTC信令服務(wù)器配置文件如圖6所示。重新編譯信令服務(wù)器并開啟https如圖7所示。
樹莓派上測試的攝像頭開啟標識為video0:/dec/video0 open。
視頻流上傳模塊位于樹莓派上,將獲得的視頻流進行處理并每5 s保存為一個視頻文件。在兩端連接后形成音視頻交換。在傳輸?shù)倪^程中,為了保證傳輸和通信質(zhì)量,還需要做對音頻的降噪處理。這樣在整個網(wǎng)絡(luò)中形成如圖8所示的結(jié)構(gòu)。
5 結(jié) 語
音視頻傳播在P2P網(wǎng)絡(luò)結(jié)構(gòu)中有著十分顯著的優(yōu)勢,而在物聯(lián)網(wǎng)中也能得到良好應(yīng)用,比如在溫室大棚監(jiān)控、無人機植保等應(yīng)用中有著顯著效果;無人機植保中,需要大量人力操作無人機,如把無人機當作物聯(lián)網(wǎng)中的一個節(jié)點的話,連接至一樹莓派,飛手可通過Web端或客戶端同時協(xié)助多個無人機同時作業(yè),既可以緩解現(xiàn)今無人機飛手較少,需求卻較大的問題,也可以加快物聯(lián)網(wǎng)在現(xiàn)今的推廣和普及。
參 考 文 獻
[1]葛文杰,趙春江.農(nóng)業(yè)物聯(lián)網(wǎng)研究與應(yīng)用現(xiàn)狀及發(fā)展對策研究[J].農(nóng)業(yè)機械學(xué)報,2014(7):222-230.
[2]林樂虎.我國物聯(lián)網(wǎng)產(chǎn)業(yè)發(fā)展現(xiàn)狀分析及政策措施[J].宏觀經(jīng)濟研究,2013(11):81-86.
[3]閆亞旗,周桂英,盛明哲,等.物聯(lián)網(wǎng)產(chǎn)業(yè)現(xiàn)狀與技術(shù)發(fā)展[J].信息通信技術(shù),2018,12(4):19-25.
[4]邱宜干. P2P網(wǎng)絡(luò)的特點及運行環(huán)境分析[J]. 中國管理信息化,2018(9):153-154.
[5]梁艷.基于HTML5的WebRTC技術(shù)淺析[J]. 信息通信技術(shù),2014,8(2):52-56 .
[6]王玥.基于WebRTC的實時智能視頻監(jiān)控平臺的設(shè)計與實現(xiàn)[D].北京:北京郵電大學(xué),2018.
[7]左聰.基于HTML5的點對點流媒體系統(tǒng)研究與設(shè)計[D].北京:北京郵電大學(xué),2018.
[8]張燕,汪曉紅,王晴.基于樹莓派云視頻流媒體的遠程監(jiān)控系統(tǒng)[J].單片機與嵌入式系統(tǒng)應(yīng)用,2018(11):45-47.
[9]曹陽.關(guān)于P2P對等網(wǎng)絡(luò)差異數(shù)據(jù)通信優(yōu)化的研究[J].電腦知識與技術(shù),2016,12(16):38-39.
[10]孫衛(wèi)喜,席少龍.P2P中NAT穿越問題的研究[J].計算機技術(shù)與發(fā)展,2014,24(2):242-245.