ChatGPT話題愈燃愈旺,新技術(shù)應(yīng)用帶來的興奮,讓參與其中的人們充滿改變世界的期待,又不免生出被AI替代的焦慮,以及混雜其間的各種沖動(dòng)。像極了三體科幻小說的現(xiàn)實(shí)版,衍生出拯救派、降臨派、幸存派……
ChatGPT那么神,可以幫我們FOTA升級模組嗎?——顯然,當(dāng)下還得靠工程師自己。
話說合宙基于移芯EC618平臺的4G-Cat.1系列模組,支持標(biāo)準(zhǔn)AT/LuatOS/C-SDK多樣化開發(fā)方式,可滿足用戶不同開發(fā)需求。其中C-SDK倉庫提供給客戶自己編譯,版本自由度較高,F(xiàn)OTA遠(yuǎn)程升級應(yīng)用只需做好版本管理——不僅支持使用自己的服務(wù)器,還支持使用合宙IoT云平臺來升級模組,為不方便搭建服務(wù)器的客戶提供免費(fèi)便捷的服務(wù)。
合宙IoT云平臺:
https://iot.openluat.com/
那么如何使用合宙IoT云平臺進(jìn)行C-SDK固件升級呢?接下來將跟大家詳細(xì)分享。
1
FOTA測試準(zhǔn)備
在下載到的CSDK倉庫內(nèi)找到 “/project/example_fota_iot” ,本文將以此為例。
1.1 生成1.0.0版本的binpkg文件
首先,需要先將代碼中的 "PROJECT_KEY"更改成自己合宙IoT上的PROJECT_KEY。然后保存編譯,生成1.0.0版本的binpkg文件(可以手動(dòng)修改文件名作為區(qū)分)。
相關(guān)注意事項(xiàng):
-
升級時(shí)要校驗(yàn)請求時(shí)的代碼是否和生成差分包所用的舊版本代碼一致。如不一致,日志會(huì)出現(xiàn):image_verify error,校驗(yàn)失敗而不能升級。
-
差分包地址和域名也是代碼的一部分,會(huì)參與差分包的生成,也需確保在新舊版本中保持一致。
-
一般情況下差分包也要區(qū)分不同版本,就會(huì)導(dǎo)致地址有可能會(huì)經(jīng)常發(fā)生更改。可以把url寫成從其他地方獲取:比如kv或者從服務(wù)器獲取,就可以避免手動(dòng)修改差分包地址而導(dǎo)致代碼不一致,影響升級失敗。
#define PROJECT_VERSION"1.0.0"
#define PROJECT_KEY “ABCDEFGHIJKLMNOPORSTUWWXYZ"//修改為自己iot上面的PRODUCT_KEY,這里是一個(gè)錯(cuò)誤的
#define PROJECT_NAME "TEST_FOTA"
char g_test_server_name[200] = {0};
#define TEST_HOST "http://iot.openluat.com"
#define HTTP_RECV_BUF_SIZE (1501)
#define HTTP_HEAD_BUF_SIZE (800)
1.2 生成2.0.0版本的binpkg文件
對代碼進(jìn)行修改,修改完成后build生成 2.0.0 binpkg,然后保存編譯,生成2.0.0版本的binpkg文件(可以手動(dòng)修改文件名作為區(qū)分)。
#define PROJECT_VERSION"2.0.0"
#define PROJECT_KEY “ABCDEFGHIJKLMNOPORSTUWWXYZ"//修改為自己iot上面的PRODUCT_KEY,這里是一個(gè)錯(cuò)誤的
#define PROJECT_NAME "TEST_FOTA"
char g_test_server_name[200] = {0};
#define TEST_HOST "http://iot.openluat.com"
#define HTTP_RECV_BUF_SIZE (1501)
#define HTTP_HEAD_BUF_SIZE (800)

2
差分包生成
手動(dòng)生成差分包的過程,使用移芯芯片平臺提供的FotaToolKit差分工具。
差分工具下載鏈接:
https://cdn.openluat-luatcommunity.openluat.com/attachment/20221031103812773_FotaToolkit_V2.0.9.0.zip
打開FotaToolkit差分工具,選擇Generator標(biāo)簽頁,五步即可實(shí)現(xiàn)差分文件制作。
差分文件制作步驟

