功耗低、性能好、聯(lián)網(wǎng)快——基于移芯EC618平臺(tái)的合宙低功耗4G-Cat.1系列模組,支持標(biāo)準(zhǔn)AT/LuatOS/C-SDK多樣化開(kāi)發(fā)方式,可滿足用戶不同開(kāi)發(fā)需求。其中C-SDK倉(cāng)庫(kù)提供給客戶自己編譯,版本自由度較高,F(xiàn)OTA遠(yuǎn)程升級(jí)應(yīng)用只需做好版本管理——不僅支持使用自己的服務(wù)器,還支持使用合宙IoT云平臺(tái)來(lái)升級(jí)模組,為不方便搭建服務(wù)器的客戶提供免費(fèi)便捷的服務(wù)。
合宙IoT云平臺(tái):https://iot.openluat.com/本文分享基于合宙IoT服務(wù)器的CSDK FULL-OTA全量升級(jí)示例,文末【閱讀原文】可獲取差分升級(jí)、模組文檔等最新開(kāi)發(fā)資料。
1
FULL-OTA測(cè)試準(zhǔn)備
FULL-OTA遠(yuǎn)程升級(jí)是對(duì)整包進(jìn)行升級(jí),在下載到的CSDK倉(cāng)庫(kù)內(nèi)找到 “/project/example_full_ota” ,本教程將以此example為例。
注意:CSDK的原始版本必須為V0002及以上。
GITEE倉(cāng)庫(kù)鏈接:
https://gitee.com/openLuat/luatos-soc-2022
1.1 生成1.0.0版本的binpkg文件:
首先需要先將代碼中的 "PROJECT_KEY",更改成自己在合宙IoT云平臺(tái)上的PROJECT_KEY。
#define PROJECT_VERSION "1.0.1" //使用合宙iot升級(jí)的話此字段必須存在,并且強(qiáng)制固定格式為x.x.x, x可以為任意的數(shù)字
#define PROJECT_KEY"47pzTpR9bxS04TiMJQ72RVg9tbtmQ8vw"//修改為自己iot上面的PRODUCT_KEY,這里是一個(gè)錯(cuò)誤的,使用合宙iot升級(jí)的話此字段必須存在
#define PROJECT_NAME "example_full_ota" //使用合宙iot升級(jí)的話此字段必須存在,可以任意修改,但和升級(jí)包的必須一致
打開(kāi)用合宙IoT服務(wù)器升級(jí)的代碼部分,默認(rèn)沒(méi)版本號(hào)打印,這里在下面一行加了打印,如下所示:
#if 1
constcharremote_domain[ ]= "iot.openluat.com";
constcharota_file_name[200];
charimei[16] = {0};
luat_mobile_get_imei(0, imei, 15);
snprintf_(ota_file_name, 200, "api/site/firmware_upgrade?project_key=%s&imei=%s&device_key=&firmware_name=%s_LuatOS_CSDK_EC618&version=%s", PROJECT_KEY, imei, PROJECT_NAME, PROJECT_VERSION);
#endif
LUAT_DEBUG_PRINT("file name %s", ota_file_name);
然后保存編譯,生成1.0.0版本的binpkg文件(可以手動(dòng)修改文件名作為區(qū)分)。
1.2 生成1.0.1版本的binpkg文件:
對(duì)代碼進(jìn)行修改,修改完成后build生成1.0.1 binpkg,然后保存編譯,生成1.0.1版本的binpkg文件(可以手動(dòng)修改文件名作為區(qū)分)。
2
生成升級(jí)包
本節(jié)使用合宙LuaTools生成升級(jí)包,注意:LuaTools需要2.2.0及以上版本。
2.1 制作升級(jí)包:合宙LuaTools下載:
https://wiki.luatos.com/pages/tools.html
運(yùn)行LuaTools,進(jìn)入選項(xiàng)及工具->SOC差分/整包升級(jí)包制作工具。
在工具窗口的新版固件欄選擇要升級(jí)的binpkg,然后設(shè)置輸出路徑并填入用戶標(biāo)識(shí)(即:固件新版本號(hào)),點(diǎn)擊開(kāi)始執(zhí)行,即可生成對(duì)應(yīng)的升級(jí)包。
2.2 更改后綴名:
在本地對(duì)應(yīng)路徑中找到生成的.sota升級(jí)包文件,將其后綴名更為.bin備用。
3
上傳升級(jí)包
升級(jí)包生成成功后需要上傳到服務(wù)器中,打開(kāi)合宙IoT云平臺(tái)iot.openluat.com并登錄:
3.1點(diǎn)擊我的項(xiàng)目-固件列表,然后創(chuàng)建固件:
3.2 創(chuàng)建固件相關(guān)設(shè)置:
在創(chuàng)建固件窗口,選擇上文中后綴改為.bin的升級(jí)包,點(diǎn)擊上傳;系統(tǒng)會(huì)自動(dòng)生成對(duì)應(yīng)固件版本名稱和版本號(hào)。
3.3 點(diǎn)擊確定,固件上傳成功:
3.4 添加指定設(shè)備imei:
因?yàn)樯?jí)全部設(shè)備一欄選擇了【否】,所以接下來(lái)需要指定設(shè)備,將待升級(jí)設(shè)備的imei添加即可。
3.5 燒錄測(cè)試升級(jí):
然后只需要使用燒錄工具燒錄基礎(chǔ)版本(1.0.0)的binpkg:
等待樣例通過(guò)URL請(qǐng)求升級(jí)包的方式測(cè)試FOTA升級(jí),升級(jí)成功標(biāo)志除升級(jí)接口正確返回外,還可通過(guò)升級(jí)前后不同的打印內(nèi)容來(lái)輔助判斷是否升級(jí)成功。
如下顯示說(shuō)明升級(jí)成功:
這里做測(cè)試的舊版本所打印的version=1.0.0,更新成功到新版本的打印變成了1.0.1。如在升級(jí)成功后再次請(qǐng)求同一升級(jí)包,由于不匹配會(huì)提示升級(jí)包校驗(yàn)錯(cuò)誤,不予升級(jí)。
后臺(tái)升級(jí)日志的查詢結(jié)果如下:
4
注意事項(xiàng)及技術(shù)支持
全量升級(jí)操作相對(duì)簡(jiǎn)單,但對(duì)文件大小及版本等有一定要求。使用過(guò)程中如有疑問(wèn),可通過(guò)合宙技術(shù)服務(wù)論壇獲得專業(yè)解答:
合宙技術(shù)服務(wù)論壇
chat.openluat.com
FULL-OTA注意事項(xiàng)
文件大小:
生成的ap.bin大小不能超過(guò)1984KB,生成的升級(jí)包不能超過(guò)1472KB。
設(shè)置要點(diǎn):
LuaTools需要2.2.0及以上版本;進(jìn)入選項(xiàng)及工具—SOC差分/整包升級(jí)包制作工具,新版固件選擇要升級(jí)的binpkg,用戶標(biāo)識(shí)可以填版本號(hào),也可以不填,看自己的代碼對(duì)升級(jí)版本是否有控制。如果用合宙IOT升級(jí)服務(wù),則必須填寫(xiě)版本號(hào)!
選好輸出路徑,點(diǎn)生成,在輸出目錄下生成相應(yīng)的xxx.sota文件為升級(jí)包,更新后綴為.bin上傳至服務(wù)器即可升級(jí)。
流量消耗:
升級(jí)一次流量1MB~1.5MB之間,注意流量消耗。
版本要求:
CSDK的原始版本必須是V0002及以上,V0001升級(jí)到V0002也不行,因?yàn)樯婕暗搅薭ootloader修改。
最新資料:
通過(guò)air780e.cn或文末【閱讀原文】鏈接,獲取模組最新開(kāi)發(fā)資料。
感謝新老朋友們的關(guān)注與支持
合宙與你共同成長(zhǎng)
更多超值新品籌備中
敬請(qǐng)期待
?
![46fb1bca-1c7b-11ee-962d-dac502259ad0.png](https://file1.elecfans.com//web2/M00/9D/88/wKgZomToBjWAGPA3AADGKVK_-6Q539.png)
QQ掃碼入群:645170956
- 合宙技術(shù)交流微信群-
加合宙客服報(bào)企業(yè)名稱入群
-
合宙通信
+關(guān)注
關(guān)注
0文章
147瀏覽量
1759
原文標(biāo)題:CSDK開(kāi)發(fā)FOTA難?沒(méi)有自己的服務(wù)器?——合宙云平臺(tái)FULL-OTA解煩憂
文章出處:【微信號(hào):HelloLuatOS,微信公眾號(hào):合宙LuatOS】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
華為云 Flexus 云服務(wù)器 X 實(shí)例的使用教程
![華為<b class='flag-5'>云</b> Flexus <b class='flag-5'>云</b><b class='flag-5'>服務(wù)器</b> X 實(shí)例的使用教程](https://file1.elecfans.com//web3/M00/04/3A/wKgZO2dxDqGAERS5AAEJcgNsafo172.png)
基于華為云 Flexus 云服務(wù)器 X 實(shí)例部搭建 Halo 博客平臺(tái)
![基于華為<b class='flag-5'>云</b> Flexus <b class='flag-5'>云</b><b class='flag-5'>服務(wù)器</b> X 實(shí)例部搭建 Halo 博客<b class='flag-5'>平臺(tái)</b>](https://file1.elecfans.com//web3/M00/03/D4/wKgZO2dsEiuAKz3YAACZ1hQEldg800.png)
企業(yè)云服務(wù)器平臺(tái)設(shè)計(jì)與搭建
告別繁瑣的云平臺(tái)開(kāi)發(fā)!IoT_CLOUD之 百度云
![告別繁瑣的<b class='flag-5'>云</b><b class='flag-5'>平臺(tái)</b><b class='flag-5'>開(kāi)發(fā)</b>!IoT_CLOUD之 百度<b class='flag-5'>云</b>](https://file1.elecfans.com/web2/M00/09/D3/wKgZomcTtIaADqpqAABdmf48bLU970.png)
告別繁瑣的云平臺(tái)開(kāi)發(fā)!IoT_CLOUD之百度云
![告別繁瑣的<b class='flag-5'>云</b><b class='flag-5'>平臺(tái)</b><b class='flag-5'>開(kāi)發(fā)</b>!IoT_CLOUD之百度<b class='flag-5'>云</b>](https://file1.elecfans.com/web2/M00/09/D3/wKgZomcTtIaADqpqAABdmf48bLU970.png)
Air780EP低功耗4G模組—AT開(kāi)發(fā)FOTA遠(yuǎn)程升級(jí)
![Air780EP低功耗4G模組—AT<b class='flag-5'>開(kāi)發(fā)</b><b class='flag-5'>FOTA</b>遠(yuǎn)程升級(jí)](https://file1.elecfans.com/web2/M00/08/FD/wKgZomcD1YeAHMq5AAKXIxbUmU0330.png)
什么是云服務(wù)器
合宙Air201資產(chǎn)定位模組LuatOS基礎(chǔ)課程:FOTA遠(yuǎn)程升級(jí),一鍵搞定!
![<b class='flag-5'>合</b><b class='flag-5'>宙</b>Air201資產(chǎn)定位模組LuatOS基礎(chǔ)課程:<b class='flag-5'>FOTA</b>遠(yuǎn)程升級(jí),一鍵搞定!](https://file1.elecfans.com/web2/M00/06/60/wKgZombkyvaAUaWlABZH07LDusM007.png)
如何使用合宙的DTU+業(yè)務(wù)云平臺(tái),做一個(gè)溫濕度傳感器數(shù)據(jù)采集項(xiàng)目?
![如何使用<b class='flag-5'>合</b><b class='flag-5'>宙</b>的DTU+業(yè)務(wù)<b class='flag-5'>云</b><b class='flag-5'>平臺(tái)</b>,做一個(gè)溫濕度傳感<b class='flag-5'>器</b>數(shù)據(jù)采集項(xiàng)目?](https://file1.elecfans.com/web2/M00/07/1A/wKgaombioyeAfrHQAALOJl2J7rk270.png)
云服務(wù)器搭建詳細(xì)過(guò)程
合宙Air780EP模塊Lua開(kāi)發(fā)阿里云應(yīng)用指南
![<b class='flag-5'>合</b><b class='flag-5'>宙</b>Air780EP模塊Lua<b class='flag-5'>開(kāi)發(fā)</b>阿里<b class='flag-5'>云</b>應(yīng)用指南](https://file1.elecfans.com/web2/M00/01/13/wKgZomazSZCASJCFAAAZ_8TlQNk369.png)
Air780EP模塊AT開(kāi)發(fā)FOTA遠(yuǎn)程升級(jí)指南
![Air780EP模塊AT<b class='flag-5'>開(kāi)發(fā)</b><b class='flag-5'>FOTA</b>遠(yuǎn)程升級(jí)指南](https://file1.elecfans.com/web2/M00/FD/20/wKgZomaYcZGAIdfqAABembvJ4Po238.png)
適用于618/7xx芯片平臺(tái) AT開(kāi)發(fā) 遠(yuǎn)程FOTA升級(jí)指南教程
![適用于618/7xx芯片<b class='flag-5'>平臺(tái)</b> AT<b class='flag-5'>開(kāi)發(fā)</b> 遠(yuǎn)程<b class='flag-5'>FOTA</b>升級(jí)指南教程](https://file1.elecfans.com/web2/M00/FD/20/wKgZomaYcZGAIdfqAABembvJ4Po238.png)
評(píng)論