【上电即上华为云】华为云all-in-one智联模组_NB-IoT_BC95-CNV(BC28-CNV)_MQTT_at

举报
zhensu 发表于 2021/03/18 21:40:33 2021/03/18
【摘要】 All-in-one技术大礼包,第三代5G NB-IoT模组来了!!!移远通信推出BC95-CNV和BC28-CNV系列模组,基于海思Boudica 200平台,在大幅提升集成度、安全性、FOTA和降低功耗的同时,新增了蓝牙5.0、轻量级iSIM、GNSS定位、OpenCPU等能力,支持MQTT/LwM2M多种IoT协议,性价比高极具竞争力,为物联网提供更多可能!(NB-IoT经MQTT上云)

 一、All-in-one技术大礼包,第三代5G NB-IoT模组来了

NB-IoT(Narrow Band Internet of Things)是一种基于蜂窝的窄带物联网技术,也是低功耗广域物联(LPWA)的最佳联接技术,是5G 时代下的基础联接技术之一。2020年NB-IoT全球连接数超1亿。根据预测,NB-IoT将在未来五年实现10亿级连接,推动物联网设备实现爆发性成长。

2021年2月20日,移远通信正式推出其第三代5G NB-IoT系列模组BC95-CNV和BC28-CNV。这两款模组基于海思Boudica 200平台,在大幅提升集成度、性价比、安全性和降低功耗的同时,新增了蓝牙OpenCPUGNSS定位等能力,为智能表计、烟感、智能停车、智慧路灯等百万级成熟NB-IoT应用提供了更优选择,也使更多创新的物联网应用成为可能。

All-in-one技术优势:

高集成度架构

Boudica 200在一颗SOC芯片上创新集成了上MODEM、MCU、PA、电源管理器件、Memory子系统等,极大减少了模组面积,典型频段配置的模组面积可以减少到10mm*10mm

5G加持

支持3GPP R14、R15以及R16标准的持续演进,功耗更低

超大连接

单小区最大的接入数量50K,能够支持更多数量设备接入

超强覆盖

覆盖等级比GPRS提升20dB,具备更强的信号穿透力

超低功耗

典型应用功耗降低50%,支持PSM/eDRX/长周期TAU,水表场景下寿命高达10

超低成本

芯片设计简化,外围电路精简,极大程度降低成本

安全加固

采用独立安全CPU和硬件安全机制,可支持安全启动、加载、执行、FOTA升级等功能

蓝牙BLE5.0

支持BLE5.0,长短距结合,方便表计和烟感等设备近场配置和维护

GNSS定位

包括GPS和北斗,支持物流跟踪、资产管理、老人及小孩定位等场景需求

轻量级iSIM

集成轻量级SIM功能,可免去SIM卡槽,也进一步降低了终端的设计成本和体积

OpenCPU开发

增强OpenCPU开发能力,用户空间达256KB+64KB,且提供丰富的API接口及范例,开发更加友好

网络协议

支持包括MQTTLwM2M等更多网络协议,方便用户应用

低工作电压

支持低压供电,最低工作电压2.1V(推荐2.1V ~ 4.2V)

封装设计

管脚兼容,集成度更高,性能更优,产品无缝升级

 用一张图来感受下:

1.jpg

 

二、All-in-one系列技术文章预告

由于技术点比较多,需要拆分为多个教程,包括但不限于:

(1)     三步上云,NB-IoT使用LwM2M上华为云【完结】

【上电即上华为云】华为云all-in-one智联模组_NB-IoT_BC95-CNV(BC28-CNV)_LwM2M_at

https://bbs.huaweicloud.com/blogs/249241

(2)     三步上云,NB-IoT使用MQTT上华为云【本帖进行中】

(3)     上电即上华为云,NB-IoT基于openCPU开发智慧农业项目

(4)     上电即上华为云,NB-IoT基于openCPU驱动X传感器(六轴姿态、光感等)

(5)     上电即上华为云,smart智联NB-IoT + PLC无线网关

(6)     上电即上华为云,NB-IoT + lvgl 智能显示屏(猫眼、广告分发屏等)

(7)     未完待续…

