關聯文章: 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
目錄下,如下圖:
[email protected]燒錄到闆子上,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關注我們)