打开华为云的IOT平台增强版的开发中心,创建项目和设备然后自定义产品
在 Profile 新建一个名为 LightService 的服务
增加名为Light的属性
然后新增一个Control 的命令,并设置一个名为LED的下发字段命令:
开发编解码插件
”新增消息”里新增两个消息,如下图:
最后映射 Profile 字段,点击保存、点击部署。
模拟设备在线调测
点击“04 在线调测”,新建一个虚拟设备。发送十六进制的 2020313233,长度为 5 个字符,对应的 ASCII 码值为 123,数值前面有两个空格。经过编解码插件解析后,应用模拟器收到数值 123,正确。
使用 AT 指令进行 NB 设备在线调测
开发板连接完成 以后上电,打开 QCOM 串口调试软件,打开串口,波特率选择 9600。输入 AT 指令:
AT+CGSN=1 # 查询产品序列号 =1 返回 IMEI 号
返回 BC35-G NB 模组的 IMEI 号,我的为 867725036011165。
在开发中心,进入“产品->设备管理”,增加一个真实设备,填入上面的 IMEI 号:
如果你的设备还未显示在线,则需要做以下操作:
先继续执行一下这两个命令
1.AT+NNMI=1 # 新消息标志 =0 不显示 =1 显示标示和数据
- AT+CMEE=1 # 报告移动终端错误 =1 启用,返回详细错误码 =0 禁用,统一返回 ERROR
真实设备想要上线,必须知道开发中心的 IP 地址和端口。进入“应用->对接信息”查看:
所以,我们要向 NB 模组发送一条指令,来设置开发中心的 IP 地址和端口:
AT+NCDP=49.4.85.232,5683 # 配置 CDP 服务器设置(IP 和端口号)
完成以后,可以通过 AT+NCDP? 来查询是否设置成功。重新启动开发板,等大概 30 秒钟,再查看设备列 表,就可以看到真实设备上线了。
之后在这个真实设备上点击“调试产品”,打开调试界面。在 QCOM 上输入以下指令:
AT+NMGS=5,2020323334 # 发送数据
意思是通过 NB 模组上报数据。稍等几秒,就可以看到调试界面中的应用模拟器收到了数据:
另外,我们也可以测试下发命令数据。由于 NB 模组发送数据后很快就会进入 PSM 省电模式,所以在测试 发送命令之前,应该从 NB 模组立即上报一条数据,唤醒 NB 模组,从而使得模组能够收到来自平台的命 令。在 QCOM 中执行上传数据命令:
AT+NMGS=5,2020323334 # 发送数据,从而将 NB 模组从 PSM 中唤醒
然后在调试界面发送 ON指令,QCOM 上立即会回显:
然后在调试界面发送 ON指令,QCOM 上立即会回显:
经过上面的测试,我们可以发现,NB 模组可以向 OceanConnect 发送数据,同时 OceanConnect 发送的 控制指令 NB 模组也可以收到。也就是说,基于 NB 的双向网络通信是没有任何问题的。