如上圖所示,本文從以下幾個維度對物聯網常見的幾種協議進行闡述。
一、按網絡四層協議分類:
NB-IoT,LORA,WIFI,藍牙,zigbee,4G都是需要硬件支撐的。
MQTT,COAP,HTTP都是應用層協議,需要連接服務器,現在有很多物聯網平臺,比如阿里云,騰訊云,華為云等等。
所以(MQTT,COAP,HTTP)是居于(NB-IoT,LORA,WIFI,藍牙,zigbee,4G)的上層協議物理層中。
二、按需要網關來分類:
不需要網關:NB-IoT,2G/4G/5G(芯片可以直接跟運營商:移動,聯通,電信等運營商網絡通信。)
需要網關:LORA,WIFI,zigbee(不能直接連上電信運營商,需要通過一個網關中轉才能連接網絡。)
藍牙設備之間可以通信。
三、NB-IoT,4G對比:
NB-IoT低功耗,傳輸小數據,傳輸速度底,芯片模組和套餐便宜。目前NB基站還較少,不過華為在大力推這個通信方式,相信以后會普及。
2G/4G/5G:傳輸速度快和可以傳輸大的數據,但是功耗高,價格貴
WIFI和zigbee對比:
wifi 功耗高,傳輸速率大11-54Mbps,功耗高10-50mA,距離短20-50m。一個路由只能加入較少設備。
zigbee功耗低,傳輸數據慢100Kbps,功耗20mA,可以中繼,距離遠幾百到幾千米。一個zigbee網關可以加入成千上萬的zigbee設備。
四、應用層協議:MQTT和COAP對比
1. MQTT
mqtt 是一個基于客戶端-服務器的消息發布/訂閱傳輸協議。MQTT協議是輕量、簡單、開放和易于實現的,這些特點使它適用范圍非常廣泛。
是非常輕量化的通信協議,開銷很小(固定頭部2字節),是訂閱/發布通信方式,可以一對多,多對一。是TCP通信協議。有三種方式,至多一次:
最多一次:保證盡力交付,
至少一次:保證消息至少傳送一次。但是消息也可以不止一次傳遞。
只有一次:保證每個消息只被對方接收一次。
在很多情況下,包括受限的環境中,如:機器與機器(M2M)通信和物聯網(IoT)、衛星鏈路通信傳感器、偶爾撥號的醫療設備、智能家居、及一些小型化設備中已廣泛使用。
2. coap
COAP協議網絡傳輸層由TCP改為UDP。
基于REST,server的資源地址和互聯網一樣也有類似url的格式,客戶端同樣有POST,GET,PUT,DELETE方法來訪問server,對HTTP做了簡化。
COAP是二進制格式的,HTTP是文本格式的,COAP比HTTP更加緊湊。
輕量化,COAP最小長度僅僅4B,一個HTTP的頭都幾十個B了
支持可靠傳輸,數據重傳,塊傳輸。 確保數據可靠到達。
支持IP多播, 即可以同時向多個設備發送請求。
非長連接通信,適用于低功耗物聯網場景。
3. DDS(Data Distribution Service for Real-Time Systems),面向實時系統的數據分布服務
這是大名鼎鼎的OMG組織提出的協議,其權威性應該能證明該協議的未來應用前景。
適用范圍:分布式高可靠性、實時傳輸設備數據通信。目前DDS已經廣泛應用于國防、民航、工業控制等領域。
特點:
以數據為中心
使用無代理的發布/訂閱消息模式,點對點、點對多、多對多
提供多大21種QoS服務質量策略
協議主要實現:
OpenDDS 是一個開源的 C++ 實現
OpenSplice DDS
4. XMPP
XMPP是基于XML的協議,由于其開放性和易用性,在互聯網及時通訊應用中運用廣泛。相對HTTP,XMPP在通訊的業務流程上是更適合物聯網系統的,開發者不用花太多心思去解決設備通訊時的業務通訊流程,相對開發成本會更低。但是HTTP協議中的安全性以及計算資源消耗的硬傷并沒有得到本質的解決。在設計時都是根據互聯網應用場景設計的,但是個協議的通病就是根本無法適用物聯網設備的多樣性,無法適用很多物聯網設備對低功耗、低成本的需求,難以在極低資源的物聯網設備中運用。
5. HTTP協議
HTTP協議是典型的CS通訊模式,由客戶端主動發起連接,向服務器請求XML或JSON數據。該協議最早是為了適用web瀏覽器的上網瀏覽場景和設計的,目前在PC、手機、pad等終端上都應用廣泛。
缺點是:
開銷大,消息頭大
HTTP通信方式問題,HTTP的請求/應答方式的會話都是客戶端發起的
安全性差
-
藍牙
+關注
關注
114文章
5767瀏覽量
169817 -
物聯網
+關注
關注
2903文章
44275瀏覽量
371267 -
WIFI
+關注
關注
81文章
5287瀏覽量
203291
發布評論請先 登錄
相關推薦
評論