附录 LwM2M协议介绍

LwM2M协议是什么

LwM2M(Lightweight M2M,轻量级M2M),由开发移动联盟(OMA)提出,是一种轻量级的、标准通用的物联网设备管理协议,可用于快速部署客户端/服务器模式的物联网业务。

LwM2M为物联网设备的管理和应用建立了一套标准,它提供了轻便小巧的安全通信接口及高效的数据模型,以实现M2M设备管理和服务支持。

LwM2M协议特性

LwM2M协议主要特性包括:

  • 基于资源模型的简单对象
  • 资源操作:创建/检索/更新/删除/属性配置
  • 资源的观察/通知
  • 支持的数据格式:TLV/JSON/Plain Text/Opaque
  • 传输层协议:UDP/SMS
  • 安全协议:DTLS
  • NAT/防火墙应对方案: Queue模式
  • 支持多LwM2M Server
  • 基本的M2M功能:LwM2M Server,访问控制,设备,网络连接监测,固件更新,位置和定位服务,统计

LwM2M体系架构

LwM2M体系架构如图所示:

图 1 LwM2M体系架构
附录 LwM2M协议介绍 - 图1

LwM2M对象定义

对象概念

对象是逻辑上用于特定目的的一组资源的集合。例如固件更新对象,它就包含了用于固件更新目的的所有资源,例如固件包、固件URL、执行更新、更新结果等。

使用对象的功能之前,必须对该对象进行实例化,对象可以有多个对象实例,对象实例的编号从0开始递增。

OMA定义了一些标准对象,LwM2M协议为这些对象及其资源已经定义了固定的ID。例如:固件更新对象的对象ID为5,该对象内部有8个资源,资源ID分别为0~7,其中“固件包名字”这个资源的ID为6。因此,URI 5/0/6表示:固件更新对象第0个实例的固件包名字这个资源。

对象定义的格式

Name

Object ID

Instances

Mandatory

Object URN

Object Name

16-bit Unsigned Integer

Multiple/ Single

Mandatory/Optional

urn:oma:LwM2M:{oma,ext,x}:{Object ID}

OMA定义的标准对象

OMA的LwM2M规范中定义了7个标准对象:

Object

object id

description

LwM2M Security

0

LwM2M (bootstrap) server的URI,payload的安全模式,一些算法/密钥,server的短ID等信息。

LwM2M Server

1

server的短ID,注册的生命周期,observe的最小/最大周期, 绑定模型等。

Access Control

2

每个Object的访问控制权限。

Device

3

设备的制造商,型号,序列号,电量,内存等信息。

Connectivity Monitoring

4

网络制式,链路质量,IP地址等信息。

Firmware

5

固件包,包的URI,状态,更新结果等。

Location

6

经纬度,海拔,时间戳等。

Connectivity Statistics

7

收集期间的收发数据量,包大小等信息。

LiteOS SDK端云互通组件配合Huawei Ocean Connect物联网开发平台能力,还支持的19号LwM2M APPDATA对象:

Object

object id

description

LwM2M APPDATA

19

此LwM2M对象提供LWM2M 服务器相关的应用业务数据,例如水表数据。

附录 LwM2M协议介绍 - 图2 说明:
OMA组织定义的其它常用对象,详见http://www.openmobilealliance.org/wp/OMNA/LwM2M/LwM2MRegistry.html