主流物聯網協議選擇:MQTT、CoAP 還是 LwM2M?

隨着物聯網技術的發展與普及,越來越多的智能設備具備了網絡連接與數據傳輸能力。由於物聯網場景複雜多樣,設備端硬件條件、網絡穩定性、流量限制、設備功耗以及設備連接數量等多方面因素造成物聯網設備的消息傳遞與傳統互聯網場景有着很大不同,也因此產生了多種物聯網通訊協議。

本文將選取幾種主流的物聯網協議,從協議的技術特性、適用場景、相對優勢以及市場情況等方面一一進行介紹,爲物聯網從業者提供參考,幫助大家在實際項目中選擇合適的物聯網協議。

協議分類

在介紹之前,我們對物聯網協議進行一個簡單分類,方便讀者理解其應用場景。

從功能角度

從功能角度來劃分,我們可以將其分爲兩大類,一類是物理層/數據鏈路層協議,一類是應用層協議

物理層/數據鏈路層協議一般負責設備間的組網及通信,比如 2G/3G/4G/5G、NB-IoT、WiFi、ZigBee、LoRa 這些遠距離通信,也有近距離的比如 RFID、NFC、藍牙協議無線協議和 RS232、USB 等有線協議。

應用層協議則主要是運行在傳統互聯網 TCP/IP 協議之上的設備通訊協議,這類協議通過互聯網,支撐設備到雲端平臺的數據交換及通信,常見的有 HTTP、MQTT、CoAP、LwM2M 以及 XMPP 等協議。

從應用角度

從協議在物聯網系統中的應用角度來看,我們可以將協議劃分爲雲端協議和網關協議。

雲端協議是建立在 TCP/IP 上的協議,傳感器、控制設備等物聯網數據通常都需要傳輸上雲,通過雲端連通用戶並與企業系統進行集成。

支持 TCP/IP 的物聯網設備,可以通過 WIFI、蜂窩網絡以及以太網,使用 HTTP、MQTT、CoAP、LwM2M 以及 XMPP 等應用層協議協議接入雲端。

設備聯網

網關協議是適用於短距通信無法直接上雲的協議,比如藍牙、ZigBee、LoRa 等。此類設備需要接入網關轉換之後,通過 TCP/IP 協議進行上雲。

藍牙、ZigBee、LoRa 網關

ZigBee

Zigbee 是一種網狀網絡無線協議,專爲建築和家庭自動化應用而設計,是物聯網環境中最流行的網狀協議之一。目前主要用於局域網內連接,在設備側以網關的身份接入控制各類設備。

協議特性

  • 低功耗:發射功率僅爲 1mW,在低耗電待機模式下,兩節 5 號乾電池可使用長達 2 年,免去了充電或者頻繁更換電池的麻煩。

  • 低成本:由於簡單而緊湊的協議大大降低了其對通信控制的要求從而降低硬件成本,同時免收協議專利費。

  • 低速率:ZigBee 工作在 20~250kbps 的速率,分別提供 250 kbps(2.4GHz)、40kbps(915 MHz) 和 20kbps(868 MHz) 的原始數據吞吐率,滿足低速率傳輸數據的應用需求。

  • 近距離:相鄰節點傳輸範圍在 10~100m 之間,基本覆蓋普通家庭和辦公環境;增加發射功率後可增加到 1~3km,通過路由和節點間通信的接力,傳輸距離將可以更遠。

  • 低時延:ZigBee 的響應速度較快,一般從睡眠轉入工作狀態只需 15ms,節點連接進入網絡只需 30ms,進一步節省了電能。相比較,藍牙需要 3~10s、WiFi 需要 3s。

  • 高容量:ZigBee 可採用星狀、片狀和網狀網絡結構,由一個主節點管理若干子節點,最多一個主節點可管理 254 個子節點;同時主節點還可由上一層網絡節點管理,最多可組成 65000 個節點的大網。

  • 高安全: ZigBee 提供了 CRC 數據包完整性檢查功能,支持鑑權和認證,採用了 AES-128 的加密算法,各個應用都可以靈活確定其安全屬性。

  • 免許可證頻段:直接序列擴頻用於工業科學醫學(ISM)頻段:2.4GHz(全球),915MHz(北美),868MHz(歐洲)。

市場狀況

Zigbee 技術具有低功耗、大節點容量、短時延、安全可靠等突出優點,可滿足智能家居應用需求,是智能家居核心無線組網連接技術。得益於中國智能家居市場快速發展,應用 Zigbee 技術的智能家居設備數量不斷增長,Zigbee 技術應用推廣步伐日益加快。

相比同爲無線局域網技術體系的 WiFi、藍牙技術,Zigbee 技術在功耗、節點容量、自組網能力、安全性方面具有突出優勢,應用規模不斷擴大。

