简介: 使用远程配置功能,可在不用重启设备或中断设备运行情况下,在线远程更新设备的系统参数、网络参数等配置信息。

作者:三烽

简介

使用远程配置功能,可在不用重启设备或中断设备运行情况下,在线远程更新设备的系统参数、网络参数等配置信息。

前提条件

1.已在物联网平台控制台开通远程配置服务。如果未开通,登录物联网平台的控制台,选择监控运维 > 远程配置,然后单击开通服务。
2.设备端SDK已开启支持远程配置服务。(这里特指设备端C SDK)。需要在设备端SDK中定义 FEATURE_SERVICE_OTA_ENABLED = y。SDK提供接口linkkit_cota_init,用于初始化远程配置(Config Over The Air,COTA)。

与固件升级对比

很多场景下,开发者需要更新设备的配置信息,包括设备的系统参数、网络参数、本地策略等。通常情况下,是通过固件升级更新设备的配置信息。但是,这将加大固件版本的维护工作,并且需要设备中断运行以完成更新。为了解决上述问题,物联网平台提供远程配置更新功能,设备无需重启或中断运行即可在线完成配置信息更新。

使用场景一:云端推送配置信息给设备端

该场景使用mqtt.fx软件连接物联网平台,进行测试说明。

1.先通过mqtt.fx客户端连接上物联网平台,详情可以参考MQTT.fx接入物联网平台使用说明

2.设备端订阅推送配置信息的

Topic:/sys/http://www.w3.org/1998/Math/MathML"> class="MJX-TeXAtom-ORD">productKey/" role="presentation" style="position: relative;">
productKey/{deviceName}/thing/config/push


物联网开发平台 物联网开发平台控制台_重启


3.在控制台上配置对应模板,进行批量更新。


物联网开发平台 物联网开发平台控制台_物联网平台 源码_02


4.在mqtt.fx的日志里可以看到物联网平台发送过来的消息,里面的url字段即为配置文件的下载地址


物联网开发平台 物联网开发平台控制台_配置信息_03


使用场景二:设备主动请求配置信息

该场景使用java sdk模拟设备连接物联网平台,进行测试说明。关于订阅、发布、监听等方法不在本文做详细描述。

1.设备端订阅云端响应设备请求配置信息的Topic:

/sys/http://www.w3.org/1998/Math/MathML"> class="MJX-TeXAtom-ORD">productKey/" role="presentation" style="position: relative;">
productKey/{deviceName}/thing/config/get_reply


注意这里和场景一订阅的Topic是不同的


物联网开发平台 物联网开发平台控制台_重启_04


2.在控制台上配置对应模板,进行保存。和场景一中的第3步类似,只是不在平台进行批量更新。

3.设备通过Topic:/sys/http://www.w3.org/1998/Math/MathML"> class="MJX-TeXAtom-ORD">productKey/" role="presentation" style="position: relative;">
productKey/{deviceName}/thing/config/get主动查询最新的配置信息。(本质上就是publish消息)具体的请求数据格式,请参考:https://help.aliyun.com/document_detail/89308.html
src="https://yqfile.alicdn.com/554c386aef7e0a503c113cf6a32cf60f535c2f27.png" style="max-width: 100%; height: auto;">


4.监听到云端响应的数据,通过url字段进行配置文件的下载


物联网开发平台 物联网开发平台控制台_重启_05