使用 Amazon CLI 获取 OTA 故障代码 - FreeRTOS
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

使用 Amazon CLI 获取 OTA 故障代码

  1. 安装和配置 Amazon CLI

  2. 运行 aws configure 并输入以下信息。

    $ aws configure Amazon Access Key ID [None]: AccessID Amazon Secret Access Key [None]: AccessKey Default region name [None]: Region Default output format [None]: json

    有关更多信息,请参阅使用 aws configure 进行快速配置

  3. 运行:

    aws iot describe-job-execution --job-id JobID --thing-name ThingName

    其中 JobID 是我们想要获取其状态的作业的完整作业 ID 字符串(在创建时与 OTA 更新作业关联),而 ThingName 是设备在 Amazon IoT 中注册的 Amazon IoT 事物名称

  4. 输出如下所示:

    { "execution": { "jobId": "AFR_OTA-****************", "status": "FAILED", "statusDetails": { "detailsMap": { "reason": "0xEEEEEEEE: 0xffffffff" } }, "thingArn": "arn:aws:iot:Region:AccountID:thing/ThingName", "queuedAt": 1569519049.9, "startedAt": 1569519052.226, "lastUpdatedAt": 1569519052.226, "executionNumber": 1, "versionNumber": 2 } }

    在此示例输出中,“detailsmap”中的“reason”有两个字段:显示为“0xEEEEEEEE”的字段包含 OTA 代理的常规错误代码;显示为“0xffffffff”的字段包含子代码。常规错误代码在 https://docs.aws.amazon.com/freertos/latest/lib-ref/html1/aws__ota__agent_8h.html 中列出。错误代码带有“kOTA_Err_”前缀。子代码可以是平台特定的代码,也可以提供有关常规错误的更多详细信息。