Skip to main content

Dashboard FAQs

info

If you have any questions about the dashboard, please contact esp-rainmaker-support@espressif.com with a dashboard tag.


What happens on the backend when an 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 on node/<node_id>/otaurl as shown below:
JSON Payload (Toggle 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 on node/<node_id>/otastatus in the following format:
JSON Payload (Toggle 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 or failed.

Advanced Options

When any of the advanced options are selected, additional metadata is sent to the node along with the URL and other details. For example:

JSON Payload (Toggle 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:00 AM) and ends at 270 minutes (04:30 AM).
  • Validity starts at 1703788200 and ends at 1703961000, which are 12:00 AM IST for December 29 and December 31, which were chosen while creating the job.
  • esp.ota.target: host_mcu indicates that this OTA is for Host MCU.
tip

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.

On this page