# CHIP ESP32 OTA Requestor Example A prototype application that demonstrates OTA Requestor capabilities. Please [setup ESP-IDF and CHIP Environment](../../../docs/platforms/esp32/setup_idf_chip.md) and refer [building and commissioning](../../../docs/platforms/esp32/build_app_and_commission.md) guides to get started. --- - [Prerequisite](#prerequisite) - [Query for an OTA Image](#query-for-an-ota-image) - [ESP32 OTA Requestor with Linux OTA Provider](#esp32-ota-requestor-with-linux-ota-provider) - [RPC console and Device Tracing](../../../docs/platforms/esp32/rpc_console.md) --- ## Prerequisite Before moving ahead, make sure you have [OTA Provider](../../ota-provider-app/esp32) is commissioned and running. ### Query for an OTA Image After commissioning is successful, announce OTA provider's presence using chip-tool. On receiving this command OTA requestor will query for OTA image. ``` ./out/debug/chip-tool otasoftwareupdaterequestor announce-otaprovider 0 0 0 0 ``` Once the transfer is complete, OTA requestor sends ApplyUpdateRequest command to OTA provider for applying the image. Device will restart on successful application of OTA image. ### ESP32 OTA Requestor with Linux OTA Provider - Build the [Linux OTA Provider](../../ota-provider-app/linux/README.md) - Run the Linux OTA Provider with OTA image. ``` ./out/debug/chip-ota-provider-app -f hello-world.bin ``` - Provision the Linux OTA Provider using chip-tool ``` ./out/debug/chip-tool pairing onnetwork 12345 20202021 ``` ### Note While trying out example ota-requestor-app bump the software version from `CMakeList.txt` and not from `idf.py menuconfig`. And software version of the image which is being ota should be greater than current software version.