我是靠谱客的博主 饱满夕阳,最近开发中收集的这篇文章主要介绍LWM2M初步了解,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

LWM2M初步了解

LWM2M全称lightweight Machine to Machine,是一种物联网协议,主要可以使用在资源受限(包括存储、功耗等)的嵌入式设备上

协议层次结构

LWM2M属于应用层协议,位于CoAP协议之上,而CoAP可以进行DTLS加密处理,最后通过UDP或SMS方式传送。

 

物联网热了几年,最基本以及广泛的应用还只是 Device Management. 基本功能包括: 软件/固件升级,应用程序升级,远程的参数监视告警。

 

Lightweight M2M 基础

OMA是一家国际组织,最初定义了一套 OMA-DM的协议,用来远程管理移动终端设备,比如手机开户,版本升级,等等。因为物联网的兴起, OMA在传统的OMA-DM协议基础之上,提出了LWM2M协议。

OMA Lightweight M2M 主要动机是定义一组轻量级的协议适用于各种物联网设备,因为M2M设备通常是资源非常有限的嵌入式终端,无UI, 计算能力和网络通信能力都有限。同时也因为物联网终端的巨大数量,节约网络资源变得很重要。

 

LWM2M 定义了三个逻辑实体:

LWM2M Server 服务器

LWM2M client 客户端 负责执行服务器 的命令和上报执行结果

LWM2M 引导服务器 Bootstrap server 负责 配置LWM2M客户端.

在这三个逻辑实体之间有4个逻辑接口:

(1)Device Discovery[发现] and Registration[注册]

这个接口让客户端注册到服务器并通知服务器客户端所支持的能力【简单说就是支持哪些资源Resource(比如传感器温度)和对象Object。】

(2)Bootstrap server

Bootstrap server通过这个接口来配置Clinet - 比如说LWM2M server的URL地址。

(3)Device Management and Service Enablement

这个就是最主要的业务接口了。 LWM2M Server 发送指令给 Client 并受到回应。

(4)Information Reporting

这个接口是 LWM2M Client 来上报其资源信息的,比如传感器温度。上报方式可以是事件触发,也可以是周期性的。

 

 

Lightweight M2M 协议栈

LWM2M Objects: 每个对象对应客户端的某个特定功能实体. LWM2M 规范定义了一下标准Objects,比如

urn:oma:lwm2m:oma:2; (LWM2M Server Object)

urn:oma:lwm2m:oma:3; (LWM2M Access Control Object)

每个object下可以有很多resource. 比如Firmware object可以有Firmware版本号,size等resource。

LWM2M Protocol: 定义了一些逻辑操作,比如Read, Write, Execute, Create or Delete.

CoAP: 是IETF 定义的Constrained Application Protocol 用来做LWM2M的传输层,下层可以是 UDP 或SMS。UDP 是必须支持的,SMS是可选的。CoAP有自己的消息头,重传机制等。

DTLS: 是用来保证客户端和服务器间的安全性的.

 

 

LWM2MMQTTCoAP区别和联系

一、MQTT

1、概述:

MQTTMessage Queuing Telemetry Transport,消息队列遥测传输)是IBM开发的一个即时通讯协议,有可能成为物联网的重要组成部分。

代理软件

Mosquitto —— 这是最早在生产环境中可用的消息代理之一,以 C 语言编写,提供轻量级多种配置与高性能。

Mosca —— Node.js 编写,可嵌入 Node 应用或以独立可执行文件的形式运行。由于配置简单并具有可扩展性,它也是我们最喜欢的消息代理,具有高性能的优点。

RSMB —— IBM MQTT 协议的实现,也是最不常用的选项之一,不过它是一个用C语言编写的成熟系统。

HiveMQ —— HiveMQ 是一种相对较新的消息代理,面向企业环境,在博客上有很多关于 MQTT 不错的信息。

二、CoAP

由于物联网中的很多设备都是资源受限型的,即只有少量的内存空间和有限的计算能力,所以传统的HTTP协议应用在物联网上就显得过于庞大而不适用。

三、MQTTCoAP比较

 

 

LWM2M简介

1. Lightweight M2M 基础,谁搞出来的

OMA是一家国际组织,因为物联网的兴起, OMA在传统的OMA-DM协议基础之上,提出了LWM2M协议。这个协议基于COAP协议,COAP协议基于UDP协议。

2. lwm2m怎么组成,有3个设备(或者叫做逻辑实体),客户端设备,引导服务器,工作服务器

LWM2M Server 工作服务器 

LWM2M client 客户端 负责执行服务器的命令和上报执行结果

LWM2M Bootstrap server 引导服务器负责配置LWM2M客户端

理解是,首先有个设备,比如你的电脑,算是LWM2M client 客户端设备,其次需要一个引导服务器 Bootstrap server,它是用来配置你的电脑的,还有一个Server 工作服务器。我这边理解是你的电脑先去问问引导服务器,我应该去连那个工作服务器,然后再去连接工作服务器,类似于投石问路。

3. Bootstrap是什么,类似于引导程序

客户端有4个引导方式,其中后面两种需要LWM2M 引导服务器 Bootstrap server

Factory Bootstrap
Bootstrap from Smartcard
Client Initiated Bootstrap
Server Initiated Bootstrap

引导服务器就是告诉客户端去连接那个工作服务器的。

其中Client Initiated Bootstrap这种引导方式,需要客户端发送一个Bootstrap-Request,第4种方式不需要

5. 客户端和引导服务器之间的通信接口

6. 客户端和工作服务器之间的注册接口

7. 客户端和工作服务器之间的设备管理接口

8. 客户端和工作服务器之间的上报接口

最后

以上就是饱满夕阳为你收集整理的LWM2M初步了解的全部内容,希望文章能够帮你解决LWM2M初步了解所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(53)

评论列表共有 0 条评论

立即
投稿
返回
顶部