LwM2M协议学习

物联网协议篇(2):LWM2M协议 全称定义组织目标:为物联网设备的管理和应用提供一套轻量级、标准通用的协议,以实现快速部署M2M业务。 阅读详情
LwM2M全称lightweight Machine to Machine,是OMA(open Mobile Alliance)定义的物联网协议,主要可以使用在资源受限(包括存储、功耗等)的嵌入式设备上。其官方网站 http://www.openmobilealliance.org ,协议的下载地址 http://openmobilealliance.org/release/LightweightM2M/ 。主要理解下LwM2M协议实现功能及网络框架,对具体的实现定义、加密处理等流程还是参考协议比较清晰(基于V1.0.1版本)。具体内容参考协议说明文档<<OMA-TS-LightweightM2M-V1_0_1-20170704-A.pdf>>。
名词解释
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方式传送。

LWM2M开源协议栈——wakaama源代码分析 LWM2M开源协议栈——wakaama源代码分析 本文主要分析liblwm2m.h文件中非DEBUG状态下的代码,其他代码见后续文章 概述wakaama呈现形式并不是一个C的库文件,而是以源代码的形式,直接和项目代码联合编译。编译模式分为:LWM2M_SERVER_MODE、LWM2M_CLIENT_MODE、LWM2M_BOOTSTRAP_SERVER_MODE三种,分别对应此次编译产生的是服 阅读详情

相关推荐

LWM2M协议调研

LWM2M协议调研文档名缩写 abbr full AC Application Characteristics AD Architecture Document API Application Programming Interface ASN Abstract Syntax Notation DDF Device Description Framewo

github_39603316的博客 5121

LWM2M协议

首先对象是逻辑上用于特定目的的一组资源的集合。在使用对象功能之前,必须对该对象进行实例化,对象可以有多个对象实例,对象定义的格式如下:OMA为LwM2M协议内置了8个对象。具体如下:LwM2M定义了一个资源模型,所有信息都可以抽象为资源以提供访问。资源是对象的内在组成,隶属于对象,LwM2M客户端可以拥有任意数量的资源。和对象一样,资源也可以有多个实例。

m0_58575472的博客 1437

什么是lwM2M

LwM2M是一种轻量级物联网协议,由OMA定义,专为资源受限设备设计,具有低功耗、高安全性等特点。其体系架构包括客户端、服务器和引导服务器,使用UDP/SMS传输和DTLS加密。支持智能家居、工业物联网等场景应用。常用Java开发库有Eclipse Leshan(全功能)、libLwm2m(ARM开发)、Wakaama Java(轻量级)等,开发者可根据项目需求选择合适的工具包进行LwM2M应用开发。

Java的专栏 925

【基础】LwM2M 通讯协议

整理总结了 LwM2M 协议的基础,利用 Java 简单实现了 LwM2M 客户端

情绪瓜皮皮丶的学习之路 4055

协议-LwM2M

什么是LWM2M协议?

william_myq的博客 1189

定义申请OMA LwM2M Model Object

在LwM2M简介中有提到对象定义及资源定义,LwM2M Model即LwM2M协议定义的对象资源模型。LwM2M定义了资源模型,所有信息都可以抽象为资源以提供访问。资源是对象的内在组成,隶属于对象,LwM2M客户端可以拥有任意数量的资源。和对象一样,资源也可以有多个实例。 OMA资源模型由OMA统一管理,现有模型列表参照 https://github.com/OpenMobileAlliance/...

Black&White的专栏 1580

LwM2M协议

LwM2M的全称是Lightweight Machine-To-Machine, 它是由OMA提出并定义的. 1. 引导接口 引导接口的目的是向LwM2M客户端提供注册到LwM2M服务器的必要信息. 这些引导信息可以是由生产厂家预先存储在设备中, 也可以通过上下文提到的LwM2M引导服务器或者智能卡提前写入设备. 2. 客户端注册接口 注册接口的目的是使用LwM2M客户端与LwM2M服务器...

金溪的博客 2511

5、轻量级机器对机器(LwM2M)协议深度解析

本文深度解析了轻量级机器对机器(LwM2M)协议,涵盖其数据模型、功能模块、版本演进及协议栈变化,并介绍了如何使用Eclipse Leshan构建LwM2M客户端和服务器。LwM2M通过标准化资源模型和多种传输协议支持,解决了物联网设备互操作性和管理的关键问题,适用于智能家居、工业物联网等多个领域。

u8v9w0x1y的博客 80

LWM2M协议总结

