欢迎来到亿配芯城! | 免费注册
你的位置:高云半导体gowin高云FPGA芯片全系列-亿配芯城 > 芯片资讯 > 基于移远BC28的STM32+NB-IOT的OTA案例分享
基于移远BC28的STM32+NB-IOT的OTA案例分享
发布日期:2024-11-24 07:59     点击次数:123

随着互联网的开展和无线通讯网络的提高,低功耗窄带通讯为物联网带来了更多时机。凭仗着其掩盖范围广、功耗低等特性,取得了普遍的关注与注重,不时加速完成物与物之间树立智能化、数据化的联络。借助通讯和云计算的高速开展,越来越多的设备开端物联网化演进,大范围部署后的物联网设备面临着在线晋级(OTA)的需求,从而处理系统更新,产品功用迭代、破绽修复、和平安防护等问题。

这其中的在线晋级功用,需求运用 OTA (Over-the-Air) 技术 。简单地说,OTA 就是经过网络来晋级手中的智能设备。由于大多数物联网终端受硬件资源、功耗、带宽等限制,传统的整包晋级方式曾经越来越难以满足客户需求,而稳定平安的差分晋级在OTA这一技术范畴中显得尤为重要。特别是NB-IOT这类窄带通讯技术,大多数应用都是由低功耗小资源的MCU+NB-IOT通讯模块完成的,NB-IOT通讯模块完成联网功用,设备应用运转在MCU上,运用差分OTA晋级,能够完成减低功耗、减少硬件资源耗费、提升晋级体验、加速下载过程,提供更好的平安性和牢靠性,并且有效避免大量设备下载时分对基站等设备的冲击。艾拉比提供的基于MCU+NB-IOT的差分技术计划曾经普遍应用在如门锁、手表、定位器、路灯控制器、共享停车位、烟感和表计等范畴。

下面以移远BC28+STM32L053为例,来演示如何应用艾拉比的差分技术经过NB网络晋级STM32的APP固件。我们将从晋级计划的设计,设备操作流程两个局部来细致解说这个计划:

01.晋级计划的设计

下图展现了这个晋级计划的软件框架:

从上图能够看到STM32里中需求有三个局部的修正:

1. STM32L053的APP局部,需求集成与OTA效劳器通讯的程序,我们称为UpdateController,简称UC

2. STM32L053的bootloader局部,需求集成差分晋级算法程序,我们称为Update Agent,简称UA

3. STM32L053上需求规划处一定的存储空间,用来存储下载的差分包。

从设计的软件框架来看晋级将分为两个阶段:下载差分包阶段和晋级上报阶段。在窄带网络下,我们以LWM2M协议为根底来和OTA效劳器停止交互通讯,设备与效劳器端树立的是COAP衔接。

我们先来细致合成下载阶段的流程:

从上图中我们能够看到整个下载差分包的流程分以下几个步骤:

1. 初始化模组, STM32向BC28发送初始化的AT指令。

2. STM32发送AT指令给BC28,树立网络链接。BC28返回树立网络的结果给STM32。

3. STM32透过BC28,向OTA效劳器发起注册恳求。OTA效劳器透过BC28下发注册结果,STM32将这些注册信息保管下来。

4. STM32透过BC28,向OTA效劳器发起检测版本的恳求。OTA效劳器透过BC28下发新版本的信息,这其中包含了差分包的下载地址。

5. STM32基于得到的下载地址,透过BC28向OTA效劳器发送下载差分包恳求。OTA效劳器会依据恳求将差分包分段透过BC28下发给STM32,STM32在收到后将这些数据存储在差分包存储区域。

6. STM32在下载完差分包并经过校验后,透过BC28上报下载晋级包的结果给到OTA效劳器。OTA效劳器透过BC28下发上报结果。

7. STM32发送指令给BC28关闭网络衔接,BC28返回关闭网络衔接结果

8. STM32停止软重启,进入bootloader

接下来晋级流程就进入了下一个阶段,我们先来看流程图:

从上图中我们能够看到整个晋级上报的流程分以下几个步骤:

1. STM32在bootloader中运转UA程序,完成差分晋级, 亿配芯城 晋级完成后重启。

2. STM32向BC28发送初始化的AT指令,BC28向STM32返回初始化结果。

3. STM32发送AT指令给BC28,树立网络链接。BC28返回树立网络的结果给STM32。

4. STM32透过BC28,向OTA效劳器发起注册恳求。OTA效劳器透过BC28下发注册结果,STM32将这些注册信息保管下来。

5. STM32透过BC28,向OTA效劳器上报晋级结果。OTA效劳器透过BC28下发晋级上报结果。

6. STM32通知BC28关闭网络衔接,至此整个晋级流程完毕。

经过对整个计划以及两个阶段流程解析,我们能够看到,在窄带网络下的差分晋级,关于这种网络特性,对差分包的大小以及差分包传输的稳定性需求有一定的保证,所以在下载差分包的时分,我们需求停止分段下载,并且需求对每段数据停止相应手腕的校验。下面我们从设备端的操作,来看一下整个晋级的流程。

02、设备操作流程

从下图我们看到,左边的开发板基于STM32L053,右边的开发板基于移远BC28,我们将经过串口线将两个设备衔接在一同停止晋级操作。STM32开发板上的蓝色按钮的功用是发起整个晋级流程,黑色按钮的功用是重启STM32开发板,下面我们开端操作。

首先我们按下STM32开发板上的蓝色按钮,发起晋级流程,这个时分STM32开发板屏幕上会有如下显现:

此时,我们还能够经过衔接到PC上的debug工具,能够看到相应log,这段动画显现的是STM32从初始化到检测版本整个过程的log。

在检测完成后,STM32自动进入下载差分包阶段,下面两张图是STM32进入下载差分包流程时的屏幕进度显现:

这个阶段,我们也能够明晰的从PC的debug工具里看到整个下载流程:

在下载胜利后,我们手动按一下STM32开发板上的黑色按键,重启STM32开发板,让设备进入bootloader开端晋级,下面两张图是STM32开发板在晋级时的屏幕显现:

完成晋级后,STM32开发板重启重新进入APP,这个时分会自动将这次晋级的结果停止上报,下图是STM32开发板在停止晋级上报时分的屏幕显现:

同样,我们也能够在PC上的debug工具里看到整个上报流程:

从STM32开发板的屏幕上看到完成这个流程后,STM32开发版本的固件从1.0胜利的晋级到了1.1,至此整个晋级完成。   亿配芯城(WWW.YiBEiiC.COM)隶属于深圳市新嘉盛工贸有限公司,成立于2013年并上线服务,商城平台主要特点“线上快捷交易配单+线下实体供应交货”两全其美的垂直发展理念,是国内电子元器件专业的电子商务平台+实体店企业。未来发展及模式主要以(一站式配单,平台寄售/处理闲置库存达到资源共享双赢,电子工程师交流社区,硬件开发与支持等互动服务平台)在这个高效而发展迅猛的科技互联网时代为大家提供精准的大数据资源平台。



  • 上一篇:一文知道防爆电机和普通电机的区别
  • 下一篇:没有了