【華為雲技術分享】LwM2M協議的學習與分享


【摘要】 本文主要對於LwM2M協議進行了簡單的介紹,包括協議的體系架構以及特性、對象、資源、接口的定義等,希望對你有所幫助。

1協議簡介

LwM2M(Lightweight Machine-To-Machine)協議是由OMA提出並定義的一個適用於資源有限的終端設備的輕量級物聯網協議,可以用於快速部署客戶端、服務器模式的物聯網業務。LwM2M為物聯網設備的管理和應用建立了一套標准,它提供了輕便小巧的安全通信接口及高效的數據模型,以實現M2M設備管理和服務支持。

2 協議特性

1) 基於資源模型的簡單對象

2) 資源操作:創建/檢索/更新/刪除/屬性配置

3) 資源的觀察/通知

4) 支持的數據格式:TLV/JSON/Plain Text/Opaque

5) 傳輸層協議:UDP/SMS

6) 安全協議:DTLS

7) NAT/防火牆應對方案: Queue模式

8) 支持多LwM2M Server

9) 基本的M2M功能:LwM2M Server,訪問控制,設備,網絡連接監測,固件更新,位置和定位服務,統計

3 體系架構

4 對象定義

首先對象是邏輯上用於特定目的的一組資源的集合。在使用對象功能之前,必須對該對象進行實例化,對象可以有多個對象實例,對象定義的格式如下。

OMA為LwM2M協議內置了8個對象。具體如下

LiteOS SDK端雲互通組件配合Huawei Ocean Connect物聯網開發平台能力,還支持的19號LwM2M APPDATA對象:

5 資源定義

LwM2M定義了一個資源模型,所有信息都可以抽象為資源以提供訪問。資源是對象的內在組成,隸屬於對象,LwM2M客戶端可以擁有任意數量的資源。和對象一樣,資源也可以有多個實例。

LwM2M客戶端、對象以及資源的關系如圖所示:

資源定義的格式

6接口定義

接口模型圖如下

(1)由上圖可知,協議的主體包括兩部分LwM2M客戶端和服務器端,服務器,部署在M2M服務供應商處或網絡服務供應商處,客戶端,部署在各個LwM2M設備上。

(2)圖中主要包括4個邏輯接口具體如下

Bootstraping;引導接口:可以向客戶端提供注冊到服務器的必要信息,如服務器訪問信息、客戶端支持的資源信息等,不需要出廠之時預置在誰被中。

Registration:客戶端注冊接口,實現客戶端與服務器互聯,通知服務器客戶端的“存在”和支持的功能。支持FOTA和SOTA。

Object/Resource Access :設備管理和服務啟用接口,LwM2M允許提供程序訪問對象實例和資源,從而使他可以更改設備設置和參數。設備管理與服務實現接口的主控方為LwM2M服務器,服務器向客戶端發送指令,客戶端對指令做出回應並將回應消息發送給服務器。

Reporting:信息上報接口,當服務不再正常運行時,用戶能夠從設備獲取錯誤報告以及發送有關設備狀態的查詢。

(3)如圖右側可見:LwM2M協議采用了具備REST的風格的CoAP來完成消息和數據床底,同時使用了基於UDP的DTLS安全傳輸協議

消息流程示例

設備管理和服務實現接口

LwM2M的接口表示一類功能,設備管理和服務實現接口是LwM2M的四種接口之一。

接口的具體功能是由一系列的操作來實現的,LwM2M的4種接口被分為上行操作和下行操作。

上行操作:LwM2M Client -> LwM2M Server

下行操作:LwM2M Server -> LwM2M Client

LwM2M Server使用設備管理和服務實現接口來訪問LwM2M Client的對象實例和資源。該接口包括7種操作:“Create”、“Read”、“Write”、“Delete”、“Execute”、“Write Attributes”和“Discover”。

設備管理和服務實現接口的交互過程如圖所示:

設備管理和服務使能接口示例

對象創建和刪除實例

以上就是對於LwM2M協議的簡單介紹,包括協議的特性以及體系架構、對象、資源、接口等特性的相關定義等內容,希望對你有所幫助。

點擊關注,第一時間了解華為雲新鮮技術~


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM