亚马逊 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 的设备任务完成。

在这里插入图片描述

更多推荐