关联文章:AliOS Things 3.0 开发:OTA之压缩升级快速上手
环境准备
获取代码:https://github.com/alibaba/AliOS-Things 分支:rel_3.0.0
选定APP:在AliOS-Things/app/example/
中linkkitapp和otaapp都支持OTA功能,本文以linkkitapp为例介绍;
选定board: 在AliOS-Things/board/
中有很多板子都支持OTA功能,本文以developerkit为例介绍;
选定云端平台:阿里云有两个平台支持AliOS Things OTA功能:物联网平台或智能生活开放平台,本文以物联网平台为例介绍;
使用流程
AliOS Things 支持Windows、Linux、MacOS编译环境,本文以Linux编译环境为例:
- 选择app和board
输入命令:
# 清除之前配置
$ aos make distclean
# 配置app为linkkitapp,board为developerkit
$ aos make linkkitapp@developerkit -c config
- 选择OTA组件及功能
输入命令:aos make menuconfig, 如下图:
选择顺序:Middleware Configuration
--->uAgent Configuration
--->-*- OTA Features
---> OTA Features
相关功能介绍如下:
[ ] OTA Secure Downloading Mode # 默认支持http下载,选中此项将支持https下载模式
[ ] OTA via uAgent # 默认不支持uAgent模式升级,选中支持uAgent方式升级
[ ] RSA Verify Support # 默认不支持安全升级,选中支持安全升级
(5) OTA Download Retry Count # 默认网络异常重试5次,可以根据需要自定义次数
(20000) OTA Download Timeout(ms) # OTA下载过程监控时间默认是20s,支持自定义
(512) OTA Download Block Size(bytes) # OTA下载时获取数据buf大小默认是512字节,支持自定义
(1024) OTA write flash cache size(bytes)# OTA写flash缓存大小默认是1k,支持自定义
[ ] BLE OTA Support # BLE OTA功能选项
完成配置后保存退出
- 编译固件
编译命令:aos make 编译完成后,生成的固件在out/linkkitapp@developerkit/binary
目录下,如下图:
linkkitapp@developerkit.bin烧录到板子上,linkkitapp@developerkit_ota.bin用于上传云端,但上传云端固件的版本号要求高于烧录在板子上的固件版本号,因此需要生成一个高版本的固件;
- 固件版本号更改及云端操作
更改build/build_rules/aos_target_config.mk
文件中的app-1.0.0-为app-2.0.0-编译,如下图:
复制如上图标记的版本号,登录物联网平台平台,按如下图顺序操作:
点击新增固件后,如下图:
点击确定后,选择验证固件即可开始固件升级;升级结果可以点击“查看”获取详细结果;物联网平台的OTA操作可参考文档阿里云物联网平台固件升级文档 智能生活平台的OTA操作可参考阿里云智能生活开放平台固件升级文档;
注:在做OTA之前确保设备端已连接云端
给AliOS Things一颗STAR(前往GitHub关注我们)