Step1. 選擇配置文件
選擇對應(yīng)產(chǎn)品項(xiàng)目的配置文件,如:config/ec618.json
Step2. 設(shè)置名稱及路徑
設(shè)置差分文件的名稱及路徑(默認(rèn)路徑為 FotaToolkitGUI 所在目錄,文件名為 default_delta.par),然后選擇差分文件所需的基線鏡像文件和目標(biāo)鏡像文件。
Step3. 設(shè)置文件版本號
該步驟可選(一般情況下不需要改變)。
添加基線和目標(biāo)鏡像的版本號,具體格式為 Vmmm.nnn.ppp(m,n 和 p 為數(shù)字 0-9,分別表示鏡像文件的大、小和補(bǔ)丁版本號),需要注意的是新舊兩個(gè)版本號不能相同;此外,該版本號僅僅是為了追蹤和記錄新舊鏡像文件的信息,不會(huì)對實(shí)際鏡像文件版本號進(jìn)行匹配和校驗(yàn)。
Step4. 選擇FLASH配置信息
根據(jù)步驟02中的新舊鏡像文件的屬性(相關(guān)鏡像屬性已在JSON文件中配置),選擇相匹配的FLASH配置信息。
Step5. 執(zhí)行制作差分文件
以上步驟完成后,直接執(zhí)行“START”制作差分文件即可。顯示窗口會(huì)實(shí)時(shí)輸出制作過程的所有LOG信息,制作完成后會(huì)彈窗提示“成功”還是“失敗”,具體的制作結(jié)果以及目標(biāo)文件的詳細(xì)信息也會(huì)輸出到顯示窗口中。
特別說明:
后綴名(.par)為移芯FOTA差分方案的默認(rèn)文件后綴,設(shè)置文件名稱時(shí)Fota工具會(huì)自動(dòng)追加。
生成.par文件后需要手動(dòng)將后綴改為.bin。
3
上傳差分包
差分包生成成功后需要上傳到服務(wù)器中,打開合宙iot.openluat.com并登錄:
3.1 點(diǎn)擊固件升級,選擇項(xiàng)目,然后創(chuàng)建固件:

3.2 進(jìn)入創(chuàng)建固件選項(xiàng)后,選擇差分工具生成的差分文件。
原始文件格式為.par,需要手動(dòng)改為.bin:

3.3 填寫固件名及版本號:
固件名一欄填入PROJECT_VERSION、PROJECT_NAME和CSDK_EC618拼接后的字符串;版本號手動(dòng)填入2.0.0 。

3.4 然后點(diǎn)擊確定,固件就上傳成功了。

因?yàn)樯壢吭O(shè)備一欄選擇了否,所以需要指定設(shè)備imei;將待升級設(shè)備的imei上傳即可指定。

3.5 燒錄測試FOTA升級:
然后只需要使用燒錄工具燒錄基礎(chǔ)版本(1.0.0)的binpkg,等待樣例通過url請求升級包的方式測試FOTA升級。升級成功標(biāo)志除升級接口正確返回外,還可通過升級前后不同的打印內(nèi)容來輔助判斷升級成功。
這里做測試的舊版本所打印的version=1.0.0,更新成功到新版本的打印變成了2.0.0。升級成功后再次請求同一升級包,由于不匹配會(huì)提示升級包校驗(yàn)錯(cuò)誤,不予升級。
本樣例由于當(dāng)前尚未確定CSDK版本,以此作為輔助判斷條件,用戶也可以加上自己的打印作為輔助條件予以判斷升級成功。
查看日志可使用合宙LuaTools或EPAT工具:
LuaTools下載:
https://wiki.luatos.com/pages/tools.htmlEPAT工具下載:
https://cdn.openluat-luatcommunity.openluat.com/attachment/20221031113614462_EPAT_V1.3.207.392.zip

審核編輯 :李倩
-
服務(wù)器
+關(guān)注
關(guān)注
14文章
10253瀏覽量
91496 -
模組
+關(guān)注
關(guān)注
6文章
1769瀏覽量
32260 -
ChatGPT
+關(guān)注
關(guān)注
31文章
1598瀏覽量
10269
原文標(biāo)題:ChatGPT那么神,可以幫我們遠(yuǎn)程升級模組嗎?——合宙IoT云平臺FOTA開發(fā)應(yīng)用指南
文章出處:【微信號:HelloLuatOS,微信公眾號:合宙LuatOS】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
NRF54L15DK串行恢復(fù)模式?jīng)]有了藍(lán)牙功能,應(yīng)該怎樣在藍(lán)牙模式下進(jìn)行ota
LuatOS FOTA升級全解析
LuatOS FOTA升級:新手也能秒懂的操作指南
零基礎(chǔ)入門:用libfota2實(shí)現(xiàn)第三方服務(wù)器FOTA升級服務(wù)
FOTA升級全流程教學(xué):基于libfota2與第三方服務(wù)器搭建
AU-48全面升級語音處理模組
請問RT-FOTA固件校驗(yàn)通過但是解壓縮失敗是什么原因?
D2C強(qiáng)勢加持!移遠(yuǎn)通信多款LTE模組完成升級,提供“全域全時(shí)”連接保障
浮思特 | 紅外激光模組工作原理:科技的神奇之處
神眸引領(lǐng)AI智能視覺新范式,讓科技更有溫度
炸裂升級!ZX7981PM 5G CPE主板全面兼容PCIe熱門模組
神眸開啟AI智能攝像機(jī)無線時(shí)代:全定制芯片方法學(xué)+六神守護(hù)價(jià)值體系,堅(jiān)守初心普惠千萬家庭
FOTA遠(yuǎn)程升級的10個(gè)關(guān)鍵點(diǎn)!技術(shù)小白必須收藏
能和Ai-M61模組對話了?手搓一個(gè)ChatGPT 語音助手
ChatGPT那么神,可以幫我們FOTA升級模組嗎?
評論