NB-loT 之通过 Iwm2m 服务器测试 Coap 协议报文 | 学习笔记

简介: 快速学习 NB-loT 之通过 Iwm2m 服务器测试 Coap 协议报文

开发者学堂课程【嵌入式之 RFID 开发与应用2020版:NB-loT 之通过 Iwm2m 服务器测试 Coap 协议报文】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/665/detail/11198


NB-loT 之通过 Iwm2m 服务器测试 Coap 协议报文

服务器没有打印信息,另外操作直播界面不方便,但不是学习前端可以了解另外一个工具,就是讲到的 copper 工具,copper 是基于 js 编写,可以直接作为浏览器的插件存在。

直接在浏览器中搜索 copper ,首先需要找到源代码或者百度一下:浏览器安装 copper 插件,然后点击相关内容学习。安装插件 copper 的前提是下载插件 copper,下载源码 :https://github.com/mkovatsc/Copper4Cr。

下载完成后需要把它解压,解压完成后安装网页教程安装:如果是 wendousi 系统执行 istall.bat  文件,如果是 Linux 执行 istall.sh 文件;在执行文件前需要在浏览器中更改设置,最好是谷歌浏览器,在更多工具的拓展程序中,点击【加载拓展程序】 把两个拓展程序(Copper4Cr-master 文件夹中 app 和 extension )加载进来,加载完成后需要把开放者模式打开;点击"Chrome 应用"里 copper 左下角的"详细情况",复制 ID 号,如果没有完成加载,会显示 id 号;打开 copper 源码文件夹中 extension/endpoint 文件夹下的 ClientPortChrome.js 文件,找到 appId,将刚才复制的 ID 号替换进入,然后保存;粘贴完成后启用,启用完成后就相当于插件安装完成。

image.png

其实是 js 版的 copper,点击图标即可使用

image.png

启动之后,把它当作客户端需要链接服务器,需要输入服务器地址,不要把android2 服务器 断了,如果断了就链接不上服务器。如果链接不上服务器,需要在 android2 启动服务器。如果还是不行,更换另一个服务器。

image.png

对服务器做一些简单操作,除了 GET 外,使用 POST ,在 copper 中进行的各种操作服务器没有任何反映。所以对于 coap-sever 服务器有问题:只能作为服务器进行数据的上行下行,如果使用它进行调试看不到信息。使用 ./coap-server --help 可以去看它的帮助信息,帮助信息中没有太多有用信息,解决不了问题,所以就不使用这个服务器。

image.png

在上面课程中讲到在 Coap 协议之上还有 LwM2M,例如移动很少使用 Coap协议而是直接使用 LwM2M。可以直接下载 LwM2M 的开源软件,这种开源软件不是很好找,而且名字特别奇怪,开源软件在 gethup 中搜不到需要在 开源中国 中搜索,在开源中国中搜索软件名称,软件名称为 Wakaama ,点击进去有关于 Wakaama-LwM2M开源协议栈 的介绍,向下滑动直接点击 【官方下载】会切换到 gethup 中(在gethup 中也有这个软件,之前没有搜到),点击 【Clone or download】 下载。

image.png

下载完成后,解压出来,进去后不需要安装 coap 协议,它把 coap 协议继承在里面,需要安装 coap 协议也不需要安装 examples 协议栈,Wakaama 中的协议栈都是以安卓文件的形式存在。例如需要编译服务器,直接执行 cmake. 即可。 cmake. 通过 CMakeFiles 生成当前目录下 makefall ,然后去 make 即可。

image.png

这个服务器就启动完成,需要把已经启动的服务器退出,如果不退出那么这个服务器无法执行。当前服务器(1wm2mserver)可以把所有访问信息打印出来,例如回到 copper 中,左侧项目栏是 copper 的资源,.well-known 下的 core,async,time。可以 GET 一个时间,点击 get 可以在服务器中查看访问信息,这是请求的时间 40 01 2F EE B4 74 69 6D 65 C1 02 @./..time.. 一共十一个字节,

image.png

怎么看请求时间,应对照协议栈查看,前四个比特位是版本现在看到的是 40(即0100) 说明报文类型位 CON ,接下来是 coap 的长度,coap 长度为0,所以是 40;01 是 code,code 占用八位有高三位和低五位组成,0表示发给服务器的请求,请求类型为 GET,POST,PUT,DELETE 如果是 GET 就是 01,POST 是02,PUT 是 03。01 就是 copper 中  GET。

image.png

然后在 copper 中点击 POST,在服务器中查看 code 值为 02;点击 PUT 在服务器中查看 code 值为 03;点击 DELETE 在服务器中查看 code 值为 04。对应协议栈中的四种操作。

image.png

这些操作删除不会出现问题,因为服务器没有权限。Copper 中给 code 的值是 4.00,在协议栈中 4.00 代表请求错误,服务器无法处理。

Token 也是 0。

image.png

