日本熟妇hd丰满老熟妇,中文字幕一区二区三区在线不卡 ,亚洲成片在线观看,免费女同在线一区二区

使用OTA控制臺(tái)升級(jí)固件

更新時(shí)間:

使用生活物聯(lián)網(wǎng)平臺(tái)設(shè)備端SDK的內(nèi)置OTA功能,用戶只需要適配所使用的模組和新品,即可使用生活物聯(lián)網(wǎng)平臺(tái)的云端OTA服務(wù)。本文主要介紹自有品牌項(xiàng)目下使用OTA控制臺(tái)升級(jí)固件的流程。

前提條件

設(shè)備已燒錄了一個(gè)固件版本,且已成功連接到生活物聯(lián)網(wǎng)平臺(tái)。

背景信息

總體OTA升級(jí)流程如下:

  1. 設(shè)備端開(kāi)發(fā)升級(jí)所需的固件

    編譯設(shè)備端新固件,固件中需要內(nèi)置版本號(hào)信息,設(shè)備完成固件燒寫(xiě)并重啟后,會(huì)上報(bào)該新版本號(hào)到OTA服務(wù)端。

  2. 控制臺(tái)(云端)執(zhí)行升級(jí)過(guò)程

    用戶在OTA控制臺(tái)執(zhí)行操作,包括上傳固件、驗(yàn)證固件、批量升級(jí)、管理固件等。

  3. 手機(jī)App端確認(rèn)升級(jí)和驗(yàn)證升級(jí)結(jié)果

    如果固件升級(jí)開(kāi)啟App確認(rèn)功能,則需要用戶在手機(jī)App上確認(rèn)升級(jí)任務(wù)后,控制臺(tái)才會(huì)執(zhí)行固件升級(jí)。升級(jí)完成后,在手機(jī)App上驗(yàn)證升級(jí)結(jié)果。

一、設(shè)備端開(kāi)發(fā)升級(jí)所需的固件

設(shè)備端(以Wi-Fi設(shè)備為例)主要有3個(gè)topic來(lái)與云端進(jìn)行交互,流程如下圖所示。

