连接OneNET NB设备流程

关于 OneNET 平台的详细说明和使用指导,请登录中国移动物联网开放平台-OneNET 文档中心-https://open.iot.10086.cn/doc/art398.html#97,进行研究学习。AM20E 模块接入 OneNET 平台之前,需要完成 OneNET 平台侧的用户注册和产品创建。用户注册和产品创建的步骤在中国移动物联网开放平台-OneNET 文档中心已有详细说明,为衔接清晰,重述如下: ## 1 用户注册 ### 1.1登录注册界面,进入 OneNET 平台注册。 ![image.png](https://cos.easydoc.net/84373768/files/k43vzpms.png) ### 1.2 根据提示信息,以及需要注册为“个人用户”或者“企业用户”。 ![image.png](https://cos.easydoc.net/84373768/files/k43vzxt5.png) ## 2 产品创建 ### 2.1完成用户注册并登录后,进入开发者中心进行产品创建。 ![image.png](https://cos.easydoc.net/84373768/files/k43w05be.png) ### 2.2产品创建时,根据页面内容,填写您的产品信息。 ![image.png](https://cos.easydoc.net/84373768/files/k43w0fih.png) ![image.png](https://cos.easydoc.net/84373768/files/k43w30ez.png) 产品创建完成之后,添加设备,其中,AM20E 模块的 IMEI 号和 SIM 卡的 IMSI 号,可使用串口调试工具,分别通过 AT+ CGSN指令和 AT+CIMI 指令获取,并填入。 ![image.png](https://cos.easydoc.net/84373768/files/k43w3abk.png) 产品创建并添加设备完成之后,可在设备管理界面看到所添加的设备,设备栏灰色表示离线状态。 ![image.png](https://cos.easydoc.net/84373768/files/k43w3kxc.png) 在模块侧接入流程中,当模块收到平台侧返回的注册结果+MIPLEVENT:0,6,完成注册。设备栏将显示绿色,表示在线状态。 ## 3.模块侧接入流程 模块初始化流程 ![image.png](https://cos.easydoc.net/84373768/files/k43w3qn1.png) 在接入 OneNET 平台前,需要确保模块初始化完成,模块成功注册网络。 上述模块接入 OneNET 平台流程图中,需要说明的是: 1数据交互过程中,平台 READ/WRITE/EXECUTE/PARAMETER 操作请求、模块资源值上报、以及模块更新注册信息,这 3 个步骤不分先后顺序,所以未对其按顺序进行编号。 2图中虚线箭头表示 OneNET 平台将返回响应结果+MIPLEVENT 给模块侧。+MIPLEVENT 返回值请参考 AT 指令集的说明。 ## 4.模块接入 OneNET 平台流程 模块完成初始化流程并成功注册网络后,接入 OneNET 平台,流程图如下所示:![image.png](https://cos.easydoc.net/84373768/files/k43w588j.png) ## 5.参考示例 ```` AT +PBREADY AT //确认串口正常 OK AT+CSQ //检查当地的网络信号强度,31 为最大,0 为最小,99为无效值 +CSQ: 26,99 //建议该命令空闲时循环发送了解网络信号状态 OK AT+CEREG? //模块注册网络正常 +CEREG: 0,1 OK AT+XIIC=1 //手动获取 IP 地址 OK AT+XIIC? +XIIC: 1,10.34.94.95 OK AT+MIPLVER? //查询基础通信套件版本 2.2.0 OK AT+MIPLCREATE +MIPLCREATE:0 //创建基础通信套件成功,返回<ref>为 0,0 是基础通信套件标识,后续 AT 指令都需要使用到它 OK AT+MIPLADDOBJ=0,3303,2,"11",6,1 //添加对象 3303,2 个实例,6 个属性。其中对象 Objectid3303 需遵守命名规范,请参考链接: http://www.openmobilealliance.org/wp/OMNA/LwM2M/LwM2MRegistry.html, OK AT+MIPLOPEN=0,3600 // OK +MIPLEVENT:0,1 //OneNET 平台返回结果 BOOTSTRAP_START +MIPLEVENT:0,2 //OneNET 平台返回结果 BOOTSTRAP_SUCCESS +MIPLEVENT:0,4 //OneNET 平台返回结果 CONNECT_SUCCESS +MIPLEVENT:0,6 //OneNET 平台返回结果 REG_SUCCESS //模块侧收到上述返回值表示请求注册成功,此时,刷新OneNET 平台可看到设备显示绿色在线状态。 ![image.png](https://cos.easydoc.net/84373768/files/k43w666u.png) 模块响应 OneNET 平台 Observer 请求和 Discover 请求,完成订阅 +MIPLOBSERVE:0,87667,1,3303,0,-1 //OneNET 平台对象/实例Observe 请求 AT+MIPLOBSERVERSP=0,87667,1 //模块响应 Observe 请求,其中 msgid=87667 必须对应 OneNET 平台 Observe 请求消息中下发的 msgid OK +MIPLEVENT:0,21 //模块响应Observe 请求成功 +MIPLDISCOVER:0,153204,3303 //OneNET 平台对象 Discover 请求 +MIPLDISCOVER:0,153204,3303 AT+MIPLDISCOVERRSP=0,153204,1,34,"5700;5701;5601;5602;5603;5604;5605" OK //模块响应Discover 请求,其中msgid=153204 必须对应 OneNET 平台 Discover 请求消息中下发的msgid。模块响应 Discover 请求时创建7 个资源,每个资源用分号“;”隔开,其中资源Resourceid 5700;5701;5601;5602;5603;5604;5605 需遵守 IPSO 规范定义,请参考链接:http://www.openmobilealliance.org/wp/OMNA/LwM2M/LwM2MRegistry.html, +MIPLEVENT:0,21 //平台返回 Discover 请求结果给模块,完成订阅。此时OneNET 平台上可查看到对象 3303 对应的资源列表信息。 ![image.png](https://cos.easydoc.net/84373768/files/k43w6lts.png) 模块与 OneNET 平台数据交互 +MIPLREAD:0,21459,3303,0,5700 //平台请求指定资源(此处指Resourceid 5700)的 READ 请求 AT+MIPLREADRSP=0,21459,1,3303,0,5700,4,5,20.22,0,0 //模块响应平台 READ 请求,其中msgid=21459 必须对应 OneNET 平台 READ 请求消息中下发的 msgid,4 表示 float 数据类型。模块将资源值 20.22 返回给OneNET 平台侧。 OK +MIPLEVENT:0,21 //模块收到平台返回的响应结果,刷新OneNET 平台,可看到实例 0,资源 5700 的属性值更新为 20.2199999。 ![image.png](https://cos.easydoc.net/84373768/files/k43w6vrt.png) //平台请求指定资源(此处指 Resourceid 5605)的 EXECUTE +MIPLEXECUTE:0,11671,3303,0,5605,5,"reset" AT+MIPLEXECUTERSP=0,11671,2 //模块执行 EXECUTE 请求 +MIPLEVENT:0,21 //模块收到平台返回的响应结果 AT+MIPLNOTIFY=0, 87667,3303,0,5700,4,4,23.5,0,0 OK //模块向平台侧上报指定资源值,此处上报 float 类型的值 810.56 给 Resourceid 5700,其中 msgid= 87667 必须对应前面 OneNET 平台 Observer 请求消息中下发的 msgid。 +MIPLEVENT:0,26 //模块收到平台返回的响应结果,上报资源值成功,点击“操作”的详情按钮,可看到上报资源值的数据流。 ![image.png](https://cos.easydoc.net/84373768/files/k43w7mvu.png) AT+MIPLUPDATE=0,3600,1 //模块更新注册信息 OK +MIPLEVENT:0,11 //模块收到平台返回的响应结果,更新注册信息成功 模块删除对象 AT+MIPLDELOBJ=0,3303 OK 模块请求注销 AT+MIPLCLOSE=0 OK +MIPLEVENT:0,15 删除基础通信套件 AT+MIPLDELETE=0 OK ```` ## 6 FAQ Q1:连接 OneNET 平台,模块显示离线。 ANS:请检查添加设备时,模块的 IMEI 以及 IMSI 填写正确。 Q2:模块完成注册,OneNET 平台设备显示在线,模块响应了平台下发的 Observe 请求,但没收到平台下发的 DISCOVER 请求。 ANS:模块响应平台的 Observe 请求有超时控制,模块在收到平台下发的 Observe 请求,需要尽快, 例如 5s 时间内,通过指令 AT+MIPLOBSERVERRSP 指令响应。 Q3:模块向平台侧通过+MIPLNOTIFY 上报指定资源值失败。 ANS:首先,模块 AT+MIPLDISCOVERRSP=<ref>,<msgid>,<result>,<length>,<valuestring><CR>指令中,valuestring 需遵守 IPSO 规范定义。其次,该上报指令中的 msgid 必须对应平台 Observer 请求消息中下发的 msgid。 Q4:模块接收不到平台发送的数据,或者接收数据有时延现象。 ANS:采用AT命令查询模块低功耗工作模式(AT+CPSMS?或AT+CEDRXS?),如果模块处于PSM或eDRX状态,有可能发生上述