2019-06-27

登陆开发者中心

从 https://iot-dev.huaweicloud.com 登陆,登陆后的界面如下

2019-06-27_第1张图片
1.png

设备开发

在开发者中心,我们开发调试的步骤如下:
2019-06-27_第2张图片
QQ截图20190627184713.png

如果算上应用开发,则完整流程图如下:
2019-06-27_第3张图片
QQ截图20190627184852.png

创建项目和产品

在开发者中心首页,新建一个项目名为LIyang,这个名称一定要全网唯一,所以需要修改为自己的项目名称。
2019-06-27_第4张图片
2.png

然后进入项目,创建一个新的自定义产品:
2019-06-27_第5张图片
3.png

制作设备 Profile

新建一个名为 LightService 的服务,为其增加一个名为 Light 的属性,如下:
2019-06-27_第6张图片
4.png

然后新增一个名为 Control 的命令,为其增加一个名为 LED 的下发命令字段:
2019-06-27_第7张图片
5.png

最后的信息如下:
2019-06-27_第8张图片
6.png

开发编解码插件
2019-06-27_第9张图片
7.png

点击“02 编解码插件开发”,新增一个名为 Light 的消息,并为其增加一个名为 Light 的数据上报字段:
2019-06-27_第10张图片
8.png

新增一个名为 Control 的消息,并为其增加一个名为 SwitchMe 的字段:
2019-06-27_第11张图片
9.png

最后映射 Profile 字段,点击保存、点击部署。

模拟设备在线调测

点击“04 在线调测”,新建一个虚拟设备。发送十六进制的 2020313233,长度为 5 个字符,对应的 ASCII码值为 123,数值前面有两个空格。经过编解码插件解析后,应用模拟器收到数值 123,正确。
2019-06-27_第12张图片
11.png

使用 AT 指令进行 NB 设备在线调测

开发板接线如下:
2019-06-27_第13张图片
10.jpg

这样连线以后,保证串口和 NB 模组相连,NB 模组的输入、输出就可以通过串口来实现。开发板连接完成以后上电,打开 QCOM 串口调试软件,打开串口,波特率选择 9600。输入 AT 指令:

  1. AT+CGSN=1 查询产品序列号 =1 返回 IMEI 号

返回 BC35-G NB 模组的 IMEI 号,我的为869505046439780

在开发中心,进入“产品->设备管理”,增加一个真实设备,填入上面的 IMEI 号:
2019-06-27_第14张图片
12.png

此时设备列表状态如下,这个真实设备并未上线:
14.png

继续执行其他 AT 指令以前,建议执行如下两个 AT 指令,为 NB 模组配置回显,这样一旦 AT 指令执行有什么问题,就会打印详细的 LOG:
  1. AT+NNMI=1 # 新消息标志 =0 不显示 =1 显示标示和数据
  2. AT+CMEE=1 # 报告移动终端错误 =1 启用,返回详细错误码 =0 禁用,统一返回 ERROR

真实设备想要上线,必须知道开发中心的 IP 地址和端口。进入“应用->对接信息”查看:
2019-06-27_第15张图片
13.png

所以,我们要向 NB 模组发送一条指令,来设置开发中心的 IP 地址和端口:

  1. AT+NCDP=49.4.85.232,5683 # 配置 CDP 服务器设置(IP 和端口号)

完成以后,可以通过 AT+NCDP? 来查询是否设置成功。重新启动开发板,等大概 30 秒钟,再查看设备列表,就可以看到真实设备上线了。
在这个真实设备上点击“调试产品”,打开调试界面。在 QCOM 上输入以下指令:

  1. AT+NMGS=5,2020323334 # 发送数据

意思是通过 NB 模组上报数据。稍等几秒,就可以看到调试界面中的应用模拟器收到了数据:
2019-06-27_第16张图片
16.png

另外,我们也可以测试下发命令数据。由于 NB 模组发送数据后很快就会进入 PSM 省电模式,所以在测试发送命令之前,应该从 NB 模组立即上报一条数据,唤醒 NB 模组,从而使得模组能够收到来自平台的命令。

在 QCOM 中执行上传数据命令:

  1. AT+NMGS=5,2020323334 # 发送数据,从而将 NB 模组从 PSM 中唤醒

然后在调试界面发送 ON 指令,QCOM 上立即会回显:
2019-06-27_第17张图片
17.png

表示字符串长度为 2 ,其值为 4F4E ,这正是 ON 几个字符的 ASCII 码。

经过上面的测试,我们可以发现,NB 模组可以向 OceanConnect 发送数据,同时 OceanConnect 发送的控制指令 NB 模组也可以收到。也就是说,基于 NB 的双向网络通信是没有任何问题的。

在这个实验中,我们仅仅使用了板载的串口和 NB 模组,验证了 NB 模组的双向通信能力,上传的数据是我们构造的,下发的命令我们也仅仅是收到了而已,并没有进行处理。要想进行自动数据上传,同时响应下发指令,就需要我们编程,由 MCU 来处理。这个内容由下面的实验来完成。

你可能感兴趣的:(2019-06-27)