隨著物聯網技術的發展與普及,越來越多的智能設備具備了網絡連接與數據傳輸能力。由于物聯網場景復雜多樣,設備端硬件條件、網絡穩定性、流量限制、設備功耗以及設備連接數量等多方面因素造成物聯網設備的消息傳遞與傳統互聯網場景有著很大不同,也因此產生了多種物聯網通訊協議。 本文將選取幾種主流的物聯網協議,從協議的技術特性、適用場景、相對優勢以及市場情況等方面一一進行介紹,為物聯網從業者提供參考,幫助大家在實際項目中選擇合適的物聯網協議。 協議分類在介紹之前,我們對物聯網協議進行一個簡單分類,方便讀者理解其應用場景。 從功能角度從功能角度來劃分,我們可以將其分為兩大類,一類是物理層/數據鏈路層協議,一類是應用層協議。 物理層/數據鏈路層協議一般負責設備間的組網及通信,比如 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 Zigbee 是一種網狀網絡無線協議,專為建筑和家庭自動化應用而設計,是物聯網環境中最流行的網狀協議之一。目前主要用于局域網內連接,在設備側以網關的身份接入控制各類設備。 協議特性
Zigbee 技術具有低功耗、大節點容量、短時延、安全可靠等突出優點,可滿足智能家居應用需求,是智能家居核心無線組網連接技術。得益于中國智能家居市場快速發展,應用 Zigbee 技術的智能家居設備數量不斷增長,Zigbee 技術應用推廣步伐日益加快。 相比同為無線局域網技術體系的 WiFi、藍牙技術,Zigbee 技術在功耗、節點容量、自組網能力、安全性方面具有突出優勢,應用規模不斷擴大。 NB-IoTNB-IoT 是由 3GPP 標準化組織制定的一種新型蜂窩技術,屬于低功率廣域 (LPWA) 物聯網連接的一種,主要用于連接帶寬資源受限的終端,允許終端以比 GRPS、3G、LTE 等技術更少的資源收集和交換數據。 NB-IoT 在 2017-2018 年發展迅速,全球眾多運營商陸續實現了商用部署。NB-IoT 的低成本、低功耗和廣覆蓋使得用戶能夠實現傳統蜂窩網絡無法支持的新場景新應用。 2020 年 7 月 9 日,3GPP 宣布 5G R16 標準凍結,NB-IoT 正式納入 5G 標準,成為 5G mMTC 海量物聯網連接場景核心技術。 協議特性
當前,NB-IoT 已進入億級連接時代,后續隨著全球運營商對商用 NB-IoT 5G 網絡的全覆蓋建設,NB-IoT 將在智能家居、智慧農業、工業制造、能源表計、消防煙感、物流跟蹤、金融支付等各領域中持續爆發。 以中國電信物聯網開放平臺為例,該平臺實現了對中國電信 NB-IoT 以及其他網絡物聯網設備的集中接入,并為政企用戶提供物聯網設備管理、數據接口以及應用使能等服務。 EMQ 從該平臺建設之初即已參與,配合天翼物聯為該平臺研發 NB-IoT 設備接入與消息路由能力,并同時支持電信 TLINK、MQTT 等協議設備的接入,平臺整體設計接入能力達億級。 LoRaLoRa 協議是一個低功耗、遠距離、無線廣域網的標準協議,其名稱來自于「遠距離(Long Range)」的簡稱。 LoRa 相比其他無線傳播協議如 ZigBee、藍牙、WIFI 最大的特點是同功耗下傳播距離更遠,實現了低功耗和遠距離的統一,它在同樣的功耗下比傳統的無線射頻通信距離擴大 3-5 倍。 LoRa 在物聯網應用中的無線技術有多種,可組成局域網或廣域網。LoRa 網絡主要由終端(可內置 LoRa 模塊)、網關(或稱基站)、Server 和云四部分組成。 LoRaWAN 的數據傳輸速率范圍為 0.3 kbps 至 37.5 kbps,為了最大化終端設備電池的壽命和整個網絡容量,LoRaWAN 網絡服務器通過一種速率自適應(Adaptive Data Rate , ADR)方案來控制數據傳輸速率和每一終端設備的射頻輸出功率。 協議特性
對于智慧農業、智慧城市、工業物聯網 (IIoT)、智能環境、智能家居和樓宇、智能公用事業和計量以及智能供應鏈和物流中的農村或室內應用場景,LoRa 具有極高的靈活性。 LoRa 組網方便,利用 LoRa 極強的穿透力,可以低成本實現對較大范圍內的設備連接,相比通過 NB-IoT 和運營商 SIM 卡接入,LoRa 不需要每年換卡或繳費,長期使用擁有較低的成本。 MQTTMQTT 協議是基于發布/訂閱模式的物聯網通信協議,憑借簡單易實現、支持 QoS、報文小等特點,占據了物聯網協議的半壁江山。 MQTT 協議廣泛應用于物聯網、移動互聯網、智能硬件、車聯網、電力、能源等領域,既能作為網關在設備側接入通信,也能作為設備-云端的通信協議。ZigBee、LoRa 等絕大多數網關協議最終都轉換為 MQTT 協議接入上云。 協議特性
MQTT 采用發布訂閱模式通信,發布訂閱模式區別于傳統的客戶端-服務器模式,它使發送消息的客戶端(發布者)與接收消息的客戶端(訂閱者)分離,發布者與訂閱者不需要建立直接聯系。我們既可以讓多個發布者向一個訂閱者發布消息,也可以讓多個訂閱者同時接收一個發布者的消息。 市場狀況 MQTT 是 IoT 領域的最重要的標準協議之一,廣泛用于物聯網、車聯網、工業物聯網、智能家居、智慧城市、電力石油能源等行業。 MQTT 是 AWS IoT Core、 Azure IoT Hub、阿里云物聯網平臺等頂級云廠商物聯網平臺標準通信協議,是工業互聯網、車聯網、智能家居等各個行業以及諸多網關協議上云的首選協議。 EMQX 作為全球最熱門、最成熟的 MQTT Broker 之一,提供了「隨處運行,無限連接,任意集成」云原生分布式物聯網接入平臺,一體化的分布式 MQTT 消息服務和強大的 IoT 規則引擎,為高可靠、高性能的物聯網實時數據移動、處理和集成提供動力,助力企業快速構建關鍵業務的 IoT 平臺與應用。 CoAPCoAP 是一種在物聯網世界的類 HTTP 的協議,使用在資源受限的物聯網設備上,它的詳細規范定義在 RFC 7252。 由于物聯網設備大多都是資源限制型的,比如 CPU、RAM、Flash、網絡寬帶等。對于這類設備來說,想要直接使用現有網絡的TCP和HTTP來實現設備實現信息交換是不現實的。為了讓這部分設備能夠順利接入網絡,CoAP 協議應運而生。 協議特性CoAP 參考了很多 HTTP 的設計思路,同時也根據受限資源限制設備的具體情況改良了諸多的設計細節,增加了很多實用的功能。
相比于 MQTT,CoAP 更加輕量、開銷更低,在某些特定的設備和網絡環境下更為合適。EMQX 以及部分公有云物聯網平臺都提供提供了 CoAP 接入能力 。 LwM2MLwM2M 是適用于資源有限的終端設備管理的輕量級物聯網協議。LwM2M 協議誕生于 2013 年底,由 OMA(Open Mobile Alliance)提出并定義。目前的成熟版本號依然是 1.0,OMA 的專家們正為 1.1 版而努力。 協議特性LwM2M 協議最主要的實體包括 LwM2M Server 和 LwM2M Client。
此外,根據需要還可以加入LwM2M引導服務器(Bootstrap Server)或智能卡(SmartCard),對客戶端完成初始的引導。 LwM2M 協議有以下幾個突出特點:
考慮到與時俱進,實現簡潔易懂的風格,LwM2M 協議采用了 REST。 但由于協議的服務對象是資源有限的終端設備,傳統的 HTTP 數據傳輸方式顯得過分笨重,難以支持受限資源,因此選擇了具備 REST 風格的 CoAP 來完成消息和數據傳遞。一方面 CoAP 基于 UDP,與 TCP 相比,在網絡資源有限及無法確保設備始終在線的環境里更加游刃有余(出于安全性考慮,使用了基于 UDP 的 DTLS 安全傳輸協議)。另一方面 CoAP 本身的消息結構非常簡單,報文壓縮,主要部分可以做到特別小巧,無需占用過多資源。 出于類似的考慮,協議的數據結構必須足夠簡單。LwM2M 協議定義了一個以資源(Resource)為基本單位的模型,每個資源可以攜帶數值,可以指向地址,以表示 LwM2M 客戶端中每一項可用的信息。資源都存在于對象實例中(Object Instance),即對象(Object)的實例化。LwM2M 協議預定義了 8 種對象(Object)來滿足基本的需求,分別是: [td]
考慮到擴展性,協議也允許根據實際需要自定義更多的對象。在這樣的數據模型中,資源、對象實例以及對象都是用數字對應的ID來表示的,以實現最大程度的壓縮,因此任何資源都可以用最多 3 級的簡潔方式表示,例如 /1/0/1 表示服務器對象(Server Object)第 1 個實例中的服務器短 ID 資源。 在注冊階段,LwM2M 客戶端把攜帶了資源信息的對象實例傳遞給 LwM2M 服務器,以通知服務器自身設備所具備的能力。 EMQ 也實現了 EMQX 服務器上的 LwM2M 接入能力,實現了 LwM2M 協議的大部分功能,LwM2M 設備可以注冊至 EMQX-LWM2M 上,從而通過 EMQX-LWM2M 訪問并管理設備,設備也可以向 EMQX-LWM2M 上報信息,并使用 EMQ 后端的服務來采集數據。 XMPPXMPP 可拓展消息處理現場協議是基于 XML 的即時通訊協議,協議將通信上下文信息嵌入到 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 |