AliOS Things 3.0 开发:OTA之压缩升级快速上手

简介: OTA(over the air)已成为物联网设备的刚需功能, 由于应用场景的需要,OTA又可分为整包升级、压缩升级及差分升级,本文将介绍基于AliOS Things 3.0版本的OTA压缩升级

关联文章:AliOS Things 3.0 开发:OTA之整包升级使用手册

概要

OTA(over the air)已成为物联网设备的刚需功能, 由于应用场景的需要,OTA又可分为整包升级、压缩升级及差分升级,本文将介绍基于AliOS Things 3.0版本的OTA压缩升级;首先介绍一下何为压缩升级?
从命名可以看出和压缩有关,具体做法是,先将待升级的固件用工具压缩,然后将压缩后的升级文件由云端推送到待升级设备端,待升级设备通过解压缩算法解压,最后完成升级过程;
优点:压缩过的固件较小,下载快,占地小节省存储空间;
缺点:设备端解压缩需要些时间,一般是几十秒,时间的长短与固件大小和mcu性能等有关;
如下图所示为AliOS Things 3.0 OTA压缩升级的流程示意图,3.0版本AliOS Things的编译体系支持将生成的bin文件自动压缩的功能,具体细节后面会介绍;


TB1K16LiUz1gK0jSZLeXXb9kVXa-771-576.png


图1 AliOS Things 压缩升级示意图

环境准备

获取代码:https://github.com/alibaba/AliOS-Things 分支:rel_3.0.0
选定APP:选择AliOS-Things/app/example/中linkkitapp;
选定board: 选择AliOS-Things/board/中developerkit;
选定云端平台:物联网平台

使用流程

AliOS Things 同时支持Windows、Linux、MacOS编译环境,本文以Linux编译环境为例;

  • 选择app和board

输入命令:

# 清除之前配置
$ aos make distclean
# 配置app为linkkitapp,board为developerkit
$ aos make linkkitapp@developerkit -c config
# 编译
$ aos make 

编译完成后,生成的固件在out/linkkitapp@developerkit/binary目录下,如下图:


TB1cYLOiUz1gK0jSZLeXXb9kVXa-583-249.png


图2 编译生成固件图

linkkitapp@developerkit.bin烧录到板子上,linkkitapp@developerkit_ota.bin.xz是压缩过的ota固件,用于上传云端,但上传云端固件的版本号要求高于烧录在板子上的固件版本号,因此需要生成一个高版本的固件;

  • 固件版本号更改及云端操作

更改build/build_rules/aos_target_config.mk文件中的app-1.0.0-为app-2.0.0-编译,如下图:


TB15CDOiQP2gK0jSZPxXXacQpXa-781-743.png


图3 固件版本号获取图

复制如上图标记的版本号,登录物联网平台平台,按如下图顺序操作


TB1q6fNiQL0gK0jSZFAXXcA9pXa-1881-835.png


图4 添加固件操作步骤图

点击新增固件后,如下图:


TB1.kbLiGL7gK0jSZFBXXXZZpXa-758-863.png


图5 固件添加图

点击“确定”后,选择“验证固件”即可开始固件升级;升级结果可以点击“查看”获取详细结果;

  • 设备端信息

设备端升级过程中部分log如下图:


TB1cOrSiNv1gK0jSZFFXXb0sXXa-1631-882.png


图6 设备端压缩升级信息
  • 升级结果云端查看

通过点击“验证固件”下的“查看”可以查看OTA的升级结果,如下图


TB1C4bPiRv0gK0jSZKbXXbK2FXa-822-234.png


图7 云端升级结果图

以上就是AliOS Things 3.0版本的OTA压缩升级整个流程。

注:在做OTA之前确保设备端已连接云端

image.png

给AliOS Things一颗STAR(前往GitHub关注我们)


相关实践学习
钉钉群中如何接收IoT温控器数据告警通知
本实验主要介绍如何将温控器设备以MQTT协议接入IoT物联网平台,通过云产品流转到函数计算FC,调用钉钉群机器人API,实时推送温湿度消息到钉钉群。
阿里云AIoT物联网开发实战
本课程将由物联网专家带你熟悉阿里云AIoT物联网领域全套云产品,7天轻松搭建基于Arduino的端到端物联网场景应用。 开始学习前,请先开通下方两个云产品,让学习更流畅: IoT物联网平台:https://iot.console.aliyun.com/ LinkWAN物联网络管理平台:https://linkwan.console.aliyun.com/service-open
相关文章
|
安全 算法 物联网
云端一体化差分+安全升级,AliOS Things物联网升级“利器”
随着物联网的日益发展,OTA升级逐渐成为物联网设备的刚性需求,目前物联网设备种类繁多,但并未提供统一的OTA升级方案,针对日益发展的物联网设备,开发者迫切需要一套云端一体化的OTA升级方案来满足快速迭代的产品开发周期,降低产品开发和部署的成本,同时针对物联网低功耗和省流量的场景,AliOS Things推出物联网设备的升级“利器”:云端一体化的差分+安全升级,可以快速修复软件漏洞,更新系统,解决了用户开发部署难,售后维护成本高,升级下载流量大,升级不安全的痛点问题。
4472 0
|
物联网 AliOS-Things
AliOS Things 3.0 开发:OTA之差分升级快速上手
OTA之差分升级,用AliOS Things如何实现?
|
物联网 AliOS-Things
AliOS Things 3.0 开发:OTA之整包升级使用手册
本位以物联网平台为例,介绍设备OTA实现
|
物联网 Linux
【AliOS Things学习笔记】为你的AliOS Things应用增加自定义cli命令
怎么才能在RTOS系统中,通过 串口shell控制LED的开关。
3680 0
|
AliOS-Things 物联网 编译器
使用HaaS Studio开发AliOS Things C/C++应用
本文章将介绍使用HaaS Studio 进行AliOS-Things C/C++应用开发。
使用HaaS Studio开发AliOS Things C/C++应用
|
传感器 监控 算法
使用AliOS Things快速构建温度计应用 |《AliOS Things快速开发指南》
本文是基于AliOS Things 3.1快速构建温度计的应用场景。涉及AliOS Things组件开发,构建AliOS Things用户项目,AliOS Things HAL API使用,向AliOS Things中添加并使用组件。用到的硬件设备有半导体开发板、温度传感器、数码管显示器。
使用AliOS Things快速构建温度计应用 |《AliOS Things快速开发指南》
|
域名解析 移动开发 数据可视化
使用 AliOS Things 3.0 快速构建用户应用 BlinkAPP
AliOS Things 3.0版本于去年9月份在云栖大会正式发布,在新版本中带来了全新的应用开发框架,帮助用户快速构建自己的应用。使用户可以更专注于自身应用的开发。本文将已BlinkAPP为例,为大家演示如何快速使用应用开发框创建项目并完成应用代码编写。
972 0
使用 AliOS Things 3.0 快速构建用户应用 BlinkAPP
|
物联网 机器人 AliOS-Things
|
物联网 传感器 API
AliOS Things 3.0应用笔记:http client简单应用
AliOS Things 3.0版本新增加了httpc组件(http 客户端组件),httpc组件支持多种RESTful的API调用,包括GET、POST、PUT、HEAD等,也支持https安全协议。
12360 1