今天我們學習Air780E快速入門之韌體的遠端升級,小夥伴們,學起來吧!
一、生成差分包
合宙的遠端升級支援使用合宙雲平臺和自建伺服器,此例程使用的是合宙雲平臺。
1.1 準備新舊版的core和指令碼.
關於需要升級的core(韌體),需要注意的點有:
1.1.1 需要 V1103及以上的韌體。
1.1.2 需要 LuaTools 2.1.89(LuaTools工具的版本,可以在工具左上角看到) 及以上的升級檔案生成。
1.1.3 新版core的版本號必須大於舊版core。
1.1.4 新舊版core的支援功能相同,因為功能不同的core 的檔案系統地址可能不同,如果升級的話可能導致程式異常。
1.1.5 程式中需要保證新舊版本的PROJECT相同,新版本的版本號VERSION大於舊版,PRODUCT_KEY和雲平臺保持一致。
1.2 使用Luatools生成bin差分包
1.2.1 生成量產檔案
在Luatools中選擇新版的core,和更改了version的指令碼檔案,然後生成量產檔案:
1.2.2 在選擇生成量產檔案的目錄中,找到bin檔案。
1.2.3 生成差分包
首先在Luatools中找到差分工具。
然後選擇舊版的core,生成的新版量產檔案,最後點選開始生成差分檔案。
二、雲平臺配置
2.1 雲平臺新建專案
2.1.1 進入IoT介面,新建專案
2.1.2 複製專案key到指令碼程式碼中
然後我們先去準備一個差分包。
2.2 雲平臺新增差分包
進入雲平臺,選擇本專案的韌體列表。
三、編寫指令碼
3.1 等待聯網
sys.waitUntil("IP_READY")
3.2 用於fota升級的函式。
--[[ @param1 回撥函式
]]
libfota.request(fota_cb)
3.3 fota升級的回撥函式, 當回撥函式中傳入的值為0時,重啟模組。
function fota_cb(ret)
if ret == 0 then
rtos.reboot()
end
end
3.4 定時查詢是否有遠端升級
sys.timerLoopStart(libfota.request, 3600000, fota_cb)
四、燒錄程式碼到硬體
4.1 正確連線電腦和4G模組電路板
使用帶有資料通訊功能的資料線,不要使用僅有充電功能的資料線;
4.2 識別4G模組的boot引腳
在下載之前,要用模組的boot引腳觸發下載, 也就是說,要把4G模組的boot引腳拉到 1.8v,或者直接把boot引腳和VDD_EXT引腳相連。我們要在按下BOOT按鍵時讓模組開機,就可以進入下載模式了。
具體到 Air780E開發板,
4.2.1 當我們模組沒開機時,按著BOOT鍵然後長按PWR開機。
4.2.2 當我們模組開機時,按著BOOT鍵然後點按重啟鍵即可。
4.3 識別電腦的正確埠
判斷是否進入BOOT模式:模組上電,此時在電腦的裝置管理器中,檢視串列埠裝置, 會出現一個埠表示進入了boot下載模式,如下圖所示:
當裝置管理器出現了3個連續數字的com埠,並且每個數字都大於4,這時候, 硬體連線上就緒狀態,恭喜你,可以進行燒錄了!
4.4 新建專案
首先,確保你的 LuaTools 的版本,上大於 2.2.13 版本的。
在 LuaTools 的左上角上有版本顯示的,如圖所示:
LuaTools 版本沒問題的話, 就點選 LuaTOols 右上角的“專案管理測試”按鈕,如下圖所示:
這時會彈出專案管理和燒錄管理的對話方塊,如下圖:
新建一個專案
注意:這裡截圖使用的hello world專案的燒錄教程,燒錄的時候要將指令碼換成本次demo的。
4.5 開始燒錄
選擇780E板子對應的底層core和剛改的main.lua指令碼檔案。下載到板子中。
點選下載後,我們需要進入boot模式才能正常下載,在(3)(4)小節已經介紹瞭如何進入boot模式。
五、驗證功能
啟裝置後會自動升級差分包
檢視升級日誌
六、常見問題
1. 要升級的core的版本大於舊版本
2. 指令碼中PROJECT保持一致,VERSION版本號大於舊版
3. 升級時的錯誤可以檢視升級日誌
好了,以上就是今天的內容,Air780E快速入門之韌體的遠端升級,你學會了嗎?