參考資料:對於ZigBee技術,你瞭解多少?

NB-IoT

NB-IoT 是由 3GPP 標準化組織制定的一種新型蜂窩技術,屬於低功率廣域 (LPWA) 物聯網連接的一種,主要用於連接帶寬資源受限的終端,允許終端以比 GRPS、3G、LTE 等技術更少的資源收集和交換數據。

NB-IoT 在 2017-2018 年發展迅速,全球衆多運營商陸續實現了商用部署。NB-IoT 的低成本、低功耗和廣覆蓋使得用戶能夠實現傳統蜂窩網絡無法支持的新場景新應用。

2020 年 7 月 9 日,3GPP 宣佈 5G R16 標準凍結,NB-IoT 正式納入 5G 標準,成爲 5G mMTC 海量物聯網連接場景核心技術。

協議特性

  • 引入了低功耗的「睡眠」模式(PSM、eDRX)。

  • 降低了對通信品質要求,簡化了終端設計(半雙工模式、協議棧簡化等)。

  • 通過兩種功能優化模式(CP 模式、UP 模式)簡化流程,減少了終端和網絡的交互量。

  • 超低覆蓋,在 GPRS 的基礎上覆蓋增強 20dB,覆蓋範圍是 GPRS 的三倍。

市場狀況

當前,NB-IoT 已進入億級連接時代,後續隨着全球運營商對商用 NB-IoT 5G 網絡的全覆蓋建設,NB-IoT 將在智能家居、智慧農業、工業製造、能源表計、消防煙感、物流跟蹤、金融支付等各領域中持續爆發。

以中國電信物聯網開放平臺爲例,該平臺實現了對中國電信 NB-IoT 以及其他網絡物聯網設備的集中接入,併爲政企用戶提供物聯網設備管理、數據接口以及應用使能等服務。

EMQ 從該平臺建設之初即已參與,配合天翼物聯爲該平臺研發 NB-IoT 設備接入與消息路由能力,並同時支持電信 TLINK、MQTT 等協議設備的接入,平臺整體設計接入能力達億級。

參考資料:一文了解NB- IoT四大關鍵特性以及實現技術

LoRa

LoRa 協議是一個低功耗、遠距離、無線廣域網的標準協議,其名稱來自於「遠距離(Long Range)」的簡稱。

LoRa 相比其他無線傳播協議如 ZigBee、藍牙、WIFI 最大的特點是同功耗下傳播距離更遠,實現了低功耗和遠距離的統一,它在同樣的功耗下比傳統的無線射頻通信距離擴大 3-5 倍。

LoRa 在物聯網應用中的無線技術有多種,可組成局域網或廣域網。LoRa 網絡主要由終端(可內置 LoRa 模塊)、網關(或稱基站)、Server 和雲四部分組成。

LoRaWAN 的數據傳輸速率範圍爲 0.3 kbps 至 37.5 kbps,爲了最大化終端設備電池的壽命和整個網絡容量,LoRaWAN 網絡服務器通過一種速率自適應(Adaptive Data Rate , ADR)方案來控制數據傳輸速率和每一終端設備的射頻輸出功率。

協議特性

  • 覆蓋面:LoRa 單一網關的遮蓋間距一般在 3-5km 的範疇,寬闊地區乃至達到 15km 之上。

  • 低功耗:充電電池供電系統能夠 支撐點多年乃至十餘年。

  • 高容量:得益於終端無聯接情況的特點,可以保證大量終端的接入。

  • 低成本:通信網絡成本費極低,另外適用窄帶傳輸數據。

  • 安全係數:採用 AES128 加密,安全係數高。

市場狀況

對於智慧農業、智慧城市、工業物聯網 (IIoT)、智能環境、智能家居和樓宇、智能公用事業和計量以及智能供應鏈和物流中的農村或室內應用場景,LoRa 具有極高的靈活性。

LoRa 組網方便,利用 LoRa 極強的穿透力,可以低成本實現對較大範圍內的設備連接,相比通過 NB-IoT 和運營商 SIM 卡接入,LoRa 不需要每年換卡或繳費,長期使用擁有較低的成本。

參考資料:用LoRa實現的物聯網應用,到底好在哪裏?

MQTT

MQTT 協議是基於發佈/訂閱模式的物聯網通信協議,憑藉簡單易實現、支持 QoS、報文小等特點,佔據了物聯網協議的半壁江山。

MQTT 協議廣泛應用於物聯網、移動互聯網、智能硬件、車聯網、電力、能源等領域,既能作爲網關在設備側接入通信,也能作爲設備-雲端的通信協議。ZigBee、LoRa 等絕大多數網關協議最終都轉換爲 MQTT 協議接入上雲。

