100字范文,内容丰富有趣,生活中的好帮手!
100字范文 > 【安信可NB-IoT模组EC系列应用笔记⑨】使用CoAP协议接入OneNET Studio实现数据收发

【安信可NB-IoT模组EC系列应用笔记⑨】使用CoAP协议接入OneNET Studio实现数据收发

时间:2022-10-16 03:36:54

相关推荐

【安信可NB-IoT模组EC系列应用笔记⑨】使用CoAP协议接入OneNET Studio实现数据收发

文章目录

前言一、OneNET Studio CoAP协议设备创建1.产品生成2.添加设备3.Token 验证信息生成 二、接入OneNET Studio1.配置入网2.登录请求 三、数据收发1.属性上报1)报文完善2)数据上报指令 2.属性值接收3.设备登出 四. 联系我们

前言

上一篇文章中教大家如何使用LwM2M协议接入OneNET 旧版云平台,想必大家对如何接入OneNET Studio也比较关心。OneNET Studio我就不必过多介绍了,因为在此之前我们也有很多关于如何接入OneNET Studio的文章:

ec系列mqtt连接新版onenet

上一篇文章中,介绍了LwM2M接入OneNET,而LwM2M协议正是以COAP协议传输的,所以本文直接介绍COAP协议接入OneNET Studio。

一、OneNET Studio CoAP协议设备创建

言简意赅的硬件准备

硬件准备就不过多介绍了,还是原来的配方,一个带有SIM卡并能成功入网的EC-01开发板。

1.产品生成

在OneNET创建产品时,接入协议选择CoAP就可以了。

其他选项根据实际情况填写。创建完成之后,象征性的给物模型添加一个自定义功能点。

2.添加设备

新建的产品中,下面是没有任何设备的,需要自行添加。如果你不会添加,请事先查看上面的教程连接。设备添加完成之后,在设备的详情页里可以看到以下信息,本文所展示的设备信息会在发布后删除

其中以下三个信息是必要的:

产品ID:DvScwhzPZj

设备名称:EC-01

设备密钥:h0LwBw57D23tvW0VU5CPh14RodelYTxWxfhfFkvJurk=

3.Token 验证信息生成

众所周知,设置接入OneNET Studio 都需要Token验证,否则一律无法接入,这里我们使用OneNET官方提供的Token生成工具来制作Token 验证信息:点击下载Token.exe

Token.exe打开后,需要填写的内容如下:

res:产品和设备组合而成的信息:products/产品ID/devices/设备名称et:Token 过期时间,可使用以下参数:1959846627key:设备密钥

根据上一节获得的信息,填写进生成工具中,其他保持默认:

如果你向使用算法实现Token值得生成,可以参考OneNET 官方说明文档:https://open./doc/iot_platform/book/device-connect&manager/device-auth.html#3

二、接入OneNET Studio

在此之前,肯定需要看一下OneNET的接入文档:CoAP设备连接说明

OneNET 对CoAP 的设备接入的报文如下:

根据报文要求,需要完善的信息:

POST=$sys/DvScwhzPZj/EC-01/loginpayload={“lt”:86400, “st”:“version=-10-31&res=products%2FDvScwhzPZj%2Fdevices%2FEC-01&et=1959846627&method=md5&sign=ah51NJM4ZDRE2S1hpfx3SA%3D%3D”}

只需要完善这两个信息就可以实现设备登录了,接下来就是给EC-01开发板发送指令即可:

1.配置入网

AT+CGATT=1\r\nAT+CGDCONT=1,"IP","CMNOIOT1"\r\nAT+CGACT=1\r\nAT+CREG=1\r\n

2.登录请求

AT+COAPCREATE=56840\r\nAT+COAPOPTION=2,11,"$sys/DvScwhzPZj/EC-01/login",12,"50"\r\nAT+COAPSEND=0,2,"183.230.102.116",5683,143,"{"lt":86400,"st":"version=-10-31&res=products%2FDvScwhzPZj%2Fdevices%2FEC-01&et=1959846627&method=md5&sign=ah51NJM4ZDRE2S1hpfx3SA%3D%3D"}"\r\n

AT+COAPCREATE=56840——创建本地端口号

AT+COAPOPTION=2,11,“$sys/DvScwhzPZj/EC-01/login”,12,“50”

2——需要配置的参数数量11——配置Uri-Path=$sys/DvScwhzPZj/EC-01/login12——配置Content-Format=50 50表示:application/json

AT+COAPSEND=0,2,“183.230.102.116”,5683,143,“{“lt”:86400,“st”:“token”}”

0——CON, 可确认消息(需要ACK / RST)2——POST方式183.230.102.116——OneNET 服务器地址5683——OneNET 端口号143——payload 长度,后面就是payload

登录结果:

可以看到,已经登录成功了,并且返回了tokoen信息,就是这个:

使用16进制显示就是:2B 01 EA 48 56 8D 5B 17,这个在数据上报的时候需要用到。

三、数据收发

1.属性上报

1)报文完善

同样的,看到设备上报的报文要求:

报文信息完善如下:

POST=$sys/DvScwhzPZj/EC-01//thing/property/post

payload{"id":"123","params":{"swtich":{"value":true}}}

2)数据上报指令

上一节中登录成功后,我们获得了数据上报要用的Token,把token的空格去掉就得到2B01EA48568D5B17,使用这个token 来设置CoAP 头,所以数据上报的指令为:

AT+COAPHEAD=2,8,"2B01EA48568D5B17"\r\nAT+COAPOPTION=3,11,"$sys/DvScwhzPZj/EC-01/thing/property/post",12,"50",17,"50"\r]nAT+COAPSEND=0,2,"183.230.102.116",5683,63,"{"id":"123","version":"1.0","params":{"swtich":{"value":true}}}"\r\n

指令结果

2.属性值接收

属性值的接收只需要回一个响应即可,比如收到以下信息:

+COAPURC: "req",0,3,19566,15,8,2462CE27D21665C3,11,"$sys",11,"DvScwhzPZj",11,"EC-01",11,"thing",11,"property",11,"set",12,"50",,53,{"id":"13","version":"1.0","params":{"swtich":false}}

其中的2462CE27D21665C3,为响应消息的token,需要根据此token 设置响应的报文头部。

响应属性设置指令如下:

AT+COAPHEAD=2,8,2462CE27D21665C3\r\nAT+COAPOPTION=3,11,"sys/DvScwhzPZj/thing/property/set_reply",12,"50",17,"50"\r\nAT+COAPSEND=2,2,"183.230.102.116",5683,23,"{"id":12345,"code":200}"\r\n

注意:因为OneNET对相应的超时时间比较短,使用串口工具配置头部无法在超时时间内完成发送响应,建议使用MCU来完成

3.设备登出

指令:

AT+COAPOPTION=2,11,"$sys/DvScwhzPZj/EC-01/logout",12,"50"\r\nAT+COAPSEND=0,2,"183.230.102.116",5683,130,"{"st":"{token值}"}"\r\n

四. 联系我们

以上就是本期分享的内容,目的在于让大家快速适应新品方案的开发,更多资料可从我们官网上获取。

官方官网:https://www.ai-

开发资料:https://docs.ai-/

官方论坛:http://bbs.ai-

技术支持:support@

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。