三、三步上云,NB-IoT使用MQTT上华为云

为了快速验证NB-IoT开发板是否可用,建议开发者先完成本教程。基于NB-IoT模组的默认原厂固件,利用串口调试助手,向模组发送AT指令,实现快速上华为云。

一个新NB-IoT模组最少需要3步对接到华为云,AT命令如下表:

三步上云

行为

AT命令

第一步

设置IP

开启MQTT客户端网络

AT+QMTOPEN=0,"华为云IoT平台IP地址",端口号

OK 

+QMTOPEN: 0,0  //经过较短时间,模组报告MQTT客户端网络开启成功

第二步

模组连接

连接客户端到MQTT服务器

AT+QMTCONN=0,”ClientId”,”Username”,”Password”

OK

+QMTCONN: 0,0,0  //已成功将客户端连接到MQTT服务器

第三步

上云

向华为云发数据

AT+QMTPUB=0,0,0,0,"hwcloud_topic"

{ JSON_data}

OK

+QMTPUB: 0,0,0  //MQTT数据发送完成

注意:蓝色内容为执行AT命令。黑色内容为模组打印信息。

四、使用步骤

硬件连接

(1)硬件环境说明:

使用移远公司BC95-CNV开发板,插上NB-IoT SIM卡,usb口连接到电脑。

注意:开发板上的拨码开关,拨到 MAIN UART TO USB。不要选择MAIN UART TO MCU。

2.jpg

 

串口调试

(1)打开串口调试助手QCOM,显示有4个COM口。

COM25:AT调试串口。波特率9600。

COM27:NB-IoT模组运行LOG串口。

注意:具体COM口请根据实际情况来判断。

3.jpg

(2)打开串口,按开发板的Reset按键,提示“Neul OK”表示模组已经进入工作状态。

4.jpg

(3)在命令窗口输入AT指令后,点击Send Command发送。观察窗口显示AT指令执行的结果。

5.jpg

模组上手

(1)请参考AT指令手册《Quectel_BC95-CNV&BC28-CNV_AT命令手册》,内容非常详细。若需要精确控制NB-IoT模组的入网行为,请参考手册用例。

 

模组处于自动入网模式时,请输入下表AT查询命令:

行为

AT命令

 

REBOOT_CAUSE_SECURITY_PMU_POWER_ON_RESET

Neul

OK  //模组上电开机

查询UE开启情况

AT+CFUN?

+CFUN:1  //CFUN为1表示UE开启全部功能

OK

查询信号强度

AT+CSQ

+CSQ:22,99  //信号强度RSSI为22

OK

查询IMSI 号

AT+CIMI

460111174590523  //国际移动用户识别码IMSI号

OK

查询IMEI 号

AT+CGSN=1

+CGSN:86961905000xxxx  //国际移动设备识别码IMEI号

OK

查询网络注册状态

AT+CEREG?

+CEREG:0,1  //<stat>=1表示EPS已注册本地网络

OK

查询网络附着状态

AT+CGATT?

+CGATT:1  //网络附着成功,入网时间与NB-IoT信号有关

OK

查询模块的IP 地址

AT+CGPADDR

+CGPADDR:0,100.96.14.32  //返回设备IP地址

OK

注意:如果模组不是自动入网模式,执行AT+NCONFIG=AUTOCONNECT,TRUE后,执行AT+NRB 重启模块后生效,模块自动尝试附着网络。

 

 

华为云设置

(1)云端的配置。选择产品:设备接入 IoTDA。

https://www.huaweicloud.com/product/iothub.html

(2)选择北京四。

6.jpg

(3)创建产品。注意协议类型,选择MQTT。

7.jpg

(5)模型定义,直接使用平台定义好的WaterMeter。

8.jpg

(6)oc_water_meter_mqtt产品创建成功。

9.jpg

(7)注册设备。

10.jpg

(8)设备创建成功。

注意:设备ID需要保存,代码中需要用到。

11.jpg

设备ID

5fed97874f04b003098ac371_MQTT_BC95-CNV_BC28-CNV

 

设备密钥

12345678

 

(9)在设备列表中,可以看到设备未激活。

 

 

12.jpg

 

