blob: 7af3c25e92781e9c5224506b0a4f9843420acde9 [file] [log] [blame] [view]
# Matter ASR OTA Requestor Example
This example demonstrates the Matter OTA Requestor application on ASR platform.
---
- [Matter ASR OTA Requestor Example](#matter-asr-ota-requestor-example)
- [Building and Commissioning](#building-and-commissioning)
- [Testing the example](#testing-the-example)
---
## Building and Commissioning
Please refer
[Building and Commissioning](../../../docs/guides/asr_getting_started_guide.md#building-the-example-application)
guides to get started
```
./scripts/build/build_examples.py --target asr-$ASR_BOARD-ota-requestor build
```
## Testing the example
- After building a application, `*ota.bin` will generated automatically in the
output directory.
- Use
[ota_image_tool](https://github.com/project-chip/connectedhomeip/blob/master/src/app/ota_image_tool.py)
to generate the Matter OTA image. This tool can be used as follows, make
sure the softwareVersion parameter must be greater than the
`CHIP_DEVICE_CONFIG_DEVICE_SOFTWARE_VERSION` parameter set in the
application's CHIPProjectConfig.h file.
```
./src/app/ota_image_tool.py create -v <Vendor ID> -p <Product ID> -vn 2 -vs "2.0" -da sha256 application_ota.bin matter_firmware_ota.bin
```
- Run the Linux OTA Provider with OTA image.
```
./chip-ota-provider-app -f matter_firmware_ota.bin
```
- OTA Provider commissioning in another Linux terminal.
```
./chip-tool pairing onnetwork 1 20202021
```
- After OTA Provider commissioning is successful, use `chip-tool` to write ACL
for OTA Provider.
```
./chip-tool accesscontrol write acl '[{"fabricIndex": 1, "privilege": 5, "authMode": 2, "subjects": [112233], "targets": null },{"fabricIndex": 1, "privilege": 3, "authMode": 2, "subjects": null, "targets": null }]' 1 0
```
- Commission ota requestor device with node-id `OTA REQUESTOR APP NODE ID`
- After OTA Requestor commissioning is successful, use `chip-tool` to inform
OTA Provider to send OTA image to OTA Requestor.
```
./chip-tool otasoftwareupdaterequestor announce-otaprovider 1 0 0 0 <OTA REQUESTOR APP NODE ID> 0
```