欢迎光临散文网 会员登陆 & 注册

【物联网】LwM2M协议的实现功能及网络框架

2022-09-16 15:51 作者:腾科IT教育官方账号  | 我要投稿

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-Java 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方式传送。



【物联网】LwM2M协议的实现功能及网络框架的评论 (共 条)

分享到微博请遵守国家法律