LWM2M协议协议描述协议简介协议特性协议开源实现三级目录协议实现如何实现服务端效果 协议描述 协议简介 LwM2M(Lightweight M2M,轻量级M2M)是一种轻量级的、标准通用的物联网设备管理协议,可用于快速部署客户端/服务器模式的物联网业务。 协议特性 基于资源模型的简单对象 资源操作:创建/检索/更新/删除/属性配置 支持的数据格式:TLV/JSON/Plain Text/Opaqu 传输层协议:UDP/SMS 安全协议:DTLS NAT/防火墙应对方案: Queue模式 基本的M2M功能

weixin_37325965的博客 3191

Educoder | 计算机网络实验-IP协议分析

本关任务:使用 Ping 命令发送数据报,用 Wireshark 截获数据报,分析 IP 数据报的格式,理解 IPV4 地址的编址方法,加深对 IP 协议的理解。

Mksg_28的博客 4755

带你一分钟了解电感与磁珠的区别

在电路设计中会经常使用到电感和磁珠,虽然在电路中的作用有所不同,但它们都属于磁性电子元器件,本文简单介绍下电感和磁珠的区别电感和磁珠电感和磁珠的结构主要由磁性材料金属线圈和外壳组成,具体结构如下图所示:电感磁珠结构图电感其实是金属线圈缠绕在磁芯上,而磁珠是在内部折叠后外围包裹着铁氧体磁性材料。电感器(Inductor)又称扼流器、电抗器、动态电抗器是储能器件,能够把电能转化为磁能而存储起来的元件。磁珠则是能量转换(消耗)器件,将流过他的高频信号以热能的形式消耗掉。

攻城狮鹏哥 1409

LwM2M简介

1、LwM2M是什么 官方文档:http://www.openmobilealliance.org/release/LightweightM2M/ release:http://openmobilealliance.org/wp/index.html LwM2M的全称是Lightweight Machine-To-Machine,由OMA(Open Mobile Alliance)提出并定...

Black&White的专栏 1万+

保姆级教程:用PROGRAM_FTDI搞定Xilinx FPGA的JTAG调试器(基于FT232/FT2232/FT4232)

本文详细介绍了如何使用FT232/FT2232/FT4232系列芯片通过PROGRAM_FTDI工具配置Xilinx FPGA的JTAG调试器。从芯片选型、驱动安装到固件烧写和Vivado验证,提供了完整的实操指南和避坑要点,帮助开发者低成本实现高效调试。

weixin_29271053的博客 2154

LWM2M 简介

Lightweight 最基本的简介

xiangpt的专栏 2万+

AutoSAR配置视频讲解:简介

AutoSAR实验视频讲解:闪烁一颗LED实验【简介】 大家好,欢迎来到雪云飞星的《AutoSAR实验课的视频讲解》专栏。看过《AutoSAR入门到精通系列讲解》的朋友们应该对博主不陌生,有很多朋友加了博主的微信成为了好友,还有朋友约过线下见面,博主很高兴大家能从我的博客中获得一些收获。在专栏里博主挖了很多坑,当时也说过想要录制一个AutoSAR的配置视频教程,素材在20年初就已经录好,中间各种原因足足鸽了一年。当时因为一些技术原因只能通过博客的图文形式展示出来,现在我们剪辑了视频,请了专业的配音,希望以视

雪云飞星的博客 9653

C#调用opencv的dll

opencv算法和界面配合,刚入职的时候尝试过,利用的MFC,调试起来很痛苦。 后来基本都没怎么用界面,DOS的黑窗口,opencv自带的显示界面及滑动条凑合着调试用。 最近有点时间,刚好双十一在一个视觉群里看到了一个讲C#调用opencv的dll的课程,鉴于群主也是那门课的讲师,在平时解答群员的问题的时候很细心,能力也很强,因此有了这篇文章。 根据相机不同动态调用相机默认的属性...

Learning by doing 2975

基于NB-IoT的LWM2M协议浅析

LWM2M 协议是 OMA 组织制定的轻量化的 M2M 协议,主要面向基于蜂窝的窄带物联网(Narrow Band Internet of Things, NB-IoT)场景下物联网应用,聚焦于低功耗广覆盖(LPWA)物联网(IoT)市场,是一种可在全球范围内广泛应用的新兴技术。具有覆盖广、连接多、速率低、成本低、功耗低、架构优等特点。 移动 OneNET 平台采用的是基于 NB-IOT 的 LW...

AmazIOT的博客 2767

【YOLOv11】087、YOLOv11多任务学习:检测、分割、分类联合学习

摘要: 工业质检场景中,多任务模型(检测、分类、分割)的需求日益增长。针对边缘设备部署的挑战,本文提出基于YOLOv11的多任务学习方案。通过共享主干网络和设计分支头(检测、分割、分类),实现高效推理;采用动态权重平衡策略解决多任务损失不平衡问题;并优化数据流处理(支持部分标注)和推理剪裁(按需启用分支)。实验表明,该方法在Jetson Orin上帧率提升3倍,内存占用减少40%,为工业质检提供了轻量高效的解决方案。

