遠(yuǎn)程配置
通過物聯(lián)網(wǎng)平臺提供的遠(yuǎn)程配置功能,開發(fā)人員可在不用重啟設(shè)備或中斷設(shè)備運(yùn)行的情況下,在線遠(yuǎn)程更新設(shè)備的系統(tǒng)參數(shù)、網(wǎng)絡(luò)參數(shù)等配置信息。
前提條件
設(shè)備端SDK已支持遠(yuǎn)程配置服務(wù)。設(shè)備主動請求配置信息和物聯(lián)網(wǎng)平臺推送配置信息的Topic及Alink數(shù)據(jù)格式說明,請參見遠(yuǎn)程配置。
設(shè)備端SDK開發(fā)方法,請參見下載設(shè)備端SDK。如果使用物聯(lián)網(wǎng)平臺提供的C Link SDK開發(fā):
C SDK 3.x或2.x:需在SDK中定義
FEATURE_SERVICE_OTA_ENABLED = y
,并通過該SDK提供的接口linkkit_cota_init,初始化遠(yuǎn)程配置(Config Over The Air,COTA)。C SDK 4.x:需在SDK定制頁面的高級能力下,選中OTA,使設(shè)備端支持遠(yuǎn)程配置服務(wù),請參見操作步驟。
背景信息
通常情況下,開發(fā)人員可通過推送升級包到設(shè)備端更新設(shè)備的配置信息(系統(tǒng)參數(shù)、網(wǎng)絡(luò)參數(shù)、本地策略等)。此方法將加大設(shè)備固件版本的維護(hù)工作,且需要設(shè)備中斷運(yùn)行,才能完成更新。
為解決上述問題,物聯(lián)網(wǎng)平臺提供了遠(yuǎn)程配置更新功能,無需設(shè)備重啟或中斷運(yùn)行,即可在線完成配置信息的更新。
遠(yuǎn)程配置功能是從產(chǎn)品維度修改設(shè)備配置,即從物聯(lián)網(wǎng)平臺上傳的配置文件對所有設(shè)備生效,不可指定對單個設(shè)備生效。
功能說明
物聯(lián)網(wǎng)平臺遠(yuǎn)程配置功能支持:
開啟或關(guān)閉產(chǎn)品的遠(yuǎn)程配置。
在線編輯配置文件,并管理版本。
從物聯(lián)網(wǎng)平臺推送配置文件,批量更新設(shè)備配置信息。
設(shè)備主動請求更新配置信息。
應(yīng)用場景
遠(yuǎn)程配置使用分為兩種場景:
物聯(lián)網(wǎng)平臺推送配置信息到設(shè)備端:您在物聯(lián)網(wǎng)平臺控制臺批量推送配置信息給設(shè)備,設(shè)備接收后,修改本地配置文件。
設(shè)備主動請求配置信息:設(shè)備主動向物聯(lián)網(wǎng)平臺請求新的配置文件,并進(jìn)行更新。
下文為您介紹上述場景的操作流程。
場景一:物聯(lián)網(wǎng)平臺推送配置信息給設(shè)備端
在物聯(lián)網(wǎng)平臺控制臺,向某一產(chǎn)品下的所有設(shè)備批量推送配置文件。
設(shè)備上線。
設(shè)備端開發(fā)流程和代碼示例,請參見Link SDK文檔。
重要開發(fā)設(shè)備端時,需配置設(shè)備端訂閱推送配置信息的Topic:
/sys/${productKey}/${deviceName}/thing/config/push
。在物聯(lián)網(wǎng)平臺控制臺中,編輯配置文件。
在實例概覽頁面,選擇目標(biāo)環(huán)境,找到對應(yīng)的實例,單擊實例ID或備注名稱。
重要目前僅開通企業(yè)版實例服務(wù)的地域下,執(zhí)行此步驟。其他地域,請?zhí)^此步驟。地域及實例的支持說明,請參見實例概述。
在左側(cè)導(dǎo)航欄,選擇 。
選擇產(chǎn)品,打開遠(yuǎn)程配置開關(guān),單擊編輯。
在配置模板下的編輯區(qū),編寫或粘貼JSON格式的配置信息。
說明產(chǎn)品配置模板適用于該產(chǎn)品下的所有設(shè)備。目前,不支持在物聯(lián)網(wǎng)平臺向單個設(shè)備推送配置文件。
編輯完成配置信息后,單擊保存,然后單擊確認(rèn)。
完成保存后,您可手動將配置信息批量更新到該產(chǎn)品下的所有設(shè)備,設(shè)備可主動請求更新該配置信息。
單擊批量更新,然后單擊確認(rèn)更新。
完成確認(rèn)后,物聯(lián)網(wǎng)平臺會向該產(chǎn)品下的所有設(shè)備批量推送配置文件。
您單擊批量更新后,如果物聯(lián)網(wǎng)平臺判斷不是可信環(huán)境,會發(fā)起短信驗證。當(dāng)您完成短信驗證后,物聯(lián)網(wǎng)平臺才會向設(shè)備下發(fā)配置文件。
重要從本次推送成功開始計時,同一產(chǎn)品下,1小時內(nèi)不支持再次推送新的配置文件。
同一產(chǎn)品的同一配置文件,僅支持從物聯(lián)網(wǎng)平臺推送一次。即使后續(xù)重復(fù)本操作,也無法再次推送相同的配置文件。
如需停止批量更新設(shè)備配置信息,請關(guān)閉該產(chǎn)品的遠(yuǎn)程配置開關(guān)。關(guān)閉遠(yuǎn)程配置后,物聯(lián)網(wǎng)平臺將停止所有更新推送,并且拒絕設(shè)備的主動更新請求。
設(shè)備端接收物聯(lián)網(wǎng)平臺下發(fā)的配置文件下載鏈接后,自行更新配置。
說明物聯(lián)網(wǎng)平臺下發(fā)的配置文件下載鏈接有效期為30分鐘,設(shè)備端需要及時下載。
(可選)查看和管理配置文件版本。
遠(yuǎn)程配置默認(rèn)保存最近5次的修改記錄。如果重新編輯并提交配置文件成功,上一版的配置信息將顯示在下方的配置版本記錄列表中。
您可查看版本更新時間和配置內(nèi)容,方便追溯。單擊目標(biāo)版本的查看,在彈出對話框中,查看該版本的配置內(nèi)容。您可在對話框中,單擊恢復(fù)至此版本,所選版本的內(nèi)容會恢復(fù)至編輯區(qū)中。您可在編輯區(qū)修改內(nèi)容,進(jìn)行批量更新。
場景二:設(shè)備主動請求配置信息
設(shè)備主動查詢并更新配置信息流程圖如下。
設(shè)備上線。
設(shè)備端開發(fā)流程和代碼示例,請參見Link SDK文檔。
說明開發(fā)設(shè)備端時,已配置設(shè)備端訂閱物聯(lián)網(wǎng)平臺響應(yīng)設(shè)備請求配置信息的Topic:
/sys/${productKey}/${deviceName}/thing/config/get_reply
。在物聯(lián)網(wǎng)平臺控制臺中,開啟遠(yuǎn)程配置,編輯配置信息,請參見場景一的步驟2。
設(shè)備端使用接口linkkit_invoke_cota_get_config來觸發(fā)遠(yuǎn)程配置請求。
設(shè)備通過Topic
/sys/${productKey}/${deviceName}/thing/config/get
主動查詢最新的配置信息。接收到設(shè)備的請求后,物聯(lián)網(wǎng)平臺會返回最新的配置信息到Topic:
/sys/${productKey}/${deviceName}/thing/config/get_reply
。設(shè)備端使用下發(fā)的配置文件鏈接,自行下載配置文件。
例如設(shè)備端C SDK 3.x提供回調(diào)函數(shù)cota_callback,處理配置文件的下載鏈接,完成更新。
說明物聯(lián)網(wǎng)平臺下發(fā)的配置文件下載鏈接有效期為30分鐘,設(shè)備端需要及時下載。