|
隨著物聯網技術的發展與普及,越來越多的智能設備具備了網絡連接與數據傳輸能力。由于物聯網場景復雜多樣,設備端硬件條件、網絡穩定性、流量限制、設備功耗以及設備連接數量等多方面因素造成物聯網設備的消息傳遞與傳統互聯網場景有著很大不同,也因此產生了多種物聯網通訊協議。
本文將選取幾種主流的物聯網協議,從協議的技術特性、適用場景、相對優勢以及市場情況等方面一一進行介紹,為物聯網從業者提供參考,幫助大家在實際項目中選擇合適的物聯網協議。
協議分類在介紹之前,我們對物聯網協議進行一個簡單分類,方便讀者理解其應用場景。
從功能角度從功能角度來劃分,我們可以將其分為兩大類,一類是物理層/數據鏈路層協議,一類是應用層協議。
物理層/數據鏈路層協議一般負責設備間的組網及通信,比如 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 是一種網狀網絡無線協議,專為建筑和家庭自動化應用而設計,是物聯網環境中最流行的網狀協議之一。目前主要用于局域網內連接,在設備側以網關的身份接入控制各類設備。
協議特性低功耗:發射功率僅為 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-IoTNB-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 等協議設備的接入,平臺整體設計接入能力達億級。
LoRaLoRa 協議是一個低功耗、遠距離、無線廣域網的標準協議,其名稱來自于「遠距離(Long Range)」的簡稱。
LoRa 相比其他無線傳播協議如 ZigBee、藍牙、WIFI 最大的特點是同功耗下傳播距離更遠,實現了低功耗和遠距離的統一,它在同樣的功耗下比傳統的無線射頻通信距離擴大 3-5 倍。
LoRa 在物聯網應用中的無線技術有多種,可組成局域網或廣域網。LoRa 網絡主要由終端(可內置 LoRa 模塊)、網關(或稱基站)、Server 和云四部分組成。
LoRaWAN 的數據傳輸速率范圍為 0.3 kbps 至 37.5 kbps,為了最大化終端設備電池的壽命和整個網絡容量,LoRaWAN 網絡服務器通過一種速率自適應(Adaptive Data Rate , ADR)方案來控制數據傳輸速率和每一終端設備的射頻輸出功率。
協議特性覆蓋面oRa 單一網關的遮蓋間距一般在 3-5km 的范疇,寬闊地區乃至達到 15km 之上。
低功耗:充電電池供電系統能夠 支撐點多年乃至十余年。
高容量:得益于終端無聯接情況的特點,可以保證大量終端的接入。
低成本:通信網絡成本費極低,另外適用窄帶傳輸數據。
安全系數:采用 AES128 加密,安全系數高。
對于智慧農業、智慧城市、工業物聯網 (IIoT)、智能環境、智能家居和樓宇、智能公用事業和計量以及智能供應鏈和物流中的農村或室內應用場景,LoRa 具有極高的靈活性。
LoRa 組網方便,利用 LoRa 極強的穿透力,可以低成本實現對較大范圍內的設備連接,相比通過 NB-IoT 和運營商 SIM 卡接入,LoRa 不需要每年換卡或繳費,長期使用擁有較低的成本。
MQTTMQTT 協議是基于發布/訂閱模式的物聯網通信協議,憑借簡單易實現、支持 QoS、報文小等特點,占據了物聯網協議的半壁江山。
MQTT 協議廣泛應用于物聯網、移動互聯網、智能硬件、車聯網、電力、能源等領域,既能作為網關在設備側接入通信,也能作為設備-云端的通信協議。ZigBee、LoRa 等絕大多數網關協議最終都轉換為 MQTT 協議接入上云。
輕量可靠:MQTT 報文緊湊,可在嚴重受限的硬件設備和低帶寬、高延遲的網絡上實現穩定傳輸。
發布/訂閱模式:基于發布/訂閱模式,發布訂閱模式的優點在于發布者與訂閱者的解耦:訂閱者與發布者不需要建立直接連接、也不需要同時在線。
為物聯網而生:提供心跳機制、遺囑消息、QoS 質量等級+離線消息、主題和安全管理等全面的物聯網應用特性。
生態更完善:覆蓋全語言平臺的客戶端和 SDK,有成熟的 Broker 服務端軟件,能夠支持海量 Topic ,千萬級設備接入量,提供豐富的企業集成能力。
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 的設計思路,同時也根據受限資源限制設備的具體情況改良了諸多的設計細節,增加了很多實用的功能。
基于消息模型
傳輸層基于 UDP 協議,支持受限設備
使用類似 HTTP 請求的請求/響應模型,HTTP 是文本格式,CoAP 為二進制格式,且比 HTTP 更加緊湊
支持雙向通信
輕量、低功耗
支持可靠傳輸,數據重傳,塊傳輸,確保數據可靠到達
支持 IP 多播
支持觀察模式
支持異步通信
相比于 MQTT,CoAP 更加輕量、開銷更低,在某些特定的設備和網絡環境下更為合適。EMQX 以及部分公有云物聯網平臺都提供提供了 CoAP 接入能力 。
LwM2MLwM2M 是適用于資源有限的終端設備管理的輕量級物聯網協議。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)來滿足基本的需求,分別是:
[td]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 后端的服務來采集數據。
XMPPXMPP 可拓展消息處理現場協議是基于 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