天天看點

主流物聯網協定選擇: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 等應用層協定協定接入雲端。

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

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

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

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 技術在功耗、節點容量、自組網能力、安全性方面具有突出優勢,應用規模不斷擴大。

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 不需要每年換卡或繳費,長期使用擁有較低的成本。

MQTT

MQTT 協定是基于釋出/訂閱模式的物聯網通信協定,憑借簡單易實作、支援 QoS、封包小等特點,占據了物聯網協定的半壁江山。

MQTT 協定廣泛應用于物聯網、移動網際網路、智能硬體、車聯網、電力、能源等領域,既能作為網關在裝置側接入通信,也能作為裝置-雲端的通信協定。ZigBee、LoRa 等絕大多數網關協定最終都轉換為 MQTT 協定接入上雲。

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

協定特性

  • 輕量可靠:MQTT 封包緊湊,可在嚴重受限的硬體裝置和低帶寬、高延遲的網絡上實作穩定傳輸。
  • 釋出/訂閱模式:基于釋出/訂閱模式,釋出訂閱模式的優點在于釋出者與訂閱者的解耦:訂閱者與釋出者不需要建立直接連接配接、也不需要同時線上。
  • 為物聯網而生:提供心跳機制、遺囑消息、QoS 品質等級+離線消息、主題和安全管理等全面的物聯網應用特性。
  • 生态更完善:覆寫全語言平台的用戶端和 SDK,有成熟的 Broker 服務端軟體,能夠支援海量 Topic ,千萬級裝置接入量,提供豐富的企業內建能力。

通信模式

MQTT 采用釋出訂閱模式通信,釋出訂閱模式差別于傳統的用戶端-伺服器模式,它使發送消息的用戶端(釋出者)與接收消息的用戶端(訂閱者)分離,釋出者與訂閱者不需要建立直接聯系。我們既可以讓多個釋出者向一個訂閱者釋出消息,也可以讓多個訂閱者同時接收一個釋出者的消息。

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

市場狀況

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

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

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

CoAP

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

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

協定特性

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

  • 基于消息模型
  • 傳輸層基于 UDP 協定,支援受限裝置
  • 使用類似 HTTP 請求的請求/響應模型,HTTP 是文本格式,CoAP 為二進制格式,且比 HTTP 更加緊湊
  • 支援雙向通信
  • 輕量、低功耗
  • 支援可靠傳輸,資料重傳,塊傳輸,確定資料可靠到達
  • 支援 IP 多點傳播
  • 支援觀察模式
  • 支援異步通信

市場狀況

相比于 MQTT,CoAP 更加輕量、開銷更低,在某些特定的裝置和網絡環境下更為合适。EMQX 以及部分公有雲物聯網平台都提供提供了 CoAP 接入能力,

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(安全對象)
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 場景裡過重,是以基本不适合物聯網傳輸使用。

結語

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

繼續閱讀