當前位置:
首頁 > 最新 > 物聯網LwM2M協議了解一下!

物聯網LwM2M協議了解一下!

LwM2M全稱lightweight Machine to Machine,是OMA(open Mobile Alliance)定義的物聯網協議,主要可以使用在資源受限(包括存儲、功耗等)的嵌入式設備上。其官方網站http://www.openmobilealliance.org,協議的下載地址http://openmobilealliance.org/release/LightweightM2M/。主要理解下LwM2M協議實現功能及網路框架,對具體的實現定義、加密處理等流程還是參考協議比較清晰(基於V1.0.1版本)。具體內容參考協議說明文檔。

名詞解釋

OMA-open Mobile Alliance

CoAP-Constrained Application Protocol

LwM2M-Lightweight Machine to Machine

DTLS-Datagram Transfer Layer Security

SMS-Short Messaging Service

TLV-Type-Length-Value

JSON-JavaScript Object Notation

網路基本框架

協議定義了四種介面,並對應不同的功能:

Bootstrap、Client Registration、Device managment and Service Enablement及Information Report。

這些介面的操作對象為:對象Object,對象實例Object Instance及資源Resources。為實現不同功能劃分,協議定義了八種對象,ID及命名分別為0.Security Object、1. Server Object、2. Access Control Object、3. Device Object、4. Connectivity Monitoring Object、5. Firmware Update Object、6. Location Object、7. Connectivity Statistics Object。對象和對象實例比較好理解,資源協議的說明為邏輯概念,相當於一個對象實現一個功能所佔用的資源。資源可以配置不同的許可權: 只讀、或讀寫,可由操作Access Control對象進行維護。在介面對元素進行操作時,可以在不同屬性級別上進行操作:O、OI、R,概要講優先順序R>OI>O。

伺服器客戶端網路關係

一個終端至少可以接入一個服務商伺服器,也可以接入多個服務伺服器,多個伺服器時需要進行選擇操作,依據為bootstrap引導時獲取的相關信息。而服務商可以和網路商屬於同一家,亦可是不同家,其大概關係。

協議的流程及操作

主要流程:需要先進行Bootstrap獲取相應信息,完成後進行Client Registration處理,只有成功在伺服器端註冊相關信息後,才可通過Device managment and Service Enablement及Information Report介面來控制和傳送相關需要的信息。

協議定義的相關介面的操作和操作方向如下:Uplink表示客戶端到伺服器端的傳送,而Downlink表示伺服器端到客戶端的傳送。理解上LwM2M的消息沒有對稱的反饋消息,由於LwM2M承載在CoAP協議上,使用CoAP的get、post、put、delete方式(協議詳細說明每種operation對應的CoAP操作方式),對於相應消息成功或失敗的反饋是通過CoAP協議本身的交互來實現的。LwM2M載荷支持四種格式 plain text、Opaque、TLV、JSON,這四種協議要求伺服器端必須都要支持,而在客戶端必須支持TLV格式。

Bootstrap屬於邏輯功能,不一定存在真實交互,流程可以分為四種:Factory Bootstrap:廠家存儲相應信息在設備中;Bootstrap from Smartcard:信息存儲在Smartcard中;Client Initiated Bootstrap:客戶端請求伺服器引導信息數據;Server Initiated Bootstrap:伺服器發起引導程序,前提是bootstrap server已經確定客戶端可以訪問。而在Bootstrap過程實現的嘗試流程:Smartcard mode => Factory Bootstrap mode =>採用存儲的信息進行register=> Server Initiated Bootstrap ClientHoldOffTime內=>發起重新bootstrap流程。

在Bootstrap完成後進行Registration操作,這個過程有一些能力信息。如終端伺服器交互工作模式:U(UDP)、UQ(UDP with Queue Mode)、S(SMS)、SQ、US、UQS(UDP with Queue Mode and SMS),而UQSQ and USQ 在V1.0.1版本中不支持。理解上這些需要和客戶端的工作模式設置一致,如在NB的PSM模式下無法使用實時接收伺服器側數據,則需要啟用Q模式進行Buffer相應數據。

在Registration完成後,才可啟用Device Management and Service Enablement及Information Report的介面服務,而這兩類介面服務的主控方為伺服器端。如Information Reporting介面,網路可以通過Observe、Cancel Observation來進行客戶端Notify信息上報開關的控制。

協議層次結構

LwM2M屬於應用層協議,位於CoAP協議之上,而CoAP可以進行DTLS加密處理,最後通過UDP或SMS方式傳送。


喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 嵌入式ARM 的精彩文章:

考一考!嵌入式操作系統面試題3道

TAG:嵌入式ARM |