全部产品
云市场

远程配置

更新时间:2019-02-21 20:49:36

使用该功能前,需在云端开启产品的远程配置功能。远程配置可以用于更新设备的配置信息,包括设备的系统参数、网络参数或者本地策略等等。

说明 远程配置相关接口参见 设备 IDeviceCOTA

主动获取配置

  1. String COTA_get = "{" + " \"id\": 123," + " \"version\": \"1.0\"," +
  2. " \"params\": {" + "\"configScope\": \"product\"," + "\"getType\": \"file\"" +
  3. " }," + " \"method\": \"thing.config.get\"" + "}";
  4. RequestModel<Map> requestModel = JSONObject.parseObject(COTA_get, new TypeReference<RequestModel<Map>>() {
  5. }.getType());
  6. LinkKit.getInstance().getDeviceCOTA().COTAGet(requestModel, new IConnectSendListener() {
  7. @Override
  8. public void onResponse(ARequest aRequest, AResponse aResponse) {
  9. // 获取远程配置结果成功
  10. }
  11. @Override
  12. public void onFailure(ARequest aRequest, AError aError) {
  13. // 获取远程配置失败
  14. }
  15. });

订阅获取

设备端可以通过订阅获取远程配置信息

  1. // 注意:云端目前有做限制,一个小时只能全品类下发一次 COTA 更新
  2. LinkKit.getInstance().getDeviceCOTA().setCOTAChangeListener(new IConnectRrpcListener() {
  3. @Override
  4. public void onSubscribeSuccess(ARequest aRequest) {
  5. // 订阅成功
  6. }
  7. @Override
  8. public void onSubscribeFailed(ARequest aRequest, AError aError) {
  9. // 订阅失败
  10. }
  11. @Override
  12. public void onReceived(ARequest aRequest, IConnectRrpcHandle iConnectRrpcHandle) {
  13. // 接收到远程配置下行数据
  14. if (aRequest instanceof MqttRrpcRequest){
  15. // 云端下行数据 返回数据示例参见 Demo
  16. // ((MqttRrpcRequest) aRequest).payloadObj;
  17. }
  18. }
  19. @Override
  20. public void onResponseSuccess(ARequest aRequest) {
  21. // 回复远程配置成功
  22. }
  23. @Override
  24. public void onResponseFailed(ARequest aRequest, AError aError) {
  25. // 回复远程配置失败
  26. }
  27. });