1、背景
2、部署华为云
3、华为云与BC20模组进行数据收发实验
最近在做一个智慧路灯项目,构思使用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定位应用场景,如自行车和摩托车防盗、宠物追踪、金融财产追踪及行车记录仪等。
接下来搭建华为物联网云平台,本篇博文简述搭建过程,更详细实现步骤见:NB-IoT使用CoAP协议接入华为IoT平台(NB-IoT项目实战专栏)。
具体步骤如下:
第1步:创建产品,注意选用LWM2M协议类型。
第2步:在“profile”中创建上传属性和下发命令,由于这是第一次测试,所以创建较简单的类型。
第3步:在“编解码插件开发”中创建对应的新增消息。
第4步:建立属性与消息的映射关系,然后部署。
第4步:在“在线调试”中新增调试设备。
连接BC20模组,输入如下指令获得模块的IMEI号,用于云平台绑定NB模组。
AT+CGSN=1
效果如下:
华为云平台绑定 NB模组。
第1步:连接华为云物联网平台的地址和端口
指令说明如下:
在华为云项目“对接信息”中查看本项目的相关接口信息。
输入以下指令,连接华为云物联网平台的地址和端口。
AT+QLWSERV="49.4.85.232",5683
第2步:配置华为IoT平台参数。
指令说明如下:
输入以下指令,配置华为云物联网平台参数,注意:字符串为模块的IMEI号。
AT+QLWCONF="86*************"
第3步:添加LwM2M对象 。
指令说明如下:
输入以下指令,添加LwM2M对象:19/0/0
AT+QLWADDOBJ=19,0,1,"0"
第4步:向物联网平台发送注册请求。
指令说明如下:
输入以下指令,向华为物联网云平台发送注册请求。
AT+QLWOPEN=0
串口调试助手返回如下信息,说明注册请求成功。
CONNECT OK
+QLWOBSERVE: 0,19,0,0
第5步:配置可选参数,配置发送和接收数据的模式。
指令说明如下:
输入以下指令,配置发送和接收数据均为HEX十六进制模式。
AT+QLWCFG="dataformat",1,1
第6步:向云平台发送数据。
指令说明如下:
输入以下指令,将带有CON类型的十六进制字符串数值“3”发送到IoT平台,注意:要将字符串转换为十六进制后发送,字符串“3”位十六进制0x33。
AT+QLWDATASEND=19,0,0,1,33,0x0100
串口调试助手返回SEND OK,说明发送成功。
成功发送,云平台效果如下:
第7步:直接在华为物联网云平台点击发送命令,串口调试助手即可接收云平台下发数据。
接收指令格式说明如下:
云端下发数据效果如下:
第8步:当数据上传、下发完成后,释放资源,取消注册请求,删除LWM2M上下文,避免占用资源影响下次通信。
取消注册请求指令说明如下:
删除LWM2M上下文指令说明如下:
输入以下指令,释放资源,取消注册请求,删除LWM2M上下文。
AT+QLWCLOSE
AT+QLWDEL
最后给小伙伴们分享BC20模组的相关资料: https://download.csdn.net/download/m0_38106923/11236605。