MQTT上华为云

(1)AT+QREGSWT命令用于设置模组重启后的注册模式,默认是自动注册IoT平台模式。

由于本次需要使用MQTT协议接入华为云IoT平台,所以执行AT+QREGSWT=2禁用注册功能。更详细的说明,请参考《Quectel_BC95-CNV&BC28-CNV_MQTT》,内容非常详细。

执行AT+NRB,模组重启后,设置参数生效。

 

如果需要使用UDP或者TCP的Socket通讯方式,请参考AT手册范例。

 

行为

AT命令

查询注册模式

AT+QREGSWT?

+QREGSWT:1  //自动注册IoT平台模式(默认模式)

OK

设置禁用注册

AT+QREGSWT=2

OK  //禁用IoT平台的注册功能

重启模块

AT+NRB

REBOOTING

REBOOT_CAUSE_APPLICATION_AT  //重启原因

Neul

OK

 

(2)现在需要给模组设置华为云IoT平台的IP地址和端口号(MQTT协议)。

 

进入华为云平台接入地址列表,根据MQTT (1883),复制iot-mqtts.cn-north-4.myhuaweicloud.com,打开windows的CMD窗口,ping一下,就可以看到此域名对应的IP地址121.36.42.100。(注意:IP地址根据实际情况来定)

 

 

13.jpg

获取华为云IoT平台的IP地址后,请执行下表AT指令,模组重启后设置生效。

 

行为

AT命令

查询网络附着状态

AT+CGATT?

+CGATT:1  //网络附着成功,入网时间与NB-IoT信号有关

OK

查询模块的IP 地址

AT+CGPADDR

+CGPADDR:0,100.97.42.68  //返回设备IP地址

OK

开启MQTT客户端网络

AT+QMTOPEN=0,"121.36.42.100",1883

OK 

+QMTOPEN: 0,0  //经过较短时间,模组报告MQTT客户端网络开启成功

查询命令

AT+QMTOPEN?

+QMTOPEN: 0,"121.36.42.100",1883

 

(3)现在需要执行AT+QMTCONN连接客户端到MQTT服务器。但是执行这条命令之前,开发者需要获得设备的ClientId、Username、Password三个重要参数。

 

(4)登陆https://iot-tool.obs-website.cn-north-4.myhuaweicloud.com/

输入注册设备时,获得的设备ID(DeviceId)和设备密钥(DeviceSecret)。

点Generate,生成ClientId、Username、Password。

ClientId

 

5fed97874f04b003098ac371_MQTT_BC95-CNV_BC28-CNV_0_0_2021031811

Username

 

5fed97874f04b003098ac371_MQTT_BC95-CNV_BC28-CNV

Password

 

6f3dc5b484b6a45edc1a2652457fa3fdcb8a37e18210de5cb7d41d2cc5e20fb2

 

14.jpg

 

(5)执行AT+QMTCONN命令,格式是AT+QMTCONN=0,”ClientId”,”Username”,”Password” 注意三个参数都有冒号。

 

行为

AT命令

连接客户端到MQTT服务器

AT+QMTCONN=0,"5fed97874f04b003098ac371_MQTT_BC95-CNV_BC28-CNV_0_0_2021031811","5fed97874f04b003098ac371_MQTT_BC95-CNV_BC28-CNV","6f3dc5b484b6a45edc1a2652457fa3fdcb8a37e18210de5cb7d41d2cc5e20fb2"

 

OK

+QMTCONN: 0,0,0  //已成功将客户端连接到MQTT服务器

15.jpg

(6)此时,在华为云可以看到设备在线,设备成功激活。

 

16.jpg

 

 

(7)现在执行AT+QMTPUB,可以通过MQTT协议往华为云IoT发数据。格式是AT+QMTPUB=0,0,0,0,"$oc/devices/{device_id}/sys/properties/report"

其中{device_id}就是设备注册时,返回的设备ID。

 

由于产品模型采用华为云标准模型WaterMeter,根据水表profile的定义,上报的数据格式为JSON数据,现在提供一个例子:

17.jpg

 

(8)执行AT+QMTPUB命令和发JSON数据,有点考验个人手法,必要时大家多尝试几遍。先看一下我贴的图解步骤。

