[AWS IoT 实战1]设备软件包管理及设备OTA 功能方案
·
亚马逊 AWS IoT物联网解决方案
AWS IoT 提供将您的物联网设备连接到其他设备和 AWS 云服务的云服务。 AWS IoT 提供设备软件,可帮助您将物联网设备集成到 AWS IoT基于解决方案的解决方案中。如果您的设备可以连接 AWS IoT,则 AWS IoT 可以将它们连接到 AWS 提供的云服务。
导言
ota 功能涉及 设备大规模升级,最好能够通过升级包的管理,定点升级特定的设备
设备升级功能可以通过aws iot jobs 的模块实现远程自动升级功能。
升级包需要预先上传到s3中
jobs 模块最核心的模块就是 jobs document 也是需要通过 S3 保存为 josn 数据的
1,上传升级包到 S3

2,制作jobs document
aws_print_update_job_v1.0.0.4_1030.json
{
"version": "1.0",
"steps": [
{
"action": "print",
"message": "Hello world!",
"s3UrlForPackage": "${aws:iot:package:Model-Y:version:V1.00.04.1030:attributes:s3UrlForPackage}",
"packageID" : "${aws:iot:package:Model-Y:version:V1.00.04.1030:attributes:packageID}"}
]
}
AWS IoT 任务的替代参数
注意版本号V1.00.04.1030和型号Model-Y需要和软件包一致,后面的升级包会用到。
s3UrlForPackage 和packageID 为软件包的属性,在创建升级包的时候会用到。
软件包设计 
属性对应上面S3的路径

创建 jobs
第一种方式,直接在jobs模块里面创建

第二种方式,在软件模块的版本号创建jobs

选择 s3 jobs document

注意下面的软件包信息

选择设备 单个升级 或者设备组 全部升级

设备端测试 jobs,可以看到设备都到了服务器推送来的 ota 版本信息 S3 的下载地址。
[INFO ][DEMO][2024-04-16 01:43:55] Job document received: {"version":"1.0","steps":[{"action":"print","message":"Hello world!","s3UrlForPackage":"https://anhaivisionwebsite-storage-237ce0ae142159-staging.s3.us-east-2.amazonaws.com/Model/Model-Y/package/V1.00.04.1030/DVOTA_DV-C200_AVMB.WFMD_SV1.00.04.1030-HV10.zip","packageID":"V1.00.04.1030"}]}
[INFO ][MQTT][2024-04-16 01:43:55] (MQTT connection 0x55555557aea0) SUBSCRIBE operation scheduled.
设备更新 ota 成功之后,返回success 既可将 jobs 的设备任务完成。

更多推荐

所有评论(0)