目录

1、背景 

2、部署华为云

3、华为云与BC20模组进行数据收发实验


1、背景 

最近在做一个智慧路灯项目,构思使用STM32结合NB-IoT模组实现数据上传和联动控制,并且可以使用GPS模块上传路灯节点的位置信息,便于故障路灯维修。暂选定移远BC20模组实现本项目。

 2018年7月30日,移远通信正式发布支持GNSS定位功能的NB-IoT模组BC20,进一步完善其LPWA产品线。该模组内置GNSS芯片,集通信、定位功能于一体,同时具有超小体积、超低功耗、精准定位、集成度高、兼容性强等优势,可以更好地满足资产、人员定位追踪类应用场景对于功耗和定位精度的双重需求。

移远BC20内置和芯星通低功耗、高性能的UFirebird卫星定位芯片,可支持北斗、GPS、QZSS等多星座卫星系统解调算法,定位更加精准,抗多路径干扰能力更强。这款新品采用AGPS技术,即使追踪目标处在恶劣信号环境中,仍能保证更快、更准的定位。此外,BC20模组内置LNA,使其接收灵敏度提升至-147dBm。BC20基于联发科芯片平台研发,支持B1/B3/B5/B8频段,提供丰富的外部接口和协议栈(UDP/ TCP/ CoAP/ LWM2M/ MQTT等),同时支持中国移动OneNET、中国电信IoT平台、华为OceanConnect物联网云平台,为客户的应用提供了极大的便利。BC20支持低电压供电(2.1V-3.63V),更适合NB-IoT定位应用场景,如自行车和摩托车防盗、宠物追踪、金融财产追踪及行车记录仪等。

移远BC20模组使用LwM2M协议接入华为IoT平台(NB-IoT专栏—进阶篇2)_BC20

2、部署华为云

接下来搭建华为物联网云平台,本篇博文简述搭建过程,更详细实现步骤见:NB-IoT使用CoAP协议接入华为IoT平台(NB-IoT项目实战专栏)。

具体步骤如下:

第1步:创建产品,注意选用LWM2M协议类型。

移远BC20模组使用LwM2M协议接入华为IoT平台(NB-IoT专栏—进阶篇2)_BC20_02

第2步:在“profile”中创建上传属性和下发命令,由于这是第一次测试,所以创建较简单的类型。

移远BC20模组使用LwM2M协议接入华为IoT平台(NB-IoT专栏—进阶篇2)_BC20_03

 第3步:在“编解码插件开发”中创建对应的新增消息。

移远BC20模组使用LwM2M协议接入华为IoT平台(NB-IoT专栏—进阶篇2)_BC20_04

移远BC20模组使用LwM2M协议接入华为IoT平台(NB-IoT专栏—进阶篇2)_BC20_05

  第4步:建立属性与消息的映射关系,然后部署。

移远BC20模组使用LwM2M协议接入华为IoT平台(NB-IoT专栏—进阶篇2)_BC20_06

 第4步:在“在线调试”中新增调试设备。

连接BC20模组,输入如下指令获得模块的IMEI号,用于云平台绑定NB模组。

AT+CGSN=1

 效果如下:

移远BC20模组使用LwM2M协议接入华为IoT平台(NB-IoT专栏—进阶篇2)_BC20_07

华为云平台绑定 NB模组。

移远BC20模组使用LwM2M协议接入华为IoT平台(NB-IoT专栏—进阶篇2)_BC20_08

3、华为云与BC20模组进行数据收发实验

第1步:连接华为云物联网平台的地址和端口

指令说明如下:

移远BC20模组使用LwM2M协议接入华为IoT平台(NB-IoT专栏—进阶篇2)_BC20_09

 在华为云项目“对接信息”中查看本项目的相关接口信息。

移远BC20模组使用LwM2M协议接入华为IoT平台(NB-IoT专栏—进阶篇2)_BC20_10

输入以下指令,连接华为云物联网平台的地址和端口。

AT+QLWSERV="49.4.85.232",5683

第2步:配置华为IoT平台参数。

指令说明如下:

移远BC20模组使用LwM2M协议接入华为IoT平台(NB-IoT专栏—进阶篇2)_BC20_11

输入以下指令,配置华为云物联网平台参数,注意:字符串为模块的IMEI号。

AT+QLWCONF="86*************"

 第3步:添加LwM2M对象 。

指令说明如下:

移远BC20模组使用LwM2M协议接入华为IoT平台(NB-IoT专栏—进阶篇2)_BC20_12

 输入以下指令,添加LwM2M对象:19/0/0

AT+QLWADDOBJ=19,0,1,"0"

  第4步:向物联网平台发送注册请求。

 指令说明如下:

移远BC20模组使用LwM2M协议接入华为IoT平台(NB-IoT专栏—进阶篇2)_BC20_13

移远BC20模组使用LwM2M协议接入华为IoT平台(NB-IoT专栏—进阶篇2)_BC20_14

 输入以下指令,向华为物联网云平台发送注册请求。

AT+QLWOPEN=0

串口调试助手返回如下信息,说明注册请求成功。

CONNECT OK

+QLWOBSERVE: 0,19,0,0

第5步:配置可选参数,配置发送和接收数据的模式。

指令说明如下:

移远BC20模组使用LwM2M协议接入华为IoT平台(NB-IoT专栏—进阶篇2)_BC20_15

  输入以下指令,配置发送和接收数据均为HEX十六进制模式。

AT+QLWCFG="dataformat",1,1

第6步:向云平台发送数据。

指令说明如下:

移远BC20模组使用LwM2M协议接入华为IoT平台(NB-IoT专栏—进阶篇2)_BC20_16

移远BC20模组使用LwM2M协议接入华为IoT平台(NB-IoT专栏—进阶篇2)_BC20_17

  输入以下指令,将带有CON类型的十六进制字符串数值“3”发送到IoT平台,注意:要将字符串转换为十六进制后发送,字符串“3”位十六进制0x33。

AT+QLWDATASEND=19,0,0,1,33,0x0100

串口调试助手返回SEND OK,说明发送成功。

成功发送,云平台效果如下:

移远BC20模组使用LwM2M协议接入华为IoT平台(NB-IoT专栏—进阶篇2)_BC20_18

第7步:直接在华为物联网云平台点击发送命令,串口调试助手即可接收云平台下发数据。

接收指令格式说明如下:

移远BC20模组使用LwM2M协议接入华为IoT平台(NB-IoT专栏—进阶篇2)_BC20_19

云端下发数据效果如下: 

移远BC20模组使用LwM2M协议接入华为IoT平台(NB-IoT专栏—进阶篇2)_BC20_20

移远BC20模组使用LwM2M协议接入华为IoT平台(NB-IoT专栏—进阶篇2)_BC20_21

第8步:当数据上传、下发完成后,释放资源,取消注册请求,删除LWM2M上下文,避免占用资源影响下次通信。

取消注册请求指令说明如下:

移远BC20模组使用LwM2M协议接入华为IoT平台(NB-IoT专栏—进阶篇2)_BC20_22

删除LWM2M上下文指令说明如下:

移远BC20模组使用LwM2M协议接入华为IoT平台(NB-IoT专栏—进阶篇2)_BC20_23

 输入以下指令,释放资源,取消注册请求,删除LWM2M上下文。

AT+QLWCLOSE
AT+QLWDEL

最后给小伙伴们分享BC20模组的相关资料: https://download.csdn.net/download/m0_38106923/11236605。

移远BC20模组使用LwM2M协议接入华为IoT平台(NB-IoT专栏—进阶篇2)_BC20_24