設(shè)備端與云端交互流程

  1. 設(shè)備端通過(guò)以下topic向云端上報(bào)當(dāng)前版本號(hào)。通常設(shè)備上電開(kāi)機(jī)后需要上報(bào)一次當(dāng)前固件版本號(hào)。

    當(dāng)設(shè)備完成OTA固件下載并燒錄,重啟后該topic上報(bào)的則為新固件的版本信息。

    數(shù)據(jù)上行

    /ota/device/inform/${productKey}/${deviceName}

    請(qǐng)求數(shù)據(jù)格式:

    {
        "id":"123",
        "params":{
            "version":"1.0.1",
            "module":"MCU"
        }
    }

    參數(shù)

    類型

    說(shuō)明

    id

    String

    消息ID號(hào)。String類型的數(shù)字,取值范圍0~4294967295,且每個(gè)消息ID在當(dāng)前設(shè)備中具有唯一性。

    version

    String

    OTA模塊版本。

    module

    String

    OTA模塊名。

    說(shuō)明

    • 上報(bào)默認(rèn)(default)模塊的版本號(hào)時(shí),可以不上報(bào)module參數(shù)。

    • 設(shè)備的默認(rèn)(default)模塊的版本號(hào)代表整個(gè)設(shè)備的固件版本號(hào)。

  2. 當(dāng)有新版本固件時(shí),云端通過(guò)以下topic向設(shè)備端推送新固件的版本信息。

    數(shù)據(jù)下行

    /ota/device/upgrade/${productKey}/${deviceName}
  3. 設(shè)備端通過(guò)以下topic向云端上報(bào)OTA升級(jí)進(jìn)度。該進(jìn)度可以在控制臺(tái)以及手機(jī)App中查看。

    數(shù)據(jù)上行

    /ota/device/progress/${productKey}/${deviceName}
    說(shuō)明

    建議設(shè)置設(shè)備端上報(bào)進(jìn)度頻率為3秒內(nèi)最多一次。若設(shè)備上報(bào)進(jìn)度頻繁,在物聯(lián)網(wǎng)平臺(tái)控制臺(tái)的OTA升級(jí)包詳情的批次詳情中,可能無(wú)法查看到上報(bào)的全部進(jìn)度。

    {
        "id": "123",
        "params": {
            "step": "-1",
            "desc": "OTA升級(jí)失敗,請(qǐng)求不到升級(jí)包信息。",
            "module": "MCU"
        }
    }

    參數(shù)

    類型

    說(shuō)明

    id

    String

    消息ID號(hào)。String類型的數(shù)字,取值范圍0~4294967295,且每個(gè)消息ID在當(dāng)前設(shè)備中具有唯一性。

    step

    String

    OTA升級(jí)進(jìn)度。

    取值范圍:

    • 1~100的整數(shù):升級(jí)進(jìn)度百分比。

    • -1:升級(jí)失敗。

    • -2:下載失敗。

    • -3:校驗(yàn)失敗。

    • -4:燒寫(xiě)失敗。

    desc

    String

    當(dāng)前步驟的描述信息,長(zhǎng)度不超過(guò)128個(gè)字符。如果發(fā)生異常,此字段可承載錯(cuò)誤信息。

    module

    String

    升級(jí)包所屬的模塊名。模塊的更多信息,請(qǐng)參見(jiàn)添加升級(jí)包

    說(shuō)明 上報(bào)默認(rèn)(default)模塊的OTA升級(jí)進(jìn)度時(shí),可以不上報(bào)module參數(shù)。

  1. 根據(jù)設(shè)備端開(kāi)發(fā)文檔和設(shè)備端與云端交互的流程圖,開(kāi)發(fā)待升級(jí)的設(shè)備固件。詳細(xì)的OTA開(kāi)發(fā)編程請(qǐng)參見(jiàn)設(shè)備OTA編程

  2. 編譯生成新的設(shè)備固件,并確認(rèn)設(shè)備端新固件的版本號(hào)。

    在SDK根目錄,執(zhí)行編譯命令。

    aos make clean
    aos make living_platform@<模組名>

    以下為編譯過(guò)程中的日志片段,其中app_version_new對(duì)應(yīng)的即為新固件的版本號(hào)。

    Check if required tools for esp8266 exist
    Making config file for first time
    processing components: living_platform esp8266 
    platform/mcu/esp8266 vcall init auto_component
    server region: MAINLAND
    server env: ONLINE
    APP: living_platform 
    Board: esp8266host 
    user: liuese
    branch: rel_1.1.0
    hash: 0f1596cffffd9a4646a3cce4d3c7ba9b4f14649d
    app_version_new:app-1.0.0-20191107142256  //新固件的版本號(hào)
    firmware type: RELEASE
    FEATURE_SUPPORT_ITLS != y, so using normal TLS
    app_version:app-1.0.0-20191107142256
    kernel_version:AOS-R-1.3.4
    server region: MAINLAND
    server env: ONLINE
    APP: living_platform Board: esp8266