MQTT 協議應用領域

協議特性

  • 輕量可靠:MQTT 報文緊湊,可在嚴重受限的硬件設備和低帶寬、高延遲的網絡上實現穩定傳輸。

  • 發佈/訂閱模式:基於發佈/訂閱模式,發佈訂閱模式的優點在於發佈者與訂閱者的解耦:訂閱者與發佈者不需要建立直接連接、也不需要同時在線。

  • 爲物聯網而生:提供心跳機制、遺囑消息、QoS 質量等級+離線消息、主題和安全管理等全面的物聯網應用特性。

  • 生態更完善:覆蓋全語言平臺的客戶端和 SDK,有成熟的 Broker 服務端軟件,能夠支持海量 Topic ,千萬級設備接入量,提供豐富的企業集成能力。

通信模式

MQTT 採用發佈訂閱模式通信,發佈訂閱模式區別於傳統的客戶端-服務器模式,它使發送消息的客戶端(發佈者)與接收消息的客戶端(訂閱者)分離,發佈者與訂閱者不需要建立直接聯繫。我們既可以讓多個發佈者向一個訂閱者發佈消息,也可以讓多個訂閱者同時接收一個發佈者的消息。

MQTT 發佈訂閱

市場狀況

MQTT 是 IoT 領域的最重要的標準協議之一,廣泛用於物聯網、車聯網、工業物聯網、智能家居、智慧城市、電力石油能源等行業。

MQTT 是 AWS IoT Core、 Azure IoT Hub、阿里雲物聯網平臺等頂級雲廠商物聯網平臺標準通信協議,是工業互聯網、車聯網、智能家居等各個行業以及諸多網關協議上雲的首選協議。

EMQX 作爲全球最熱門、最成熟的 MQTT Broker 之一,提供了「隨處運行,無限連接,任意集成」雲原生分佈式物聯網接入平臺,一體化的分佈式 MQTT 消息服務和強大的 IoT 規則引擎,爲高可靠、高性能的物聯網實時數據移動、處理和集成提供動力,助力企業快速構建關鍵業務的 IoT 平臺與應用。

參考資料:MQTT 協議入門與進階

CoAP

CoAP 是一種在物聯網世界的類 HTTP 的協議,使用在資源受限的物聯網設備上,它的詳細規範定義在 RFC 7252。

由於物聯網設備大多都是資源限制型的,比如 CPU、RAM、Flash、網絡寬帶等。對於這類設備來說,想要直接使用現有網絡的TCP和HTTP來實現設備實現信息交換是不現實的。爲了讓這部分設備能夠順利接入網絡,CoAP 協議應運而生。

協議特性

CoAP 參考了很多 HTTP 的設計思路,同時也根據受限資源限制設備的具體情況改良了諸多的設計細節,增加了很多實用的功能。

  • 基於消息模型

  • 傳輸層基於 UDP 協議,支持受限設備

  • 使用類似 HTTP 請求的請求/響應模型,HTTP 是文本格式,CoAP 爲二進制格式,且比 HTTP 更加緊湊

  • 支持雙向通信

  • 輕量、低功耗

  • 支持可靠傳輸,數據重傳,塊傳輸,確保數據可靠到達

  • 支持 IP 多播

  • 支持觀察模式

  • 支持異步通信

市場狀況

相比於 MQTT,CoAP 更加輕量、開銷更低,在某些特定的設備和網絡環境下更爲合適。EMQX 以及部分公有云物聯網平臺都提供提供了 CoAP 接入能力,請參考 MQTT 和 CoAP 在 EMQX 世界的一次「約會」

LwM2M

LwM2M 是適用於資源有限的終端設備管理的輕量級物聯網協議。LwM2M 協議誕生於 2013 年底,由 OMA(Open Mobile Alliance)提出並定義。目前的成熟版本號依然是 1.0,OMA 的專家們正爲 1.1 版而努力。

協議特性

LwM2M 協議最主要的實體包括 LwM2M Server 和 LwM2M Client。

  • LwM2M Server 作爲服務器,部署在 M2M 服務供應商處或網絡服務供應商處。

  • LwM2M Client 作爲客戶端,部署在各個 LwM2M 設備上。

此外,根據需要還可以加入LwM2M引導服務器(Bootstrap Server)或智能卡(SmartCard),對客戶端完成初始的引導。

LwM2M 協議有以下幾個突出特點:

  • 協議基於 REST 架構。

  • 協議的消息傳遞是通過 CoAP 協議來達成的。

  • 協議定義了一個緊湊高效又不乏擴展性的數據模型。

