【摘要】 本文主要对于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协议的学习与分享相关推荐

  1. 【华为云技术分享】“技术-经济范式”视角下的开源软件演进剖析-part 1

    前言 以互联网为代表的信息技术的迅猛发展对整个经济体系产生了巨大的影响.信息技术的发展一方面使知识的积累和传播更加迅速,知识爆炸性的增长:另一方面,使信息的获取变得越来越容易,信息交流的强度逐渐增加, ...

  2. 【华为云技术分享】“技术-经济范式”视角下的开源软件演进剖析-part 3

    4. 微观层面 4.1 个体动机 在开源软件发展之初, 商业组织的投入很少甚至没有, 完全是靠Richard Stallman 或者 linus Torvalds 这样的个人在努力推动开源软件艰难前行 ...

  3. 【华为云技术分享】三大前端技术(React,Vue,Angular)探密(下)

    [华为云技术分享]三大前端技术(React,Vue,Angular)探密(上) [Angular] Angular(通常被称为 "Angular 2+"或 "Angula ...

  4. 华为云技术开放日(第三季)活动报道

    智能共生,链接未来 | 华为云技术开放日(第三季)精彩回顾 7 月 29日-8 月 12 日,由华为云与中生代技术社区联合主办的华为云技术开放日(第三季)圆满落下帷幕.本次技术开放日邀请了华为云 MV ...

  5. 华为云技术开放日(第三季)话题介绍和直播群入口

    华为云技术开放日(第三季) 5G+AI+区块链 智能共生,链接未来 主办方:华为云 中生代技术 华为云技术开放日是由华为云主导发起的系列性技术交流活动,聚焦软件研发行业发展趋势.传播各技术领域前沿研发 ...

  6. 【重磅资料】ArchSummit全球架构师峰会·2019华为云技术专场资料下载

    ArchSummit全球架构师峰会是InfoQ中国团队推出的重点面向高端技术管理者.架构师的技术会议,54%参会者拥有8年以上工作经验.ArchSummit聚焦业界强大的技术成果,秉承"实践 ...

  7. 【华为云技术分享】如何设计高质量软件-领域驱动设计DDD(Domain-Driven Design)学习心得

    DDD做为软件设计方法于2004年提出,一直不温不火,最近几年突然火起来了,为啥呢?正所谓机会给有准备的人,因为微服务的流行,大家都跃跃欲试把传统单体软件转成微服务架构,但理论很丰满,现实很骨感,光是 ...

  8. 【华为云技术分享】Spark如何与深度学习框架协作,处理非结构化数据

    随着大数据和AI业务的不断融合,大数据分析和处理过程中,通过深度学习技术对非结构化数据(如图片.音频.文本)进行大数据处理的业务场景越来越多.本文会介绍Spark如何与深度学习框架进行协同工作,在大数 ...

  9. 【华为云技术分享】《跟唐老师学习云网络》 - 我的网络概念

    [摘要] 之前讲过该一系列文章都是入门的,保证你会对,但是精通还要靠自己进一步深入(感兴趣的话). 一.电脑主机 <--> Host 一台电脑很简单,一个壳子里面堆了很多玩意.但是你买了电 ...

  10. 机器学习笔记(九)---- 集成学习(ensemble learning)【华为云技术分享】

    集成学习不是一种具体的算法,而是在机器学习中为了提升预测精度而采取的一种或多种策略.其原理是通过构建多个弱监督模型并使用一定策略得到一个更好更全面的强监督模型.集成学习简单的示例图如下: 通过训练得到 ...

最新文章

  1. 最常见企业管理SAAS软件有哪些?要解决哪些问题?
  2. 9. 设计二个函数分别计算sinx和cosx_工程人常用的12个excel和9个wps技巧
  3. 【手记】解决启动SQL Server Management Studio 17时报Cannot find one or more components...的问题
  4. TCPview 介绍
  5. 学习:多项式算法----FFT
  6. Loj#6247-九个太阳【单位根反演】
  7. python3 Connection aborted.', RemoteDisconnected('Remote end closed connection without response'
  8. Realtek网卡如何识别具体型号是8111B/8111C/8111D还是8111E???
  9. 【网络流24题】星际转移问题(最大流)
  10. VHDL 语法小点(1)
  11. oracle12c xtts迁移,记录一次XTTS迁移碰到的问题
  12. 1031. Hello World for U (20)-PAT甲级真题
  13. 7.10.8107.79 小心80180048
  14. GIT基本概念和用法总结
  15. 从二分逼近领略计算科学的魅力
  16. WPF的TextBox产生内存泄露的情况
  17. mysql 去重 性能比较_mysql 去重方法distinct 与 group by 性能比较 | 学步园
  18. Android开发环境搭建
  19. Java基础语法之变量、运算符、流程控制、数组和方法等基础语法
  20. python制作冰花_《冰花》教学反思

热门文章

  1. 百度文库刷财富值软件-第二版
  2. 免费送瑞星产品序列号?其实送的是Trojan-Downloader.Win32.VB.lbv
  3. Python春节特训营03:打倒拦路虎,学会键盘打字
  4. VB6.0超级模块-内存操作篇-含特征码搜索和HOOK跳转构造
  5. 20210223-广东省通信管理局
  6. 荣耀手机动态修改imei信息
  7. 国军标 软件测评 静态分析常见问题总结
  8. php获取qq头像地址,使用PHP语言通过邮箱获取全球公认的Gravatar头像地址
  9. C语言libxml用法,c语言libxml2库的安装和使用.....
  10. 常用网络特殊符号大全(含彩色表情符号)