二、在控制臺(tái)執(zhí)行升級(jí)過(guò)程

  1. 登錄生活物聯(lián)網(wǎng)平臺(tái)控制臺(tái)

  2. 上傳固件。

    1. 進(jìn)入運(yùn)營(yíng)中心 > 運(yùn)營(yíng)工具 > 固件升級(jí)頁(yè)面。

    2. 固件列表頁(yè)簽中的產(chǎn)品下拉框選擇產(chǎn)品名稱,并單擊添加固件

      固件升級(jí)

    3. 輸入固件相關(guān)參數(shù),并單擊確定完成。

      通常使用容易識(shí)別的固件名稱和版本號(hào)來(lái)標(biāo)識(shí)固件,建議將固件版本號(hào)與設(shè)備固件自身版本號(hào)保持一致。詳細(xì)參數(shù)解釋請(qǐng)參見(jiàn)固件升級(jí)

      添加固件

  3. 上傳固件后,使用測(cè)試設(shè)備驗(yàn)證固件。

    固件驗(yàn)證的目的是為了保證固件質(zhì)量,并且,通常建議選擇3~5個(gè)測(cè)試設(shè)備來(lái)執(zhí)行固件驗(yàn)證。

    • 確保新固件版本正確,固件運(yùn)行正常。

    • 確保OTA升級(jí)服務(wù)可以正常執(zhí)行,設(shè)備可以正常完成升級(jí)任務(wù)。

    1. 返回運(yùn)營(yíng)中心 > 運(yùn)營(yíng)工具 > 固件升級(jí)頁(yè)面。

    2. 單擊固件列表中操作列中的驗(yàn)證固件

    3. 配置驗(yàn)證固件的相關(guān)參數(shù)。

      • 待升級(jí)版本號(hào):現(xiàn)有設(shè)備版本號(hào),即原版本號(hào)。

      • 待驗(yàn)證設(shè)備:選擇待驗(yàn)證設(shè)備,支持單選、多選、全選。

      • APP確認(rèn)升級(jí):選擇是否支持App升級(jí)確認(rèn)功能,如果通過(guò)云智能App連接設(shè)備,可以使用云智能App確認(rèn)升級(jí)該固件。

      • 設(shè)備升級(jí)超時(shí)時(shí)間:選擇超時(shí)時(shí)間,達(dá)到超時(shí)時(shí)間后仍未完成固件驗(yàn)證,則驗(yàn)證固件失敗。

      驗(yàn)證固件

    4. 單擊確定,開(kāi)始執(zhí)行固件驗(yàn)證。

      如果APP確認(rèn)升級(jí)配置為,需登錄手機(jī)云智能App,進(jìn)入我的 > 設(shè)置 > 固件升級(jí)中,單擊確認(rèn)升級(jí)后,才開(kāi)始執(zhí)行固件驗(yàn)證。

    5. 選擇新的測(cè)試設(shè)備,執(zhí)行以上步驟。

  4. 批量升級(jí)固件。

    固件驗(yàn)證通過(guò)后,進(jìn)入批量升級(jí)階段,可以支持全量、分批向設(shè)備推送升級(jí)。

    1. 返回運(yùn)營(yíng)中心 > 運(yùn)營(yíng)工具 > 固件升級(jí)頁(yè)面。

    2. 單擊固件列表中操作列中的批量升級(jí)

    3. 配置批量升級(jí)的相關(guān)參數(shù),并單擊確定完成。

      根據(jù)您自身需要選擇合理參數(shù),控制OTA升級(jí)節(jié)奏,提高升級(jí)成功率。批量升級(jí)的參數(shù)介紹請(qǐng)參見(jiàn)固件升級(jí)批量升級(jí)

  5. 管理固件升級(jí)。

    控制臺(tái)支持對(duì)固件的管理,包括了新增、產(chǎn)品維度固件枚舉、查看指定固件詳情、刪除等操作。在固件詳情界面中,可以查看當(dāng)前固件詳細(xì)信息,還包括了目標(biāo)設(shè)備總數(shù)、升級(jí)成功數(shù)、失敗數(shù)等信息,有利于廠商掌握該版本升級(jí)的結(jié)果信息。下面介紹查看固件升級(jí)結(jié)果的操作為例,更多操作可參見(jiàn)固件升級(jí)

    1. 進(jìn)入運(yùn)營(yíng)中心 > 設(shè)備運(yùn)維 > 固件升級(jí)頁(yè)面。

    2. 單擊固件列表中操作列中的查看

    3. 批次管理頁(yè)簽下的設(shè)備列表頁(yè)簽中,查看升級(jí)狀態(tài)。

      升級(jí)詳情

