【SparkSQL笔记】SparkSQL的Dataset操作大全(二)(spark中dataset用法)
1065
2022-05-30
一句话总结:本文使用openCPU开发第3代5G NB-IoT模组,实现单模组上电即上华为云,同时打通NB模组内置的蓝牙BLE,实现手机APP近端调测NB模组。All-in-one技术的NB-IoT模组,开发产品时,最多可节省一颗MCU、一颗蓝牙、一颗GPS或北斗,一个外置的SIM卡,优势明显。
一、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平台,在大幅提升集成度、性价比、安全性和降低功耗的同时,新增了蓝牙、OpenCPU、GNSS定位等能力,为智能表计、烟感、智能停车、智慧路灯等百万级成熟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系列技术文章预告
由于技术点比较多,需要拆分为多个教程,包括但不限于:
(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上华为云【完结】
【上电即上华为云】华为云all-in-one智联模组_NB-IoT_BC95-CNV(BC28-CNV)_MQTT_at
https://bbs.huaweicloud.com/blogs/249333
(3) 上电即上华为云,NB-IoT基于openCPU开发智慧农业项目【进行中】
本文使用openCPU开发第3代5G NB-IoT模组,实现单模组上电即上华为云,同时打通NB模组内置的BLE能力,实现手机APP近端调测NB模组。
内容过多,现在拆分为2部分:
(3.1)openCPU开发NB-IoT,实现上电即上云。【进行中】
(3.2)手机APP近端调测NB-IoT,实现上电即上云。
(4) 上电即上华为云,NB-IoT基于openCPU驱动X传感器(六轴姿态、光感等)
(5) 上电即上华为云,smart智联NB-IoT + PLC无线网关
(6) 上电即上华为云,NB-IoT + lvgl 智能显示屏(猫眼、广告分发屏等)
(7) 未完待续…
三、NB-IoT基础SDK BLE_BC95-CNV_BC28-CNV
基础SDK
BC28CNV_THA_QuecOpen_NB2_SDK_V1.0_BETA0311A.zip
二、华为云智联patch(含NB及BLE)
补丁包
patch_hwcloud_nb-iot_ble_bc95-cnv_bc28-cnv_opencpu_20210328-1825.rar
四、需提前确认NB开发板、SIM卡均为可用状态
为了快速验证NB-IoT开发板是否可用,建议开发者先完成本教程。
【上电即上华为云】华为云all-in-one智联模组_NB-IoT_BC95-CNV(BC28-CNV)_LwM2M_at
https://bbs.huaweicloud.com/blogs/249241
基于NB-IoT模组的默认原厂固件,利用串口调试助手,向模组发送AT指令,实现快速上华为云。
五、使用步骤
硬件连接
(1)硬件环境说明:
使用移远公司BC95-CNV开发板,插上NB-IoT SIM卡,usb口连接到电脑。
注意:开发板上的拨码开关,拨到 MAIN UART TO USB。不要选择MAIN UART TO MCU。
串口调试
助手
(1)打开串口调试助手QCOM,显示有4个COM口。
COM29:AT调试串口。波特率115200。
COM31:NB-IoT模组运行LOG串口。也是下载openCPU固件的下载口。
注意:具体COM口请根据实际情况来判断。
源代码编译环境搭建
(1)编译环境搭建,请参考《Quectel_BC28-CNV_THA_QuecOpen_快速开发指导》。内容很详细,过程很简单。最大的感受是,解压文件夹,直接就能编译了。我的电脑是windows 64位。
(2)解压基础SDK。有2个比较重要的文档,《Quectel_BC28-CNV_THA_QuecOpen_API参考手册》、《Quectel_BC28-CNV_THA_QuecOpen_快速开发指导》,需要看一看。
All-in-one技术大礼包的NB-IoT模组,开发产品时,最多可节省一颗MCU、一颗蓝牙、一颗GPS或北斗,一个外置的SIM卡,优势明显。
(3)打开SDK文件夹,双击命令提示符。
(4)输入命令scons.cmd
(5)提示build pass,表示代码编译成功。编译很快,操作很简单。
(6)打开build文件夹,发现NB-IoT的固件已经生成。
(7)下载软件是QFlash。点击Load FW Files,选择刚刚生成的固件。
注意:此开发板能识别出4个串口,一般第3个是下载和LOG串口。此处是COM31,波特率选择9600。
(8)点击Start。
(9)先提示Wait port(31) is normal,等一会后,提示Reset。此时,按一下NB-IoT开发板的Reset按键。
(10)开始下载固件,直到出现PASS。
(11)打开串口调试助手,注意下波特率的设置。按一下开发板的Reset键,输出<-- QuecOpen: ATC_PIPE Example --> 表示openCPU的ATC_PIPE代码已经跑起来了。
打补丁
(1)解压缩patch_hwcloud_nb-iot_ble_bc95-cnv_bc28-cnv_opencpu_20210328-1825
(2)给基础SDK代码,打补丁。此补丁包含openCPU的NB-IoT和BLE蓝牙功能。
华为云设置
(1)华为云的配置。选择产品:设备接入 IoTDA。
https://www.huaweicloud.com/product/iothub.html
(2)华为云的其他配置,此处不再赘述。没有配置的开发者,请参考下面文章。
【上电即上华为云】华为云all-in-one智联模组_NB-IoT_BC95-CNV(BC28-CNV)_LwM2M_at
https://bbs.huaweicloud.com/blogs/249241
代码调测
(1)继续scons.cmd 生成 BC28CNVAAR01A01_BETA0311A_HW001.fwpkg
(2)使用QFlash把新的固件下载到NB-IoT模组。
(3)下载固件完成后,NB开发板按一下Reset键。当串口调试助手出现hwcloud<-- hwcloud_app_data -->00050F0012,表示数据已经发给华为云IoT平台。
(4)登录华为云平台,可以查看云上已经收到数据。
0x05表示温度5度。0x0F表示湿度15,0x0012表示光照强度18。
关于数据格式,更详细的解释和说明,请参考【上电即上华为云】华为云all-in-one智联模组_NB-IoT_BC95-CNV(BC28-CNV)_LwM2M_at
https://bbs.huaweicloud.com/blogs/249241
接收华为云命令下发
(1)进入产品区,点查看。选择“在线调试”。
(2)点调试按钮。选择命令Agriculture_Control_Light照明控制,选择ON参数,点缓存发送。
注意:由于NB-IoT有PSM(Powser Saving Mode)芯片级低功耗省电模式,如果进入PSM模式,华为云的命令不能触达NB-IoT模组。此处选择缓存发送,华为云会在NB-IoT模组上报数据时,进行命令下发。
(3)目前我在代码里设置的是间隔8分钟上传华为云一次数据,所以需要等一会。下一个文章,我会示范怎么使用手机APP近端发送数据,通过NB通道快速发到华为云。缓存命令下发时,可以看到串口助手已经解析,打开灯光Light。
(4)点调试按钮。选择命令Agriculture_Control_Motor电机控制,选择OFF参数,点缓存发送。
注意:由于NB-IoT有PSM(Powser Saving Mode)芯片级低功耗省电模式,如果进入PSM模式,华为云的命令不能触达NB-IoT模组。此处选择缓存发送,华为云会在NB-IoT模组上报数据时,进行命令下发。
(5)目前我在代码里设置的是间隔8分钟上传华为云一次数据,所以需要等一会。下一个文章,我会示范怎么使用手机APP近端发送数据,通过NB通道快速发到华为云。缓存命令下发时,可以看到串口助手已经解析,关闭电机Motor。
完成
ok。
源码获取
weixin关注公众号beigugong,或者扫描下方二维码。
回复NB-IoT_BC95-CNV_BC28-CNV,获取源码下载链接。
相关
【上电即上华为云】华为云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
https://bbs.huaweicloud.com/blogs/249333
【上电即上华为云】华为云all-in-one智联模组_NB-IoT_BLE_BC95-CNV_BC28-CNV_openCPU
本帖地址
ARM IoT 硬件开发
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。