常見的網絡通信與傳輸協議【1】

wifi基礎網絡

    智能設備往往提供了內置硬件以支持無線,有線數據傳輸功能可藉助USB接線實現,但往貨受限於USB最大傳輸距離(標準最大距離爲5米),而Wi-Fi和藍牙可W輕鬆實現10米內的數據傳輸,室內應用縛縛有餘,而且無線也去除了室內佈線的繁瑣,因此我們優先考慮無線傳輸數據。在藍牙和wifi兩種無線網絡標準中我們選擇了後者,主要基於W下考慮:

    首先,Wi-Fi具有相對比較大的數據吞吐量。應用場景中的數據頻率比較高44100hz。即便以本平臺採用的參數來看,單個傳感器採集的數據就達到了128Kb/s,四個以上傳感器就將至少有512Kb/s,對於藍牙2.0+ED民(實測速度爲280KB/S)以下設備將無法滿足帶寬需求。另外藍牙在低功耗模式下帶寬也會大幅度減小,這會加劇帶寬的不足。

     其次,網絡己經普及,且與以太網兼容。採集數據可以直接傳送到現有的以太網基礎設施,而不需要通過藍牙設備節點進行轉發,在硬件設施選擇上可以更加靈活。

     最後,Wi-巧網絡支持TCP協議,因此可W在此基礎之上使用MQTT網絡協議,方便網絡傳輸應用的設計,

MQTT訪議

       消息隊列遙測傳輸(MQTT)是一個輕量級的消息傳輸協議,由OASIS進行了標準化。該協議適用於機器端到端通訊(M2M)以及物聯網這些網絡不穩定、帶寬受限以及代碼封裝空間有限的場景。它構建在TCP協議巧的基礎上,因此兼容目前的W太網基礎設施。MQTT己經在遠程醫療、智能家居、家庭護理等領域得到應用。

       與目前被廣泛應用的HTTP協議相比,MQTT的W下特點決定了它更適合作爲傳感器數據傳輸的應用層協議:

a)面向字節數據傳輸,而HTTP是面向文本傳輸的,處理不夠方便

b)採用發佈/訂閱模式,而HTTP是請求/應笞模式,不太適合傳感器主動發佈數據的模式。

C)報文頭僅僅兩個字節,遠小於基於字符的HTTP報文頭,節省傳輸流量。

d)數據分發可W—對零、一對一W及一對多,而HTTP只能一對一。

e)具有王種服務質量(QoS):只發送一次、至少發送一次和至多發送一次,而HTTP只支持統一服務質量。

f)支持用戶認證,具有更好的安全性。

g)覆蓋常見嵌入式設備開發語言的開源庫,易於編程實現。對於本平臺,採用MQTT作爲頂層網絡協議帶來的最大的好處是降低了傳輸流量,同時對數據傳輸的質量有更精確的控制。另外,發佈訂閱方式可W降低採集端和上位機在程序上的賴合,提供更大的靈活性。

MQTT需要設立Broker服務器,作爲客戶端與客戶端之間發佈訂閱數據的中介。數據發佈者需要將消息發佈到指定的主題,訂閱者則需要訂閱相應主題W獲得數據推送。MQTT的主題實質就是由反斜槓劃分層級的UTF-8字符牽,並且支持單層或多層通配符匹配。本平臺下采集端的音頻數據發佈到audio/record/<cHentID>,其中<clientID>爲自動提取或指定的採集終端設備瓜字符串,訂閱所有音頻數據可W通過訂閱頻道audio/record/+實現;控制採集開始和結宋的指令發佈到audio/control。

     但是爲了防止個別數據包出現故障導致反覆重傳,需要將MQTT協議的QoS設置爲0,即數據包至多隻傳一次。在網絡順暢的情況下,所有數據包都應該能無遺漏地上傳到服務器。如果網絡出現丟包的現象,採集終端也不會反覆重傳同一個數據包,而是保證當前時刻數據包得到及時上傳,這樣的設置增強了數據傳輸的實時性,也提升了定位算法的穩定性。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章