在 Texas Resuments CC3220SF-LAUNCHXL 上下载、构建、刷写并运行 FreeRTOS OTA 演示 - FreeRTOS
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

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

在 Texas Resuments CC3220SF-LAUNCHXL 上下载、构建、刷写并运行 FreeRTOS OTA 演示

下载 FreeRTOS 和 OTA 演示代码

  1. 浏览至 Amazon IoT 控制台,从导航窗格中选择 Software (软件)

  2. UNDERFreeRTOS 设备软件,选择配置下载.

  3. 从软件配置列表中,选择连接到Amazon IoT-TI. 选择配置名称,而不是 Download (下载) 链接。

  4. Libraries (库) 下,选择 Add another library (添加另一个库),然后选择 OTA Updates (OTA 更新)

  5. Demo projects (演示项目) 下,选择 OTA Update (OTA 更新)

  6. Name required (需要名称) 下,输入 Connect-to-IoT-OTA-TI,然后选择 Create and download (创建和下载)

将包含 FreeRTOS 和 OTA 演示代码的 zip 文件保存到计算机上。

构建演示应用程序

  1. 将 .zip 文件解压缩。

  2. 按照 入门中的说明进行操作,将 aws_demos 项目导入 Code Composer Studio,为主板配置 Amazon IoT 终端节点、Wi-Fi SSID 和密码,以及私有密钥和证书。

  3. 打开freertos/vendors/vendor/boards/board/aws_demos/config_files/aws_demo_config.h,评论掉#define CONFIG_CORE_MQTT_MUTUAL_AUTH_DEMO_ENABLED定义,并定义CONFIG_OTA_MQTT_UPDATE_DEMO_ENABLED要么CONFIG_OTA_HTTP_UPDATE_DEMO_ENABLED.

  4. 构建解决方案,并确保其构建没有错误。

  5. 启动终端模拟器,并使用以下设置连接到主板:

    • 波特率:115200

    • 数据位:8

    • 奇偶校验:无

    • 停止位:1

  6. 在主板上运行项目,确认它可以连接到 Wi-Fi 和 Amazon IoT MQTT 消息代理。

终端模拟器在运行时应当显示类似以下内容的文本:

0 1000 [Tmr Svc] Simple Link task created Device came up in Station mode 1 2534 [Tmr Svc] Write certificate... 2 5486 [Tmr Svc] [ERROR] Failed to destroy object. PKCS11_PAL_DestroyObject failed. 3 5486 [Tmr Svc] Write certificate... 4 5776 [Tmr Svc] Security alert threshold = 15 5 5776 [Tmr Svc] Current number of alerts = 1 6 5778 [Tmr Svc] Running Demos. 7 5779 [iot_thread] [INFO ][DEMO][5779] ---------STARTING DEMO--------- 8 5779 [iot_thread] [INFO ][INIT][5779] SDK successfully initialized. Device came up in Station mode [WLAN EVENT] STA Connected to the AP: afrlab-pepper , BSSID: 74:83:c2:b4:46:27 [NETAPP EVENT] IP acquired by the device Device has connected to afrlab-pepper Device IP Address is 192.168.36.176 9 8283 [iot_thread] [INFO ][DEMO][8282] Successfully initialized the demo. Network type for the demo: 1 10 8283 [iot_thread] [INFO] OTA over MQTT demo, Application version 0.9.0 11 8283 [iot_thread] [INFO] Creating a TLS connection to <endpoint>-ats.iot.us-west-2.amazonaws.com:8883. 12 8852 [iot_thread] [INFO] Creating an MQTT connection to <endpoint>-ats.iot.us-west-2.amazonaws.com. 13 8914 [iot_thread] [INFO] Packet received. ReceivedBytes=2. 14 8914 [iot_thread] [INFO] CONNACK session present bit not set. 15 8914 [iot_thread] [INFO] Connection accepted. 16 8914 [iot_thread] [INFO] Received MQTT CONNACK successfully from broker. 17 8914 [iot_thread] [INFO] MQTT connection established with the broker. 18 8915 [iot_thread] [INFO] Received: 0 Queued: 0 Processed: 0 Dropped: 0 19 8953 [OTA Agent T] [INFO] Current State=[RequestingJob], Event=[Start], New state=[RequestingJob] 20 9008 [MQTT Agent ] [INFO] Packet received. ReceivedBytes=3. 21 9015 [OTA Agent T] [INFO] SUBSCRIBED to topic $aws/things/__test_infra_thing73/jobs/notify-next to broker. 22 9015 [OTA Agent T] [INFO] Subscribed to MQTT topic: $aws/things/__test_infra_thing73/jobs/notify-next 23 9504 [MQTT Agent ] [INFO] Publishing message to $aws/things/__test_infra_thing73/jobs/$next/get. 24 9535 [MQTT Agent ] [INFO] Packet received. ReceivedBytes=2. 25 9535 [MQTT Agent ] [INFO] Ack packet deserialized with result: MQTTSuccess. 26 9536 [MQTT Agent ] [INFO] State record updated. New state=MQTTPublishDone. 27 9537 [OTA Agent T] [INFO] Sent PUBLISH packet to broker $aws/things/__test_infra_thing73/jobs/$next/get to broker. 28 9537 [OTA Agent T] [WARN] OTA Timer handle NULL for Timerid=0, can't stop. 29 9537 [OTA Agent T] [INFO] Current State=[WaitingForJob], Event=[RequestJobDocument], New state=[WaitingForJob] 30 9539 [MQTT Agent ] [INFO] Packet received. ReceivedBytes=120. 31 9539 [MQTT Agent ] [INFO] De-serialized incoming PUBLISH packet: DeserializerResult=MQTTSuccess. 32 9540 [MQTT Agent ] [INFO] State record updated. New state=MQTTPublishDone. 33 9540 [MQTT Agent ] [INFO] Received job message callback, size 62. 34 9616 [OTA Agent T] [INFO] Failed job document content check: Required job document parameter was not extracted: parameter=execution 35 9616 [OTA Agent T] [INFO] Failed job document content check: Required job document parameter was not extracted: parameter=execution.jobId 36 9617 [OTA Agent T] [INFO] Failed job document content check: Required job document parameter was not extracted: parameter=execution.jobDocument 37 9617 [OTA Agent T] [INFO] Failed job document content check: Required job document parameter was not extracted: parameter=execution.jobDocument.afr_ota 38 9617 [OTA Agent T] [INFO] Failed job document content check: Required job document parameter was not extracted: parameter=execution.jobDocument.afr_ota.protocols 39 9618 [OTA Agent T] [INFO] Failed job document content check: Required job document parameter was not extracted: parameter=execution.jobDocument.afr_ota.files 40 9618 [OTA Agent T] [INFO] Failed job document content check: Required job document parameter was not extracted: parameter=filesize 41 9618 [OTA Agent T] [INFO] Failed job document content check: Required job document parameter was not extracted: parameter=fileid 42 9619 [OTA Agent T] [INFO] Failed to parse JSON document as AFR_OTA job: DocParseErr_t=7 43 9619 [OTA Agent T] [INFO] No active job available in received job document: OtaJobParseErr_t=OtaJobParseErrNoActiveJobs 44 9619 [OTA Agent T] [ERROR] Failed to execute state transition handler: Handler returned error: OtaErr_t=OtaErrJobParserError 45 9620 [OTA Agent T] [INFO] Current State=[WaitingForJob], Event=[ReceivedJobDocument], New state=[CreatingFile] 46 9915 [iot_thread] [INFO] Received: 0 Queued: 0 Processed: 0 Dropped: 0 47 10915 [iot_thread] [INFO] Received: 0 Queued: 0 Processed: 0 Dropped: 0 48 11915 [iot_thread] [INFO] Received: 0 Queued: 0 Processed: 0 Dropped: 0 49 12915 [iot_thread] [INFO] Received: 0 Queued: 0 Processed: 0 Dropped: 0 50 13915 [iot_thread] [INFO] Received: 0 Queued: 0 Processed: 0 Dropped: 0 51 14915 [iot_thread] [INFO] Received: 0 Queued: 0 Processed: 0 Dropped: 0