考慮到與時俱進,實現簡潔易懂的風格,LwM2M 協議採用了 REST。

但由於協議的服務對象是資源有限的終端設備,傳統的 HTTP 數據傳輸方式顯得過分笨重,難以支持受限資源,因此選擇了具備 REST 風格的 CoAP 來完成消息和數據傳遞。一方面 CoAP 基於 UDP,與 TCP 相比,在網絡資源有限及無法確保設備始終在線的環境裏更加遊刃有餘(出於安全性考慮,使用了基於 UDP 的 DTLS 安全傳輸協議)。另一方面 CoAP 本身的消息結構非常簡單,報文壓縮,主要部分可以做到特別小巧,無需佔用過多資源。

出於類似的考慮,協議的數據結構必須足夠簡單。LwM2M 協議定義了一個以資源(Resource)爲基本單位的模型,每個資源可以攜帶數值,可以指向地址,以表示 LwM2M 客戶端中每一項可用的信息。資源都存在於對象實例中(Object Instance),即對象(Object)的實例化。LwM2M 協議預定義了 8 種對象(Object)來滿足基本的需求,分別是:

Object Object ID
Security(安全對象) 0
Server(服務器對象) 1
Access Control(訪問控制對象) 2
Device(設備對象) 3
Connectivity Monitoring(連通性監控對象) 4
Firmware(固件對象) 5
Location(位置對象) 6
Connectivity Statistics(連通性統計對象) 7

考慮到擴展性,協議也允許根據實際需要自定義更多的對象。在這樣的數據模型中,資源、對象實例以及對象都是用數字對應的ID來表示的,以實現最大程度的壓縮,因此任何資源都可以用最多 3 級的簡潔方式表示,例如 /1/0/1 表示服務器對象(Server Object)第 1 個實例中的服務器短 ID 資源。 在註冊階段,LwM2M 客戶端把攜帶了資源信息的對象實例傳遞給 LwM2M 服務器,以通知服務器自身設備所具備的能力。

EMQ 也實現了 EMQX 服務器上的 LwM2M 接入能力,實現了 LwM2M 協議的大部分功能,LwM2M 設備可以註冊至 EMQX-LWM2M 上,從而通過 EMQX-LWM2M 訪問並管理設備,設備也可以向 EMQX-LWM2M 上報信息,並使用 EMQ 後端的服務來採集數據。

XMPP

XMPP 可拓展消息處理現場協議是基於 XML 的即時通訊協議,協議將通信上下文信息嵌入到 XML 結構化數據中,使得人與人之間、應用系統之間以及人與應用系統之間能即時通訊。

協議特性

  • 所有 XMPP 信息都是以 XML 爲基礎的,信息交換的事實標準,擴展性強。

  • XMPP 系統是一個分佈式系統,每臺服務器控制自己的資源。

  • XMPP 協議是公開開源的,使用 XML 定義了客戶端和服務器端的交互。

市場狀況

XMPP 特點在於協議和擴展協議成熟,功能完善,專門爲即時聊天(IM)場景設計。XMPP 是老牌的即時聊天協議,像 Google Hangouts, WhatsApp Messenger 等即時聊天程序都是基於 XMPP 的。

但由於 XMPP 依賴 XML 協議,放在 IoT 場景裏過重,因此基本不適合物聯網傳輸使用。

結語

橫向來看,物聯網在幾乎所有行業都有廣泛的應用場景,每個行業有不同的工況和組網模式;從縱向來看,物聯網系統涵蓋了傳感器/控制設備,數據接入、傳輸、路由交換組件以及數據的存儲處理整個軟硬件鏈條,每個環節都有需要合理、高效的技術方案。

當前物聯網協議呈現多元化發展,不同行業和場景適用不同的協議,在相同的場景下也能夠有多個協議可供選擇,沒有任何協議能夠在市場上佔有統治地位,各種協議之間存在一定的互補效應。因此,要實現物聯網設備和數據的互聯互通,關鍵點並不在與協議的統一,而在於不同協議之間的互聯互通、上層業務應用層協議的統一。

EMQ 致力於解決物聯網設備數據連接問題。核心產品 EMQX 物聯網消息服務器可以通過開放標準的 MQTT、CoAP 和 LwM2M 協議連接任何設備,對於諸如工業場景中工業協議複雜多樣的情況,也可通過邊緣工業協議網關軟件 Neuron 轉換成統一的 MQTT 協議接入,滿足絕大多數物聯網場景下的數據採集需求,爲企業的物聯網業務提供高效可靠的數據接入層。

版權聲明: 本文爲 EMQ 原創,轉載請註明出處。

原文鏈接:https://www.emqx.com/zh/blog/iot-protocols-mqtt-coap-lwm2m

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