全部產品
Search
文件中心

IoT Platform:遠程配置

更新時間:Jun 30, 2024

使用該功能前,需在雲端開啟產品的“遠程配置”功能。遠程配置可以用於更新裝置的配置資訊,包括裝置的系統參數、網路參數或者本地策略等等。

說明 遠程配置相關介面參見裝置 IDeviceCOTA

主動擷取配置

String COTA_get = "{" + "  \"id\": 123," + "  \"version\": \"1.0\"," +
        "  \"params\": {" + "\"configScope\": \"product\"," + "\"getType\": \"file\"" +
        "  }," + "  \"method\": \"thing.config.get\"" + "}";

RequestModel<Map> requestModel = JSONObject.parseObject(COTA_get, new TypeReference<RequestModel<Map>>() {
    }.getType());
LinkKit.getInstance().getDeviceCOTA().COTAGet(requestModel, new IConnectSendListener() {
    @Override
    public void onResponse(ARequest aRequest, AResponse aResponse) {
        // 擷取遠程配置結果成功
    }

    @Override
    public void onFailure(ARequest aRequest, AError aError) {
        // 擷取遠程配置失敗
    }
});
            

訂閱擷取

裝置端可以通過訂閱擷取遠程配置資訊

// 注意:雲端目前有做限制,一個小時只能全品類下發一次 COTA 更新
LinkKit.getInstance().getDeviceCOTA().setCOTAChangeListener(new IConnectRrpcListener() {
    @Override
    public void onSubscribeSuccess(ARequest aRequest) {
        // 訂閱成功
    }

    @Override
    public void onSubscribeFailed(ARequest aRequest, AError aError) {
        // 訂閱失敗
    }

    @Override
    public void onReceived(ARequest aRequest, IConnectRrpcHandle iConnectRrpcHandle) {
        // 接收到遠程配置下行資料    
        if (aRequest instanceof MqttRrpcRequest){
            // 雲端下行資料 返回資料樣本參見 Demo
            // ((MqttRrpcRequest) aRequest).payloadObj;
        }
    }

    @Override
    public void onResponseSuccess(ARequest aRequest) {
        // 回複遠程配置成功
    }

    @Override
    public void onResponseFailed(ARequest aRequest, AError aError) {
        // 回複遠程配置失敗
    }
});