概述
使用远程配置功能,可在不用重启设备或中断设备运行情况下,在线远程更新设备的系统参数、网络参数等配置信息。本文使用MQTT.fx客户端模拟设备,进行远程配置两种场景的演示。MQTT.fx接入物联网平台
官方文档:远程配置
与固件升级对比
很多场景下,开发者需要更新设备的配置信息,包括设备的系统参数、网络参数、本地策略等。通常情况下,是通过固件升级更新设备的配置信息。但是,这将加大固件版本的维护工作,并且需要设备中断运行以完成更新。为了解决上述问题,物联网平台提供远程配置更新功能,设备无需重启或中断运行即可在线完成配置信息更新。
前提条件
- 已在物联网平台控制台开通远程配置服务。如果未开通,登录物联网平台的控制台,选择监控运维 > 远程配置,然后单击开通服务。
- 设备端SDK已开启支持远程配置服务。(特指设备端C SDK)。需要在设备端SDK中定义 FEATURE_SERVICE_OTA_ENABLED = y。SDK提供接口linkkit_cota_init,用于初始化远程配置(Config Over The Air,COTA)。
场景一:云端推送配置信息给设备端
- 设备上线并订阅推送配置信息的Topic:/sys/${productKey}/${deviceName}/thing/config/push
- 在控制台上打开产品的远程配置开关,并进行批量更新
- 设备端接收云端下发的配置文件下载链接后,自行更新配置。
场景二:设备主动请求配置信息
- 设备端上线并订阅云端响应设备请求配置信息的Topic:/sys/${productKey}/${deviceName}/thing/config/get_reply
- 在物联网平台控制台中,开启远程配置,编辑配置信息。详细步骤请参见以上场景一的第2步,但是不进行批量更新。
- 设备通过Topic:/sys/${productKey}/${deviceName}/thing/config/get主动查询最新的配置信息。格式请参考:请求数据格式
- 设备端接收云端下发的配置文件下载链接后,自行更新配置。
说明
- 必须开启产品的远程配置功能后,才可以编辑配置信息。
- 切换为关闭状态,即关闭该产品的远程配置功能。
- 产品配置模板适用于该产品下的所有设备。目前,不支持在控制台向单个设备推送配置文件。
- 远程配置文件为JSON格式。物联网平台对配置内容没有特殊要求,但系统会对提交的配置文件进行JSON格式校验,避免错误格式引起配置异常。
- 配置文件最大支持64 KB。编辑框右上角将实时显示当前文件的大小。超过64KB的配置文件无法提交。
- 批量更新频率限制:一小时内仅允许操作一次 。
- 云端下发的配置文件下载链接有效期为30分钟,设备端需要及时下载。