作者:三烽
简介
使用远程配置功能,可在不用重启设备或中断设备运行情况下,在线远程更新设备的系统参数、网络参数等配置信息。
前提条件
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.在控制台上配置对应模板,进行批量更新。
4.在mqtt.fx的日志里可以看到物联网平台发送过来的消息,里面的url字段即为配置文件的下载地址
使用场景二:设备主动请求配置信息
该场景使用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是不同的
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" alt="image" title="image" style="max-width: 100%; height: auto;">
4.监听到云端响应的数据,通过url字段进行配置文件的下载