三、多模塊升級(jí)

  1. 應(yīng)用場(chǎng)景

    部分飛燕客戶需要對(duì)WiFi模組和MCU分別進(jìn)行升級(jí),所以需要設(shè)置不同的模塊來(lái)區(qū)分。因?yàn)闀?huì)存在多個(gè)模塊同時(shí)需要升級(jí)的情況,所以需要在控制臺(tái)同時(shí)創(chuàng)建升級(jí)任務(wù)來(lái)依次進(jìn)行升級(jí),但一個(gè)設(shè)備在一個(gè)時(shí)間點(diǎn)只能存在一個(gè)升級(jí)任務(wù),所以可能出現(xiàn)報(bào)錯(cuò),可參考下面步驟實(shí)現(xiàn)。

    比如設(shè)備當(dāng)前固件版本:WiFi:1.0.0,MCU:2.0.0

    要升級(jí)的目標(biāo)固件版本:WiFi:1.1.0,MCU:2.2.0

    (模塊之間的版本互不影響)

  2. 新增固件

    image.png

    分別給模塊創(chuàng)建動(dòng)態(tài)升級(jí)任務(wù)

    先創(chuàng)建一個(gè)WiFi 模塊從1.0.0升級(jí)到1.1.0的動(dòng)態(tài)升級(jí)任務(wù)

    再創(chuàng)建一個(gè)MCU模塊從2.0.0升級(jí)到2.2.0的動(dòng)態(tài)升級(jí)任務(wù)

    image.png

    21934003-086A-4B6B-B7D9-846977C14108.png

    由于一個(gè)設(shè)備同一時(shí)間只能在一個(gè)正在進(jìn)行的升級(jí)批次中(設(shè)備處于待推送、已推送或升級(jí)中狀態(tài)),所以第二個(gè)創(chuàng)建的MCU的批次會(huì)直接顯示失敗,但是沒(méi)關(guān)系。先確認(rèn)WiFi模塊的升級(jí),在WiFi模塊升級(jí)成功后,設(shè)備再次上報(bào)MCU:2.0.0版本,MCU批次下的該設(shè)備就會(huì)變成待推送狀態(tài),可以繼續(xù)升級(jí)MCU模塊。

四、手機(jī)App確認(rèn)升級(jí)和驗(yàn)證升級(jí)結(jié)果

App端主要有4個(gè)topic來(lái)與云端進(jìn)行交互,流程如下圖所示。

20240606135006.jpg

  1. 查詢待升級(jí)固件

    App端通過(guò)以下topic向云端查詢用戶綁定設(shè)備的待升級(jí)信息,根據(jù)返回信息展示待升級(jí)設(shè)備名稱列表。在控制臺(tái)添加批量升級(jí)任務(wù)后,云端會(huì)將相應(yīng)待確認(rèn)升級(jí)固件列表信息會(huì)返回給用戶(App端)。

    /living/ota/firmware/file/get
  2. 確認(rèn)設(shè)備升級(jí)

    當(dāng)APP確認(rèn)升級(jí)配置為時(shí),云端需要收到App端通過(guò)該topic上報(bào)的消息后,才能開(kāi)始執(zhí)行升級(jí)任務(wù),并將該執(zhí)行任務(wù)推送到設(shè)備端。

    /living/ota/confirm
  3. 獲取正在升級(jí)的設(shè)備列表(公版App中目前沒(méi)有使用該topic)

    App端選擇周期性或者下拉刷新等UI交互方式,通過(guò)以下topic向云端查詢當(dāng)前正在升級(jí)的設(shè)備信息。云端返回升級(jí)的設(shè)備列表信息等。

    /living/ota/devices/list
  4. 獲取指定固件的升級(jí)信息

    1. 長(zhǎng)連接實(shí)時(shí)監(jiān)聽(tīng),實(shí)時(shí)通知方式,不需要輪詢方便使用;

    2. API接口查詢

      需要調(diào)用接口輪詢查詢,詳情參見(jiàn):獲取用戶名下設(shè)備的固件升級(jí)進(jìn)度

      /living/ota/progress/list 
  5. 取消固件升級(jí)

    取消某一個(gè)設(shè)備的固件升級(jí)流程,詳情參見(jiàn):取消固件升級(jí)

    /living/ota/cancel
說(shuō)明

上報(bào)固件升級(jí)進(jìn)度上報(bào)固件版本信息 兩個(gè)API不建議使用,設(shè)備端會(huì)進(jìn)行固件進(jìn)度上報(bào)的,不需要APP上報(bào)的。

下面以生活物聯(lián)網(wǎng)平臺(tái)云智能App為例,介紹App端的操作。

  1. 登錄云智能App。

  2. 選擇我的 > 設(shè)置 > 固件升級(jí)

  3. 查看固件升級(jí),展示待升級(jí)信息、發(fā)起固件升級(jí)、展示升級(jí)結(jié)果等信息。