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

原贴地址:https://bbs.huaweicloud.com/blogs/249241

 

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

一、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接口及范例,开发更加友好

网络协议

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

低工作电压

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

封装设计

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

 用一张图来感受下:

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

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

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

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

(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使用LwM2M上华为云

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

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

三步上云

行为

AT命令

第一步

设置IP

设置IoT 平台IP 地址及端口

AT+NCDP=119.3.250.80,5683

OK  //华为云IoT平台IP地址和端口设置成功

第二步

重启

重启模块

AT+NRB

REBOOTING

REBOOT_CAUSE_APPLICATION_AT  //重启原因

Neul

OK

 

模组主动打印信息

+QLWEVTIND:0  //成功注册

+QLWEVTIND:3  //IoT平台已订阅实例19/0。当模块报告此消息时,MCU可以发送数据到IoT平台

第三步

上云

向华为云IoT发送数据

AT+QLWULDATA=5,0003040005  //发送NON数据,不需要IoT平台应答ACK消息

OK

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

四、使用步骤

硬件连接

(1)硬件环境说明:

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

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

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

串口调试

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

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

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

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

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

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

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

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

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

模组上手

(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)选择北京四。

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

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

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

(4)模型定义,暂时不选择。后面有步骤直接上传已定义好的模型文件。

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

(5)oc_agriculture_lwm2m产品创建成功。

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

(6)查看创建好的产品模型。在“模型定义”选项,点击上传模型文件。选择hwcloud_lwm2m_coap_产品模型及编解码插件\产品模型profile\ agriculture.zip,确认后,上传Profile成功。

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

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

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

(7)可以看到Agriculture服务下,有3个属性Temperature温度、Humidity湿度、Luminance光照强度。2个命令Agriculture_Control_Light照明控制、Agriculture_Control_Motor电机控制。

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

(8)在“插件开发”选项,点击上传插件。选择hwcloud_lwm2m_coap_产品模型及编解码插件\编程码插件\lwm2m_Verify_byESP8266_67816ef0-2260-441c-8460-a0ae7c39ceef_CIGPlug-in.zip,上传插件后,上传离线插件成功。而且能看到,当前插件信息是已部署状态。

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

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

(9)在设备区,注册设备。

注意:设备标识码填写NB-IoT模组的IMEI号。使用AT+CGSN=1返回IMEI号。

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

(10)设备创建成功。

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

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

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

上华为云

(1)模组默认是自动注册IoT平台模式。如果需要使用UDP或者TCP的Socket通讯方式,请参考AT手册范例。

行为

AT命令

查询注册模式

AT+QREGSWT?

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

OK

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

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

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

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

行为

AT命令

设置IoT 平台IP 地址及端口

AT+NCDP=119.3.250.80,5683

OK  //华为云IoT平台IP地址和端口设置成功

重启模块

AT+NRB

REBOOTING

REBOOT_CAUSE_APPLICATION_AT  //重启原因

Neul

OK

(3)模组重启后,主动打印+QLWEVTIND:0 +QLWEVTIND:3,表示成功注册IoT平台,此时可以通过AT+QLWULDATA命令向华为云发数据。

行为

AT命令

 

+QLWEVTIND:0  //成功注册

+QLWEVTIND:3  //IoT平台已订阅实例19/0。当模块报告此消息时,MCU可以发送数据到IoT平台

向华为云IoT发送数据

AT+QLWULDATA=5,0003040005  //发送NON数据,不需要IoT平台应答ACK消息

OK

(4)发送数据后,在华为云可以看到设备在线。

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

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

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

(6)AT+QLWULDATA=5,0003040005命令,其中5表示发送数据总长度共5字节,00表示messageId消息标识默认为0(1字节),03表示温度3(1字节),04表示湿度4(1字节),05表示光照强度5(2字节)。

注意:数据顺序和字节多少,由产品profile和编解码插件解析规则确定,请根据实际情况来判断。

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

(7)下面开始测试华为云向NB-IoT模组下发控制命令。先设置模组新消息指示,此处设置AT+NNMI=1,如果有新消息到来,直接显示,格式为 +NNMI: <length>,<data>。也可以设置AT+NNMI=2,请参考AT手册。

行为

AT命令

设置新消息提示

AT+NNMI=1  //使能新消息指示和数据,会返回当前所有缓存的消息

OK

接收华为云命令下发

(1)进入产品区,点查看。选择“在线调试”。

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

(2)点调试按钮。选择命令Agriculture_Control_Light照明控制,选择ON参数,点缓存发送

注意:由于NB-IoT有PSM(Powser Saving Mode)芯片级低功耗省电模式,如果进入PSM模式,华为云的命令不能触达NB-IoT模组。此处选择缓存发送,华为云会在NB-IoT模组上报数据时,进行命令下发。

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

(3)先使用AT+QLWULDATA=5,0003040005上报1条数据。跟接着串口调试助手,显示已经接收到新消息+NNMI:5,0100054F4E。

其中5,0100054F4E,5表示数据总长度(5字节),01表示messageId消息标识01(1字节),0005标识mid命令序列值(2字节),0x4F表示ASCII码字母O,0x4E表示ASCII码字母N。

通过解析消息报文,可以得知NB-IoT模组收到下发的命令“ON”。

注意:数据顺序和字节多少,由产品profile和编解码插件解析规则确定,请根据实际情况来判断。

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

(4)点调试按钮。选择命令Agriculture_Control_Motor电机控制,选择OFF参数,点缓存发送

注意:由于NB-IoT有PSM(Powser Saving Mode)芯片级低功耗省电模式,如果进入PSM模式,华为云的命令不能触达NB-IoT模组。此处选择缓存发送,华为云会在NB-IoT模组上报数据时,进行命令下发。

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

(5)先使用AT+QLWULDATA=5,0003040005上报1条数据。跟接着串口调试助手,显示已经接收到新消息+NNMI:6,03000B4F4646。

其中6,03000B4F4646,6表示数据总长度(6字节),03表示messageId消息标识03(1字节),000B标识mid命令序列值(2字节),0x4F表示ASCII码字母O,0x46表示ASCII码字母F,第2个0x46表示ASCII码字母F。

通过解析消息报文,可以得知NB-IoT模组收到下发的命令“OFF”。

注意:数据顺序和字节多少,由产品profile和编解码插件解析规则确定,请根据实际情况来判断。

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

完成

ok。

源码获取

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

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

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

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

相关

【上电即上华为云】华为云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

本帖地址

上一篇:由normal生成局部坐标系


下一篇:2-Air302(NB-IOT)-下载和运行第一个程序