【1】在QCOM串口调试助手中,执行AT+QMTPUB命令。

【2】显示窗口出现 > 提示符

【3】(最好提前把JSON数据复制到命令框)点击Send Command。

【4】鼠标点一下图中红圈的位置,把光标放在这,输入CTRL + Z组合键。

【5】出现OK  +QMTPUB: 0,0,0 就表示MQTT数据发送完成。

 

行为

AT命令

向华为云发数据

AT+QMTPUB=0,0,0,0,"$oc/devices/5fed97874f04b003098ac371_MQTT_BC95-CNV_BC28-CNV/sys/properties/report"

JSON数据

{"services":[{"service_id":"Connectivity","properties":{"dailyActivityTime":88},"event_time":"20210318T121212Z"},{"service_id":"Battery","properties":{"batteryLevel":99},"event_time":"20210318T121212Z"}]}

 

OK

+QMTPUB: 0,0,0  //MQTT数据发送完成

 

 

18.jpg

(9)设备详情可以看到上报的设备参数。

19.jpg

 

接收华为云命令下发

(1)现在使用AT+QMTSUB订阅命令下发主题。格式是AT+QMTSUB=0,1,"$oc/devices/{device_id}/sys/commands/#",0

 

行为

AT命令

订阅MQTT主题

AT+QMTSUB=0,1,"$oc/devices/5fed97874f04b003098ac371_MQTT_BC95-CNV_BC28-CNV/sys/commands/#",0

 

OK

+QMTSUB: 0,1,0,0  //订阅成功

 

20.jpg

 

(2)进入华为云API Explorer。

https://apiexplorer.developer.huaweicloud.com/apiexplorer/debug?product=IoTDA&api=CreateCommand

(3)选择CreateCommand 下发设备命令。

(4)填入设备ID等参数。参数区写入{"cmd_value":"hi2021MQTT"}。点击调试。

21.jpg

(4)页面显示调试成功。

22.jpg

(5)模组的串口调试助手,显示收到hi2021MQTT的命令。

23.jpg

完成

ok。

源码获取

weixin关注公众号gugongbei,或者扫描下方二维码。

回复NB-IoT_BC95-CNV_BC28-CNV,获取源码下载链接。

24.jpg

25.jpg

 

相关

【上电即上华为云】华为云openCPU智联模组_wifi_8720_MQTT

https://bbs.huaweicloud.com/blogs/233458

 

【上电即上华为云】华为云openCPU智联模组_wifi_8720_LwM2M

https://bbs.huaweicloud.com/blogs/236198

 

【上电即上华为云】华为云openCPU智联模组_wifi_BL602(RISC-V)_MQTT

 https://bbs.huaweicloud.com/blogs/238212

 

【上电即上华为云】华为云openCPU智联模组_wifi_BL602(RISC-V)_LwM2M

https://bbs.huaweicloud.com/blogs/238213

 

【上电即上华为云】华为云openCPU智联模组_wifi_BL602(RISC-V)_CoAP

https://bbs.huaweicloud.com/blogs/238214

 

【上电即上华为云】华为云AIoT智联开发板_mcu_HK32F103Vx

https://bbs.huaweicloud.com/blogs/244682

 

【上电即上华为云】华为云smart智联PLC无线网关_plc_3121N-H(3121N-IED)

https://bbs.huaweicloud.com/blogs/245850

 

【上电即上华为云】华为云openCPU智联模组_wifi_HF-LPX70_RISC-V_LwM2M

https://bbs.huaweicloud.com/blogs/246215

 

【上电即上华为云】华为云openCPU智联模组_wifi_HF-LPX70_RISC-V_CoAP

https://bbs.huaweicloud.com/blogs/247263

 

【上电即上华为云】华为云all-in-one智联模组_NB-IoT_BC95-CNV(BC28-CNV)_LwM2M_at

https://bbs.huaweicloud.com/blogs/249241

 

【上电即上华为云】华为云all-in-one智联模组_NB-IoT_BC95-CNV(BC28-CNV)_MQTT_at

本帖地址

 

 

 

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。