还不会NB-IOT通信,这篇文章带你打通NB-IOT通信的任督二脉

使用NB-IOT模块BC28连接电信AEP平台,打通NB-IOT的数据上下行通信,即数据上报和命令下发

1 NB-IOT业务介绍

NB-IOT业务主要包含NB-IoT设备、NB-IOT网络、物联网开放平台、垂直行业应用:

NB-IOT设备:通过无线网络连接到中国电信物联网开放平台,采用CoAP协议接入,如水表、燃气表等

NB-IOT网络:实现对NB-IoT终端的移动性管理与会话管理;为NB-IoT终端建立用户面承载,传递上下行业务数据

物联网开放平台:实现对各种NB-IoT设备数据的统一管理,同时向第三方应用系统开放接口,让各种应用能快速构建自己的物联网业务

垂直行业应用:实现对NB设备的业务管理,包括业务发放、业务控制和呈现等,由第三方基于中国电信物联网开放平台开放接口进行开发

image

2 电信AEP平台创建产品

2.1 创建产品

首页右上角选择创建产品,填写各项参数

image

如下图所示,创建一个透传的设备,透传的设备创建、使用比较简单,非透传的产品需要定义服务列表,属性列表(平台据此可提供服务数据解析和呈现, 下发服务指令等)

image
  • 产品名称 : 根据个人实际需要填写
  • 产品类别 : 根据个人实际需要选取
  • 产品描述 : 根据个人实际需要填写
  • 节点类型 : 选取“设备”
  • 接入方式 : 选取“设备直连”
  • 网络类型 : 选取“NB-IoT”
  • 通讯协议 : 选取“LWM2M ”
  • Endpoint格式 : 可选择“IMEI” 或“urn:imei” 或 “urn:imei-imsi”,选择IMEI
  • 是否有profile : 是 或者 否,没有选择否
  • 设备型号 : 按实际填写
  • 是否透传 : 是 或者 否,选择否,创建透传设备
  • 数据加密方式 : 可选择“DTLS” 或 “明文” 或 “SM2”,选择明文,不加密
  • 省电模式:可选择“DRX” 、 “eDRX”、“PSM”,选择PSM

备注: 1、Endpoint 是LWM2M设备的标识, 平台支持的Endpoint格式有三种:

  • IMEI,不带前缀的15位IMEI号
  • urn:imei:##################,前缀“urn:imei:” + IMEI的格式
  • urn:imei-imsi:##################-#####################, 前缀“urn:imei-imsi:” + IMEI + IMSI的格式
  • 根据具体的通信模组或SDK选择使用哪种模式, 并保证设备登录时携带的 Endpoint格式与产品创建的Endpoint格式一致,否则认证失败

2、省电模式支持PSM、 DRX、 eDRX三种,根据终端支持的类型进行选择:

  • PSM模式: 设备在数据连接终止或周期性TAU完成后进入PSM状态, PSM态的设备处于休眠状态, 不再侦听信号。平台的下行数据不会立即下发, 缓存直 到设备退出PSM态才会下发。
  • DRX模式: 非连续接收模式, 由于DRX周期短, 平台下行数据可以立即下发(如果设备在注册时Binding Mode支持Qmode,则按Qmode方式下发指令, 即采用空闲时间窗进行激活态到休眠态的切换) 。
  • eDRX模式: 增强型非连续接收, DRX周期更长, 对时延要求高, 需要根据设备是否休眠选择消息缓存或者立即下发。

2.2 添加设备

创建完产品后前往产品中心-> 选择产品->设备管理->添加设备,按要求填写设备信息,进行设备添加

image
  • 设备名称:根据个人实际需要填写
  • IMEI号:IMEI是设备的唯一标识,平台不允许重复添加,长度为15个字节,在模块的外壳上有丝印,或使用AT指令查询
  • IMSI号:IMSI国际移动用户识别码(无双引号的字符串),可不填写
  • 选择自动订阅

设备添加完成后可以看到设备状态为:已注册。设备右侧的功能按钮功能丰富,例如:数据查看、在线模拟、编辑等

image

3 NB-IOT模块通信

3.1 附着网络

BC28通过AT指令附着网络(即连接网络)的过程如下:当能查询到到模块的IP地址时,说明网络附着成功

注:若发送第一个指令“AT”,未返回“OK”的话,请检查是否选择了正确的串口,以及合适的波特率(BC28的串口波特率为9600)

序号 AT指令 指令解析
1 AT 测试指令,若返回OK,则模块可正常通信
2 AT+CPIN? 检查SIM卡是否在位
3 AT+CSQ 查询信号质量
4 AT+CGATT=1 触发网络连接
5 AT+CEREG? 查询网络注册状态
6 AT+CGATT? 查询网络附着状态
7 AT+CGPADDR 查询模块的 IP 地址
image

3.2 连接电信AEP平台

BC28通过AT指令连接电信IOT平台的过程如下:当发送AT指令“AT+QLWSREGIND=0”返回“+QLWEVTIND:3”时,代表设备已连接上电信IOT平台

序号 AT指令 指令解析
1 AT+NCDP=221.229.214.202,5683 设置 IoT 平台 IP 地址及端口
2 AT+QLWSREGIND=0 开始注册 IoT 平台
image

在电信AEP平台上设备的状态变为“已激活”,代表设备已连接上电信IOT平台

image

3.3 数据上报

数据上报的AT指令为“AT+QLWULDATAEX”,看看官方AT指令手册对它的描述

image

使用AT指令为“AT+QLWULDATAEX”发送数据,当接收到“+QLWULDATASTATUS:4”表示数据发送成功

序号 AT指令 指令解析
1 AT+QLWULDATAEX=3,313233,0X0100 发送CON 消息(313233), IoT 平台需要应答 ACK 消息
image

在电信AEP平台可以看到上报的16进制数据:313233

image
image

注:消息发送模式选择带释放辅助提示时,表示模块在发送完数据之后将释放连接以进入空闲模式,否则模块会持续20多秒才能进入空闲模式,在做低功耗时需要用到

3.4 命令下发

BC28接收云端数据不需要AT指令,但有一点需要注意:NB-IOT模块由于是面向低功耗领域的,长时间处于休眠状态,故云端下发命令时,NB-IOT模块不能及时接收到,只有当模块处于活动状态下才能接收到云端命令

基于NB-IOT模块的这个特性,平台提供命令缓存下发机制:平台收到命令后放入队列。在设备上线的时候,平台依次下发命令队列中的命令,缓存时间默认为2个小时

电信IOT平台下发“123”命令,设备端接收到“123”的16进制数“313233”,命令下发成功

image
image

指令下发信息详情可以在“指令下发日志” 中查看

image
image

我是南风,一个爱折腾的程序袁,工作之余,写写公众号,玩玩视频号,分享我的工作、我的生活

分享是一种博爱的心境,学会分享,就学会了生活

你可能感兴趣的:(还不会NB-IOT通信,这篇文章带你打通NB-IOT通信的任督二脉)