企鹅码农的专属播客,分享10多年的实战案例和经验解读,包含YOLO、RT-DETR、AI等各个工作领域。 445

emqx lwm2m插件使用(一)

emqx lwm2m插件使用安装emqxemqx 使用DashboardEMQX_LWM2M插件功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入 安装emqx emqx 官方文档:https://docs.emqx.io/broke

u014437906的博客 5817

YOLOv11改进 - 卷积Conv | PATConv(Partial Attention Convolution)部分注意力卷积,在减少计算量的同时融合卷积与注意力的优势 | AAAI 2026

本文提出部分注意力卷积(PATConv)机制,并将其集成到YOLOv11中。传统神经网络中,卷积计算密集,注意力机制全局计算冗余,此前的“部分卷积”会丢失未计算通道的特征价值。PATConv通过“通道拆分 - 并行处理 - 结果拼接”的逻辑,给不同通道分配“擅长的任务”,兼顾局部与全局特征。基于此,它还衍生出PAT_ch、PAT_sp和PAT_sf三种细分模块。此外,还提出了动态部分卷积(DPConv),并构建了新的混合网络家族PartialNet。我们将PATConv代码集成到YOLOv11中,实验表明,

魔改工程师的博客 1085

【Unity3D开发小游戏】《打地鼠游戏》Unity开发教程

文章目录一、前言二、源码三、正文版本1、相机设置2、洞口设置3、洞口脚本4、鼹鼠5、鼹鼠动画6、鼹鼠碰撞器7、鼹鼠脚本8、击中鼹鼠的效果9、实现击中效果10、增加更多的洞口 一、前言 让我们使用Unity3D开发一个打地鼠游戏吧。 打地鼠游戏是一个非常有趣的街机游戏,是在1976年左右发明的。 游戏的主要玩法就是打击从洞里出来的鼹鼠,玩家击中鼹鼠的速度越快,得分就越高 我们将讲解制作游戏的所需的每...

优快云博客专家,Unity3D高级软件工程师,《Unity 3D从入门到实战》作者。 8460

php lwm2m,LwM2M和CoAP及它们之间的关系

在物联网应用开发中,进场会碰到LwM2M和CoAP,有时会会不知道选哪种合适。例如当出现LwM2M/CoAP这种配合时,可能会想这种连接方式到底是用LwM2M还是用CoAP,我的设备开发时,选LwM2M与物联网平台连接呢?还是选择CoAP与物联网连接呢?要弄明白这些,需要对LwM2M和CoAP是什么以及它们之间的关系有一些了解。1.LwM2M-Light Weight Machine to Ma...

weixin_33989001的博客 1337

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

docker创建EMQX,在EMQX上开启lwm2m协议插件,并测试与lwm2m客户端进行通讯

docker创建EMQX,在EMQX上开启lwm2m协议插件,测试EMQX与lwm2m客户端进行通讯。

席__的博客 9万+

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

Lwm2m的server分析

Wakaama 是lwm2m协议的一种实现,其源码路径为wakaama。lwm2m的实现分为server和client。 编译server的方法为: cmake [wakaama directory]/examples/server make ./lwm2mserver [Options] 我们看看server的makerfile是怎么写的 #要求cmake的版本必须是2.8 cmake_mi...

jason的笔记 3160

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

学习LwM2M协议

OMA Lightweight M2M 主要动机是定义一组轻量级的协议适用于各种物联网设备,因为M2M设备通常是资源非常有限的嵌入式终端,无UI, 计算能力和网络通信能力都有限。同时也因为物联网终端的巨大数量,节约网络资源变得很重要。 协议栈如下: 根据体系结构图[LwM2M-AD],有四个接口:1)引导,2)客户注册,3)设备管理和服务支持,4)信息报告。这四个接口的路由操作可分为上...

weixin_42673046的博客 9910

lwm2m和coap协议 简解读

从M2M管理平台端,我们向远程设备发送一个读取(read)操作,目的是(the intent to)从该设备上的固件资源读取值。(顺便说一下,如果我们想重启远程设备,我们会从管理平台向设备发送一个执行操作(execute)。)因此,在LWM2M逻辑操作层,我们可以读取M2M设备上的资源,向资源中写入(write)一个新值,在设备中创建(create)一个全新的对象实例,对某个资源执行(execut...

qq_15165093的博客 4490
上一篇: mac os平台使用python爬虫自动下载巨潮网络文件
下一篇: CoAP协议学习
究理观心
博客等级 码龄10年 184粉丝 111原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值