0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

ChatGPT那么神,可以幫我們遠(yuǎn)程升級模組嗎?——合宙IoT云平臺FOTA開發(fā)應(yīng)用指南

合宙LuatOS ? 2023-02-15 10:21 ? 次閱讀

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云平臺進(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í)的代碼是否和生成差分包所用的舊版本代碼一致。如不一致,日志會出現(xiàn):image_verify error,校驗(yàn)失敗而不能升級。

差分包地址和域名也是代碼的一部分,會參與差分包的生成,也需確保在新舊版本中保持一致。

一般情況下差分包也要區(qū)分不同版本,就會導(dǎo)致地址有可能會經(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)

915a8f48-ab56-11ed-ad0d-dac502259ad0.png

2

差分包生成


手動(dòng)生成差分包的過程,使用移芯芯片平臺提供的FotaToolKit差分工具。

打開FotaToolkit差分工具,選擇Generator標(biāo)簽頁,五步即可實(shí)現(xiàn)差分文件制作。

918539b4-ab56-11ed-ad0d-dac502259ad0.gif

差分文件制作步驟


919fbfbe-ab56-11ed-ad0d-dac502259ad0.png

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è)版本號不能相同;此外,該版本號僅僅是為了追蹤和記錄新舊鏡像文件的信息,不會對實(shí)際鏡像文件版本號進(jìn)行匹配和校驗(yàn)。

Step4. 選擇FLASH配置信息

根據(jù)步驟02中的新舊鏡像文件的屬性(相關(guān)鏡像屬性已在JSON文件中配置),選擇相匹配的FLASH配置信息。

Step5. 執(zhí)行制作差分文件

以上步驟完成后,直接執(zhí)行“START”制作差分文件即可。顯示窗口會實(shí)時(shí)輸出制作過程的所有LOG信息,制作完成后會彈窗提示“成功”還是“失敗”,具體的制作結(jié)果以及目標(biāo)文件的詳細(xì)信息也會輸出到顯示窗口中。

特別說明:

后綴名(.par)為移芯FOTA差分方案的默認(rèn)文件后綴,設(shè)置文件名稱時(shí)Fota工具會自動(dòng)追加。

生成.par文件后需要手動(dòng)將后綴改為.bin。

3

上傳差分包


差分包生成成功后需要上傳到服務(wù)器中,打開合宙iot.openluat.com并登錄:

3.1 點(diǎn)擊固件升級,選擇項(xiàng)目,然后創(chuàng)建固件:

91c9ce62-ab56-11ed-ad0d-dac502259ad0.png

3.2 進(jìn)入創(chuàng)建固件選項(xiàng)后,選擇差分工具生成的差分文件。

原始文件格式為.par,需要手動(dòng)改為.bin:

91f39a94-ab56-11ed-ad0d-dac502259ad0.png

3.3 填寫固件名及版本號:

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

921cb442-ab56-11ed-ad0d-dac502259ad0.png

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

92420c60-ab56-11ed-ad0d-dac502259ad0.png

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

925fdc0e-ab56-11ed-ad0d-dac502259ad0.png

3.5 燒錄測試FOTA升級:

然后只需要使用燒錄工具燒錄基礎(chǔ)版本(1.0.0)的binpkg,等待樣例通過url請求升級包的方式測試FOTA升級。升級成功標(biāo)志除升級接口正確返回外,還可通過升級前后不同的打印內(nèi)容來輔助判斷升級成功。

這里做測試的舊版本所打印的version=1.0.0,更新成功到新版本的打印變成了2.0.0。升級成功后再次請求同一升級包,由于不匹配會提示升級包校驗(yàn)錯(cuò)誤,不予升級。

本樣例由于當(dāng)前尚未確定CSDK版本,以此作為輔助判斷條件,用戶也可以加上自己的打印作為輔助條件予以判斷升級成功。

查看日志可使用合宙LuaTools或EPAT工具

9285a808-ab56-11ed-ad0d-dac502259ad0.png

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報(bào)投訴
  • 模組
    +關(guān)注

    關(guān)注

    6

    文章

    1400

    瀏覽量

    30178
  • IOT
    IOT
    +關(guān)注

    關(guān)注

    186

    文章

    4142

    瀏覽量

    195709
  • 合宙通信
    +關(guān)注

    關(guān)注

    0

    文章

    146

    瀏覽量

    1704
