物联 设备OTA软件升级之:升级包下载过程之旅

OTA概述

大家好,我是一个软件升级包。这几天呢,我将会进行一次神奇的 络之旅,从开发者的电脑中,一直跑到终端嵌入式设备中。

大家都把我的这个旅游过程叫做 OTA,也就是在线升级。

那么啥叫 OTA 呢称是:Over the Air Technology,其实就是通过 络来把一个新的软件包从服务器上下载下来,更新到设备上。

带有文件系统的设备:

上传升级包

为了便于描述,我们来假设一个场景:运行在设备中的软件一共有 个文件:

  1. main 文件:可执行程序;

  2. config.ini:配置文件;

  3. mylib.so:一个动态库文件,里面包含一个算法,被 main 文件调用;

目前呢,设备中运行的版本是 ,现在开发人员对 库中的算法进行了优化,升级为 版本,现在需要把这个新版本升级到嵌入式设备中。

首先第一步需要做的事情,咱们用脚后跟都能想得到,那就是把 版本的程序软件上传到文件服务器中。

有一点提醒一下:很多云平台都会把应用服务器和文件服务器进行区分。当然,如果仅仅是测试的话,它俩可以在同一台物理服务器上共存。

比如:亚马逊的 平台,就是把升级包上传到 服务器中。

这个文件的作用暂且不说,到后面会为您揭晓答案。

Bingo – 版本的升级包诞生了:,上传到文件服务器上之后,地址为:。

字段描述了文件服务器上升级包的版本,这样的话,设备就可以知道到服务器中的最新版本。

字段描述了升级包的下载地址,设备如果发现自己的版本低于 字段中的版本,就可以从这个地址下载新的升级包。

字段描述了服务器中最新升级包的指纹信息,当设备把服务器上的升级包下载之后,需要计算一下升级包的 值,然后与这里的 字段进行比较,如果相同的话,说明下载的升级包没有问题,没有被恶意的家伙掉包。

了解了升级包描述文件 的作用之后,这个文件就被上传到应用服务器中了。

当终端设备收到升级命令之后,第一步就是下载升级包描述信息。

下载完成之后,有一件很重要的事情千万别忘记了,那就是:检查下载的升级包是否正确!

还记得升级包描述文件中的 字段吗就是我的指纹信息。

你需要首先计算一下下载的升级包的 值,然后与升级包描述文件中的 字段中的值进行比对,如果完全一致,那就放心大胆的开始解压、升级吧!

解压升级包

欲知后事如何,请听下回分解!


—— End ——

Hi~您好,我是道哥,一枚嵌入式开发老兵。

这是我的个人微信,做个点赞之交也不错哦!

物联 设备OTA软件升级之:升级包下载过程之旅

让知识流动起来,越分享越幸运!


推荐阅读

【1】C语言指针-从底层原理到花式技巧,用图文和代码帮你讲解透彻
【2】一步步分析-如何用C实现面向对象编程
【3】原来gdb的底层调试原理这么简单
【4】内联汇编很可怕吗完这篇文章,终结它!
【5】都说软件架构要分层、分模块,具体应该怎么做

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2021年5月6日
下一篇 2021年5月6日

相关推荐