Copper 还可以在 Outgoing 上传数据,例如上传 555,输入后点击 PUT,服务器会收到 555,555 是给 time 资源的;555 内容出现在 35 35 35,中间的 FF 是分隔符,FF 之前的 69 6D 65 10 B1 02 都是选项;Token 没有占用空间;MAssage ID是 copper 中的 MId(MAssage 简称为 MID)12274(12274 为十进制,转为十六进制为 2FF2),那么服务器对应的 2F F2 是 MAssage ID;B4 74 69 6D 65 10 B1 02 是选项;40 03 为协议头部,2F F2 是 MAssage ID,4 74 69 6D 65 10 B1 02 是选项,FF 为分隔符, 35 35 35 为帧载荷。

image.png 

通过服务器工具 LwM2M 分析 Coap 协议栈。里面提供了很多例子,例如一个点一个N为客户端,这个客户端是N的开关,make 一下生成简单的客户端,然后客户端把目标的 ID,目标的实例 ID 和类;可以在服务器中查看,这是 N 的客户端,服务器中的有关命令可以通过 help<-list 把当前资源列出,还可以读取 read 0/1/0 零个资源中的一然后零,可以在服务器中查看资源的类型,资源的只是什么。

这是 coap 协议服务器,coap 上面是 LwM2M, LwM2M 是典型的 coap 的应用,一个被封装的上层应用,可以通过后端加服务器的方式实现对资源的管理,设置。有关 coap 协议的开源软件就介绍几个,了解一下即可,大部分时候连接云平台中已经搭建的服务器,对客户端服务商以及云平台也会提供sbk。

相关文章
|
2月前
|
网络协议 安全 测试技术
手撕测试tcp服务器效率工具——以epoll和io_uring对比为例
手撕测试tcp服务器效率工具——以epoll和io_uring对比为例
40 2
|
2月前
|
存储 弹性计算 运维
阿里云服务器ECS经济型e实例详细介绍_性能测试和租用价格
阿里云服务器ECS经济型e实例详细介绍_性能测试和租用价格,阿里云服务器ECS推出经济型e系列,经济型e实例是阿里云面向个人开发者、学生、小微企业,在中小型网站建设、开发测试、轻量级应用等场景推出的全新入门级云服务器,CPU采用Intel Xeon Platinum架构处理器,支持1:1、1:2、1:4多种处理器内存配比,e系列性价比优选
|
28天前
|
人工智能 自然语言处理 算法
ICLR 2024 Spotlight:DyVal——首个大语言模型的动态测试评测协议
【2月更文挑战第28天】ICLR 2024 Spotlight:DyVal——首个大语言模型的动态测试评测协议
14 1
ICLR 2024 Spotlight:DyVal——首个大语言模型的动态测试评测协议
|
1月前
|
弹性计算 分布式计算 DataWorks
DataWorks报错问题之ecs自建数据库连通性测试报错如何解决
DataWorks是阿里云提供的一站式大数据开发与管理平台,支持数据集成、数据开发、数据治理等功能;在本汇总中,我们梳理了DataWorks产品在使用过程中经常遇到的问题及解答,以助用户在数据处理和分析工作中提高效率,降低难度。
|
1月前
|
弹性计算 缓存 测试技术
阿里云2核4g服务器(费用价格/性能测试/支持人数)
阿里云2核4g服务器能支持多少人访问?2核4G服务器并发数性能测试,阿小云账号下的2核4G服务器支持20人同时在线访问,然而应用不同、类型不同、程序效率不同实际并发数也不同,2核4G服务器的在线访问人数取决于多个变量因素
|
1月前
|
弹性计算 缓存 测试技术
2核4g服务器能支持多少人访问?阿里云2核4G服务器并发数测试
2核4g服务器能支持多少人访问?阿里云2核4G服务器并发数测试,2核4G服务器并发数性能测试,阿小云账号下的2核4G服务器支持20人同时在线访问,然而应用不同、类型不同、程序效率不同实际并发数也不同,2核4G服务器的在线访问人数取决于多个变量因素
|
2月前
|
Java 测试技术 编译器
JMM测试利器-JCStress学习笔记
JMM测试利器-JCStress学习笔记
|
2月前
|
存储 负载均衡 监控
epoll服务器百万并发测试
epoll服务器百万并发测试
31 1
|
2月前
|
弹性计算 数据中心
阿里云香港服务器详细介绍_BGP多线精品测试_CN2高速网络
阿里云香港服务器中国香港数据中心网络线路类型BGP多线精品,中国电信CN2高速网络高质量、大规格BGP带宽,运营商精品公网直连中国内地,时延更低,优化海外回中国内地流量的公网线路,可以提高国际业务访问质量。阿里云百科来详细介绍阿里云香港云服务器
|
2月前
|
弹性计算 测试技术 数据中心
阿里云香港服务器BGP多线精品网络_CN2性能测试_中国香港主机测试
阿里云香港服务器BGP多线精品网络_CN2性能测试_中国香港主机测试,阿里云香港服务器中国香港数据中心网络线路类型BGP多线精品,中国电信CN2高速网络高质量、大规格BGP带宽,运营商精品公网直连中国内地,时延更低,优化海外回中国内地流量的公网线路,可以提高国际业务访问质量