管理面板常见问题
说明
如对管理面板的使用有任何疑问,请联系 esp-rainmaker-support@espressif.com 并标注 dashboard 标签。
在管理面板上启动 OTA 任务时,后端会发生什么?
节点与云端的交互
顾名思义,“基于主题的 OTA (OTA using Topics)” 使用特定主题进行 OTA 升级。
- 节点连接到 MQTT 代理后,会订阅主题
node/<node_id>/otaurl。 - 当通过管理面板的
Force Push选项触发 OTA 时,云服务会通过node/<node_id>/otaurl主题向节点发送相关信息,如下所示:
JSON 载荷(点击展开/收起)
{
"url": "<ota_image_url>",
"fw_version": "fw_version_string",
"ota_job_id": "<ota_job_id>",
"file_size": <num_bytes>,
"stream_id": "<mqtt_ota_stream_id>"
}
- 节点接收到信息后,开始从指定的
<ota_image_url>下载固件镜像,并通过node/<node_id>/otastatus发布进度,数据格式如下:
JSON 载荷(点击展开/收起)
{
"ota_job_id": "<ota_job_id>",
"status": "<in-progress/success/fail>",
"additional_info": "<additional_info>"
}
- 当所有节点均上报
success或failed状态后,OTA 任务完成。
高级选项
选择高级选项时,系统会在发送 URL 和其他基本信息的同时,向节点传递额外的元数据信息。示例如下:
JSON 载荷(点击展开/收起)
{
"url": "<ota_image_url>",
"fw_version": "fw_version_string",
"ota_job_id": "<ota_job_id>",
"file_size": <num_bytes>,
"stream_id": "<mqtt_ota_stream_id>",
"metadata": {
"download_window": {
"start": 120,
"end": 270
},
"esp.ota.target": "host_mcu",
"validity": {
"start": 1703788200,
"end": 1703961000
}
}
}
如上所示:
- 下载时间窗口设定为从第 120 分钟(凌晨 02:00)开始,至第 270 分钟(凌晨 04:30)结束。
- 有效期从时间戳 1703788200 开始,到时间戳 1703961000 结束,分别对应 12 月 29 日和 12 月 31 日的印度标准时间午夜 12:00,这是创建任务时设定的时间。
esp.ota.target:host_mcu表示此次 OTA 更新的目标是主控 MCU。
提示
请注意,该框架支持根据实际需求在元数据字段中添加更多自定义数据,上述示例仅展示了当前 RainMaker 管理面板所发送的标准数据。