Dashboard FAQs
信息
If you have any questions for Dashboard, please contact esp-rainmaker-support@espressif.com with a dashboard tag.
What is happening on the backend when OTA job is initiated on the dashboard?
Interaction between node and cloud
As the name suggests, the "OTA using Topics" method uses dedicated topics for OTA upgrades.
- When the node connects to the MQTT broker, it subscribes to the topic
node/<node_id>/otaurl
. - Whenever an OTA is triggered from the dashboard using the
Force Push
option, the cloud service sends this information to the node onnode/<node_id>/otaurl
as shown below:
JSON Payload (Click to view)
{
"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>"
}
- The node then starts downloading the image from the received
<ota_image_url>
and publishes the progress onnode/<node_id>/otastatus
in the following format:
JSON Payload (Click to view)
{
"ota_job_id": "<ota_job_id>",
"status": "<in-progress/success/fail>",
"additional_info": "<additional_info>"
}
- The OTA job ends when all nodes have either reported
success
orfailed
.
Advanced Options
When any of the advanced options are selected, additional metadata is sent to the node along with the utl and other details. For example:
JSON Payload (Click to view)
{
"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
}
}
}
As can be seen above
- The download window starts at 120 minutes (02:00am) and ends at 270 minutes (4:30am).
- Validity starts at 1703788200 and ends at 1703961000, which are 12:00am IST for 29 Dec and 31 Dec, which was chosen while creating the job.
- "esp.ota.target": "host_mcu" indicates that this OTA is for Host MCU.
提示
Note that the framework allows you to add even more custom data in the metadata field as per your requirements. The ones shown here are just the ones sent by the current RainMaker dashboard.