附录 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对象定义
对象概念
对象是逻辑上用于特定目的的一组资源的集合。例如固件更新对象,它就包含了用于固件更新目的的所有资源,例如固件包、固件URL、执行更新、更新结果等。
使用对象的功能之前,必须对该对象进行实例化,对象可以有多个对象实例,对象实例的编号从0开始递增。
OMA定义了一些标准对象,LwM2M协议为这些对象及其资源已经定义了固定的ID。例如:固件更新对象的对象ID为5,该对象内部有8个资源,资源ID分别为0~7,其中“固件包名字”这个资源的ID为6。因此,URI 5/0/6表示:固件更新对象第0个实例的固件包名字这个资源。
对象定义的格式
OMA定义的标准对象
OMA的LwM2M规范中定义了7个标准对象:
LwM2M (bootstrap) server的URI,payload的安全模式,一些算法/密钥,server的短ID等信息。 | ||
LiteOS SDK端云互通组件配合Huawei Ocean Connect物联网开发平台能力,还支持的19号LwM2M APPDATA对象:
说明:
OMA组织定义的其它常用对象,详见http://www.openmobilealliance.org/wp/OMNA/LwM2M/LwM2MRegistry.html。