概述
文章目录
- 前言
- 一、OneNET Studio CoAP协议设备创建
- 1.产品生成
- 2.添加设备
- 3.Token 验证信息生成
- 二、接入OneNET Studio
- 1.配置入网
- 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 过期时间,可使用以下参数:1959846627
- key: 设备密钥
根据上一节获得的信息,填写进生成工具中,其他保持默认:
如果你向使用算法实现Token值得生成,可以参考OneNET 官方说明文档:https://open.iot.10086.cn/doc/iot_platform/book/device-connect&manager/device-auth.html#3
二、接入OneNET Studio
在此之前,肯定需要看一下OneNET的接入文档:CoAP设备连接说明
OneNET 对CoAP 的设备接入的报文如下:
根据报文要求,需要完善的信息:
- POST=$sys/DvScwhzPZj/EC-01/login
- payload={“lt”:86400, “st”:“version=2018-10-31&res=products%2FDvScwhzPZj%2Fdevices%2FEC-01&et=1959846627&method=md5&sign=ah51NJM4ZDRE2S1hpfx3SA%3D%3D”}
只需要完善这两个信息就可以实现设备登录了,接下来就是给EC-01开发板发送指令即可:
1.配置入网
AT+CGATT=1rn
AT+CGDCONT=1,"IP","CMNOIOT1"rn
AT+CGACT=1rn
AT+CREG=1rn
2.登录请求
AT+COAPCREATE=56840rn
AT+COAPOPTION=2,11,"$sys/DvScwhzPZj/EC-01/login",12,"50"rn
AT+COAPSEND=0,2,"183.230.102.116",5683,143,"{"lt":86400,"st":"version=2018-10-31&res=products%2FDvScwhzPZj%2Fdevices%2FEC-01&et=1959846627&method=md5&sign=ah51NJM4ZDRE2S1hpfx3SA%3D%3D"}"rn
AT+COAPCREATE=56840——创建本地端口号
AT+COAPOPTION=2,11,“$sys/DvScwhzPZj/EC-01/login”,12,“50”
- 2——需要配置的参数数量
- 11——配置Uri-Path=$sys/DvScwhzPZj/EC-01/login
- 12——配置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"rn
AT+COAPOPTION=3,11,"$sys/DvScwhzPZj/EC-01/thing/property/post",12,"50",17,"50"r]n
AT+COAPSEND=0,2,"183.230.102.116",5683,63,"{"id":"123","version":"1.0","params":{"swtich":{"value":true}}}"rn
指令结果
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,2462CE27D21665C3rn
AT+COAPOPTION=3,11,"sys/DvScwhzPZj/thing/property/set_reply",12,"50",17,"50"rn
AT+COAPSEND=2,2,"183.230.102.116",5683,23,"{"id":12345,"code":200}"rn
注意:因为OneNET对相应的超时时间比较短,使用串口工具配置头部无法在超时时间内完成发送响应,建议使用MCU来完成
3.设备登出
指令:
AT+COAPOPTION=2,11,"$sys/DvScwhzPZj/EC-01/logout",12,"50"rn
AT+COAPSEND=0,2,"183.230.102.116",5683,130,"{"st":"{token值}"}"rn
四. 联系我们
以上就是本期分享的内容,目的在于让大家快速适应新品方案的开发,更多资料可从我们官网上获取。
官方官网:https://www.ai-thinker.com
开发资料:https://docs.ai-thinker.com/
官方论坛:http://bbs.ai-thinker.com
技术支持:support@aithinker.com
最后
以上就是标致绿茶为你收集整理的【安信可NB-IoT模组EC系列应用笔记⑨】使用CoAP协议接入OneNET Studio实现数据收发前言一、OneNET Studio CoAP协议设备创建二、接入OneNET Studio三、数据收发四. 联系我们的全部内容,希望文章能够帮你解决【安信可NB-IoT模组EC系列应用笔记⑨】使用CoAP协议接入OneNET Studio实现数据收发前言一、OneNET Studio CoAP协议设备创建二、接入OneNET Studio三、数据收发四. 联系我们所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复