跳到主要内容

管理面板常见问题

说明

如对管理面板的使用有任何疑问,请联系 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>"
}
  • 当所有节点均上报 successfailed 状态后,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 管理面板所发送的标准数据。

On this page