收藏 人收藏

    評論

    相關(guān)推薦

    AT開發(fā)FOTA遠(yuǎn)程升級:Air780EP低功耗4G模組

    ?針對客戶朋友的應(yīng)用反饋,特編輯本篇文章:基于Air780EP模組AT開發(fā)FOTA遠(yuǎn)程升級指南
    的頭像 發(fā)表于 10-25 17:31 ?154次閱讀
    AT<b class='flag-5'>開發(fā)</b><b class='flag-5'>FOTA</b><b class='flag-5'>遠(yuǎn)程</b><b class='flag-5'>升級</b>:Air780EP低功耗4G<b class='flag-5'>模組</b>

    告別繁瑣的平臺開發(fā)!IoT_CLOUD之百度

    文檔對接不同的協(xié)議,看著都頭大?。?! 為解決繁瑣的平臺開發(fā)困擾, IoT_CLOUD應(yīng)運(yùn)而
    的頭像 發(fā)表于 10-21 07:05 ?464次閱讀
    告別繁瑣的<b class='flag-5'>云</b><b class='flag-5'>平臺</b><b class='flag-5'>開發(fā)</b>!<b class='flag-5'>IoT</b>_CLOUD之百度<b class='flag-5'>云</b>

    低功耗4G模組Air780E快速入門:固件的遠(yuǎn)程升級

    ?今天我們學(xué)習(xí)Air780E快速入門之固件的遠(yuǎn)程升級,小伙伴們,學(xué)起來吧! 一、生成差分包 遠(yuǎn)程
    的頭像 發(fā)表于 10-17 07:14 ?185次閱讀
    低功耗4G<b class='flag-5'>模組</b>Air780E快速入門:固件的<b class='flag-5'>遠(yuǎn)程</b><b class='flag-5'>升級</b>

    干貨分享:Air780E怎么連接華為?

    文檔對接不同的協(xié)議,看著都頭大!??! 為解決繁瑣的平臺開發(fā)困擾, IoT_CLOUD應(yīng)運(yùn)而
    的頭像 發(fā)表于 10-15 07:30 ?193次閱讀
    干貨分享:Air780E怎么連接華為<b class='flag-5'>云</b>?

    低功耗4G模組Air780E的固件的遠(yuǎn)程升級操作方法

    ?今天我們學(xué)習(xí)Air780E快速入門之固件的遠(yuǎn)程升級,小伙伴們,學(xué)起來吧! 一、 生成差分包 遠(yuǎn)程
    的頭像 發(fā)表于 10-12 07:04 ?178次閱讀
    低功耗4G<b class='flag-5'>模組</b>Air780E的固件的<b class='flag-5'>遠(yuǎn)程</b><b class='flag-5'>升級</b>操作方法

    4G模組如何輕松上?IoT_CLOUD之中移OneNET

    ?** 有新朋友問:可以多講些平臺的操作嗎?** 當(dāng)然可以!文末留言你想要了解的平臺,優(yōu)先安
    的頭像 發(fā)表于 10-07 20:41 ?233次閱讀
    4G<b class='flag-5'>模組</b>如何輕松上<b class='flag-5'>云</b>?<b class='flag-5'>合</b><b class='flag-5'>宙</b><b class='flag-5'>IoT</b>_CLOUD之中移OneNET

    Air780EP低功耗4G模組—AT開發(fā)FOTA遠(yuǎn)程升級

    特別推出 基于Air780EP模組AT開發(fā)FOTA遠(yuǎn)程升級指南 ——AT版本的
    的頭像 發(fā)表于 10-07 20:36 ?195次閱讀
    Air780EP低功耗4G<b class='flag-5'>模組</b>—AT<b class='flag-5'>開發(fā)</b><b class='flag-5'>FOTA</b><b class='flag-5'>遠(yuǎn)程</b><b class='flag-5'>升級</b>

    Air201資產(chǎn)定位模組LuatOS基礎(chǔ)課程:FOTA遠(yuǎn)程升級,一鍵搞定!

    的實(shí)用示例**——FOTA遠(yuǎn)程升級** ** FOTA遠(yuǎn)程升級** [ ]
    的頭像 發(fā)表于 09-18 18:07 ?292次閱讀
    <b class='flag-5'>合</b><b class='flag-5'>宙</b>Air201資產(chǎn)定位<b class='flag-5'>模組</b>LuatOS基礎(chǔ)課程:<b class='flag-5'>FOTA</b><b class='flag-5'>遠(yuǎn)程</b><b class='flag-5'>升級</b>,一鍵搞定!

    Air201資產(chǎn)定位模組LuatOS課程(六):PWRKEY控制解決關(guān)機(jī)難問題

    ? 經(jīng)過前面5期的課程:從hello world初體驗(yàn),到點(diǎn)燈、遠(yuǎn)程控制,再到定位,擴(kuò)展功能,是不是有點(diǎn)上癮了?Air201,如同我們一路升級
    的頭像 發(fā)表于 09-18 07:06 ?272次閱讀
    <b class='flag-5'>合</b><b class='flag-5'>宙</b>Air201資產(chǎn)定位<b class='flag-5'>模組</b>LuatOS課程(六):PWRKEY控制解決關(guān)機(jī)難問題

    Air201資產(chǎn)定位模組LuatOS課程:遠(yuǎn)程控制

    很多小伙伴已經(jīng)學(xué)習(xí)了前兩期教程hello world、點(diǎn)燈,對Air201這款低功耗資產(chǎn)定位模組的LuatOS開發(fā)已有一定了解,大家的實(shí)操反饋是:真的很簡單!
    的頭像 發(fā)表于 09-14 16:28 ?979次閱讀
    <b class='flag-5'>合</b><b class='flag-5'>宙</b>Air201資產(chǎn)定位<b class='flag-5'>模組</b>LuatOS課程:<b class='flag-5'>遠(yuǎn)程</b>控制

    遠(yuǎn)程控制,就是這么簡單—Air201資產(chǎn)定位模組LuatOS快速入門03

    通過前兩期教程hello world、點(diǎn)燈,大家對Air201這款低功耗資產(chǎn)定位模組的LuatOS開發(fā)已有一定了解,實(shí)操反饋是:真的很簡單!
    的頭像 發(fā)表于 09-12 11:54 ?195次閱讀
    <b class='flag-5'>遠(yuǎn)程</b>控制,就是這么簡單—<b class='flag-5'>合</b><b class='flag-5'>宙</b>Air201資產(chǎn)定位<b class='flag-5'>模組</b>LuatOS快速入門03

    低功耗4G模組Air700EAQ——開發(fā)板使用說明

    低功耗4G模組Air700EAQ——開發(fā)板使用說明
    的頭像 發(fā)表于 08-30 17:14 ?960次閱讀
    <b class='flag-5'>合</b><b class='flag-5'>宙</b>低功耗4G<b class='flag-5'>模組</b>Air700EAQ——<b class='flag-5'>開發(fā)</b>板使用說明

    Air780EP模塊Lua開發(fā)阿里應(yīng)用指南

    Air780EP模塊Lua開發(fā)阿里超詳細(xì)教學(xué)!看完包學(xué)會!
    的頭像 發(fā)表于 08-08 09:00 ?819次閱讀
    <b class='flag-5'>合</b><b class='flag-5'>宙</b>Air780EP模塊Lua<b class='flag-5'>開發(fā)</b>阿里<b class='flag-5'>云</b>應(yīng)用<b class='flag-5'>指南</b>

    Air780EP模塊AT開發(fā)FOTA遠(yuǎn)程升級指南

    Air780EP模塊AT開發(fā)FOTA遠(yuǎn)程升級指南簡介AT版本的遠(yuǎn)程
    的頭像 發(fā)表于 07-19 15:16 ?604次閱讀
    Air780EP模塊AT<b class='flag-5'>開發(fā)</b><b class='flag-5'>FOTA</b><b class='flag-5'>遠(yuǎn)程</b><b class='flag-5'>升級</b><b class='flag-5'>指南</b>

    適用于618/7xx芯片平臺 AT開發(fā) 遠(yuǎn)程FOTA升級指南教程

    簡介AT版本的遠(yuǎn)程升級主要是對AT固件版本進(jìn)行升級,實(shí)際方式為通過官方IOT
    的頭像 發(fā)表于 07-18 11:33 ?394次閱讀
    適用于618/7xx芯片<b class='flag-5'>平臺</b> AT<b class='flag-5'>開發(fā)</b> <b class='flag-5'>遠(yuǎn)程</b><b class='flag-5'>FOTA</b><b class='flag-5'>升級</b><b class='flag-5'>指南</b>教程