Implement OTA Agent that pulls from the cloud
- Dominant language
- Python
- Stars
- 14
- Forks
- 7
- PR merge metrics
- No merged PRs in 30d
Description
### Description
Currently, to update a POD with either an access point or via direct connection (over some protocol), it is required to have the update file locally. Current invocation for updates looks something like this:
```iotile hw --port=virtual:reference_1_0 connect 1 app --name device_updater load_script ```
This new implementation will instead have a slightly different functional path that checks for an update from the cloud, then applies if it one is ready for a device. Possible command would look something like this:
```iotile hw --port= connect 1 app --name cloud_ota --device update```
The program flow will implement
1. (optional / possible) Pull current device version
2. Check if the cloud has a newer version *or* is serving an update for the devId
3. Download update and send to the device
4. Wait for update to be complete
5. Tell cloud that update has been completed
Reference card https://github.com/orgs/iotile/projects/17#card-13237757
Contributor guide
Assessment
This issue has not been assessed yet.