目录
前言
一、电信平台注册
二、BC26串口收发
三、注意事项
最近一直在做NB模块对接电信云平台的项目,在此分享下NB模块接入云平台流程,这次介绍的是移远BC26芯片,电信的云平台也换到了他们的新平台。
登录电信新平台后(https://www.ctwing.cn/page.html#/aepuserhelp),先创建产品。产品分类以具体产品为准,产品选项中选择网络类型为NB-IOT,通信协议是LWM2M,其他选项参考图1-1.其中是否透传按实际需求为准。
图1-1
创建产品成功后,需要在该产品下定义属性列表以及服务列表。两者是平台对设备上报数据的解析,所以如果是设置为透传模式,则无法定义属性列表和服务列表。最后再进行添加设备,在云平台上设备以对应的IMEI码做区分。注意:必须要先在平台上添加好设备,相应的实体设备才能连接上。
在电信IOT注册好相应产品和设备后,再对BC26模组进行串口通信实现网络连接。BC26模组,通过设置PWRKEY引脚进行开机,开机后收到上电初始化信息如图2-1所示。即可以通过接收图中字符串来判断NB模块是否上电初始化成功。
图2-1
其串口通信过程参考网络文档和BC26的LWM2M手册,其手册中例子如图2-2所示,其云平台接收数据如图2-3所示。具体串口通信的收发内容如下测试记录所示:
TX: AT //确认NB模块串口通信正常
RX: OK
TX: AT+QSCLK=1 //禁止NB模块进入休眠
RX: OK
TX: AT+CPSMS=0 //禁止进入PSM
RX: OK
TX: AT+CGSN=1 //查询IMEI卡号
RX: +CGSN: 866971033129151
TX: AT*MICCID //查询SIM卡号
RX: *MICCID: 89861118209000154265
TX: AT+CESQ //查询当前网络信号质量
RX: +CESQ: 32,0,255,255,26,56 //第五项为rsrq,范围0-34,数值越高信号越好
TX: AT+CGPADDR=1 //查询IP地址,确保模组注网成功
RX: +CGPADDR: 1,10.138.137.41 //查询到的IP地址
RX: OK
TX: AT+CGATT? //查询网络附着状态
RX: +CGATT: 1 //1表示附着成功,0表示未附着成功
TX: AT+QLWSERV=”221.229.214.202”,5683
//设置IOT平台IP地址和端口号,电信平台可查看
RX: OK
TX: AT+QLWCONF="866971033129151" //设置IOT平台注册的IMEI号
RX: OK
TX: AT+QLWADDOBJ=19,0,1,"0" //添加LWM2M对象19/0/0--uplink 上行链路
RX: OK
TX: AT+QLWADDOBJ=19,1,1,"0" //添加LWM2M对象19/0/0--uplink 下行链路
RX: OK
TX: AT+QLWOPEN=0 //注册IOT平台
RX: OK //可以在平台看到设备已上线
TX: AT+QLWCFG=”dataformat”,1,1 //设置发送和接收数据格式为十六进制的字符串模式
RX: OK
TX: AT+QLWDATASEND=19,0,0,5,68656C6C6F,0x0000
//5表示发送内容为5个字节,后面是对应数据域内容,其他格式内容固定。
RX: OK
图2-2
图2-3
1.BC26模块也是串口波特率自适应,故串口流程第一条也是发AT确认通信
2.BC26模块的休眠和PSM是分开的,这是和技术支持询问以及自己测试结果看到的,PSM时串口仍然可以收发,但无法和云平台通信,休眠模式下禁止串口通信。这些在做低功耗时会开启,后续博客会专门讲下低功耗
3.章节二中的串口收发例子中,发数据那条AT+QLWDATASEND=19,0,0,5,68656C6C6F,0x0000,结尾的0x0000改为0x0100
就可以在串口发送后收到OK,然后还会收到SEND OK,这个表示数据成功发送到基站,这在实际项目中判断数据是否发送成功很重要。具体例子参考图3-1
图3-1