模块的初步测试没有什么问题,接下来就要配置一下阿里云了,有段时间没有碰物联网了,网站的布局都变化了不少,接下来就逐步介绍一下物联网平台的配置。
1、选择产品》》物联网IoT》》企业物联网平台,我选择的是企业物联网平台,还花了10多块配置费,公共实例也收钱吗?以前都是免费用的。
2、进入控制台,点击公共实例进入后创建产品:
3、现在就可以添加咱们的设备了,在自己的产品下面创建设备,也就是NBIOT设备,可以自定义。
这里就有我们需要的三元组信息了,非常重要,就相当于模组的网络身份证。
4、接下来就是配置产品的功能定义了,由于本次准备做一个温湿度大气压力的采集设备,于是定义了温度、湿度和大气压力三个功能定义,然后发布。
5、接下来就用串口调试工具控制开发板和阿里云通信。
调试的过程中发现了一个问题,配置串口波特率为9600,发送AT没有反应,这个时候调节到115200,自动一直收到了东西,发送AT还是没有反应,这个时候再调回9600就能正常通信了。经过多次测试开机后需要115200波特率接收一下开机数据,然后调到9600进行正常的AT指令通信。有人说你可以把通信波特率调到115200,这样就一致了,通过试验波特率调到115200后,你需要先9600接收一下,然后再115200正常通信,也就是说都需要先调到不同的波特率收个东西然后调回正常波特率才可以正常通信,具体的原因就不太清楚了。
言给正传,咱们要实现模块与阿里云通信,在发送AT回复OK后,说明模块已经通过串口通信正常了,这个时候我们进行一下联网操作:
发送“AT+CFUN=1”开启全功能;
之后发送“AT+CEREG?”查询一下是否注网成功;
设置连接物联网平台“AT+ECMTCFG ="cloud",0,2,1”(这个是阿里云);
根据你的三元组信息连接物联网设备“AT+ECMTCFG="aliauth",0," product_key "," device_name "," device_secret "”;
建立tcp连接,” AT+ECMTOPEN=0," product_key.iot-as-mqtt.cn-shanghai.aliyuncs.com",1883”;
创建mqtt,“AT+ECMTCONN=0,"算便的字符"”;
终于可以发布消息了,
AT+ECMTPUB=0,0,0,0,"/sys/product_key/device_name/thing/event/property/post","{"method":"thing.event.property.post","params":{"RoomH":56.2,"RoomTem":25.5,"RoomP":1002}}"这个需要看你设置的功能定义了,之后数据会被传送到设备物模型中。
NB模块的测试过程也就是数据流的建立过程,至此我们已经试验了MCU到模块的通信基础和模块到物联网平台的数据通信,到这里基本上已经完成一半的测试了,模块自动联网非常方便,接下来我们将制作具体的实物来采集环境参数,去控制NB模块实现室内环境参数的上云。