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
看如下解释The LwM2M Bootstrap-Server is used to provision the LwM2M Client with the information required to contact the LwM2M Server(s).说白了引导服务器就是告诉客户端去连接那个工作服务器的。
其中Client Initiated Bootstrap这种引导方式,需要客户端发送一个Bootstrap-Request,第4种方式不需要

4. 这3个逻辑实体有4组通信的交互
Device Discovery and Registration,这是客户端和工作服务器之间的注册接口
这个接口让客户端注册到服务器并通知服务器客户端所支持的能力(简单说就是支持哪些资源Resource和对象Object
Bootstrap,这是客户端和引导服务器之间的通信接口
Bootstrap server通过这个接口来配置Clinet - 比如说LWM2M server的URL地址
Device Management and Service Enablement,这是客户端和工作服务器之间的设备管理接口
这个就是最主要的业务接口了。 LWM2M Server 发送指令给 Client 并受到回应.
Information Reporting,这是客户端和工作服务器之间的上报接口
这个接口是 LWM2M Client 来上报其资源信息的,比如传感器温度。上报方式可以是事件触发,也可以是周期性的。
5. 客户端和引导服务器之间的通信接口

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

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

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

LWM2M简介-学习记录的更多相关文章
- UWP学习记录4-设计和UI之控件和模式1
UWP学习记录4-设计和UI之控件和模式1 1.控件和事件简介 在 UWP 应用开发中,控件是一种显示内容或支持交互的 UI 元素. 控件是用户界面的构建基块. 我们提供了超过 45 种控件供你使用, ...
- Python学习记录day6
title: Python学习记录day6 tags: python author: Chinge Yang date: 2016-12-03 --- Python学习记录day6 @(学习)[pyt ...
- 前端学习记录之Javascript-DOM
简介 为了快捷方便,在工作和项目中,一直都是使用的框架,比如jqeruy,vuejs,react等.然后在长时间使用框架后,往往有一个后遗症,就是对于原生的Javascript基本上已经不知道怎么写了 ...
- java开源项目之IQQ学习记录之项目环境搭建与启动
本文链接地址:http://blog.csdn.net/sushengmiyan/article/details/18779727 作者:sushengmiyan 现在就码字说说今天晚上搞定的一个项目 ...
- 《java从入门到精通》学习记录
目录 <Java从入门到精通>学习记录 3 基础的基础部分: 3 一. 常量与变量 3 1. 掌握: 3 (1) .常量与变量的声明方式: 3 (2) .变量的命名规则: 3 (3) .变 ...
- Android学习记录(3)—Android中ContentProvider的基本原理学习总结
一.ContentProvider简介 当应用继承ContentProvider类,并重写该类用于提供数据和存储数据的方法,就可以向其他应用共享其数据.虽然使用其他方法也可以对外共享数据 ...
- Solr学习记录:Getting started
目录 Solr学习记录:Getting started 1.Solr Tutorial 2. A Quick Overview Solr学习记录:Getting started 本教程使用环境:jav ...
- JavaScript学习记录一
title: JavaScript学习记录一 toc: true date: 2018-09-11 18:26:52 --<JavaScript高级程序设计(第2版)>学习笔记 要多查阅M ...
- HTTP学习记录
title: HTTP学习记录 toc: true date: 2018-09-21 20:40:48 HTTP协议,HyperText Transfer Protocol,超文本传输协议,是因特网上 ...
随机推荐
- oracle 日期常用函數sysdate
SYSDATE 2 --◎ 可得到目前系統的時間 3 4 ex. 5 select sysdate from dual; 6 ...
- PHP 判断常量,变量和函数是否存在
判断变量是否被定义:defined() if (defined('CONST_NAME')) { //do something } 判断变量是否存在:isset() ,注意变量未声明或声明时赋值为NU ...
- VS 2013 scanf 报错问题
在VS2013 用C/C++编码时 使用scanf 会出现如下错误信息: 解决方法如下: 1. 在工程文件名出右击鼠标打开快捷菜单,找到“属性”选项,进入项目属性页面 2. 进入属性页面,找到“配置属 ...
- 【bootstrap】插件
1.bootstrap.js 和 bootstrap.min.js 都包含了所有的插件. 2.命名空间:即域:域内成员的有效范围.超出范围就是无效. 3.通过 data 属性 API 就能使用所有的 ...
- Centos7 中使用Supervisor守护进程
转:https://www.cnblogs.com/qmhuang/p/8196132.html 配置supervisor实现进程守护 1.安装supervisor yum install Super ...
- 【转】优秀的Java程序员必须了解GC的工作原理
一个优秀的Java程序员必须了解GC的工作原理.如何优化GC的性能.如何与GC进行有限的交互,因为有一些应用程序对性能要求较高,例如嵌入式系统.实时系统等,只有全面提升内存的管理效率 ,才能提高整个应 ...
- 二维码生成(QRCode.js)
什么是 QRCode.js? QRCode.js 是一个用于生成二维码的 JavaScript 库.主要是通过获取 DOM 的标签,再通过 HTML5 Canvas 绘制而成,不依赖任何库. 基本用法 ...
- 【算法笔记】B1010 一元多项式求导
1010 一元多项式求导 (25 分) 设计函数求一元多项式的导数.(注:xn(n为整数)的一阶导数为nxn−1.) 输入格式: 以指数递降方式输入多项式非零项系数和指数(绝对值均为不超过 ...
- linux配置mysq与navicat关联
第一步:在linux中安装mysql(执行如下语句) 安装 mysql: yum install mysql yum install mysql-server yum install mysql-de ...
- ubnutu 安装protocol buffer
工作中需要使用protocol buffer,需要编译出protocol buffer的动态链接库,然后在别的makefile中链接它, 我的环境是ubnutu16.04,64bit,使用的proto ...