本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
在 Texas Instruments CC3220SF-LAUNCHXL 上下载、构建、刷写并运行 FreeRTOS OTA 演示
重要
该参考集成托管在已弃用的 Amazon-FreeRTOS 存储库中。当您创建新项目时,我们建议从此处开始。如果您已经有一个基于现已弃用的 Amazon-FreeRTOS 存储库的 FreeRTOS 项目,请参阅 亚马逊免费版 RTOS Github 存储库迁移指南。
下载 FreeRTOS 和 OTA 演示代码
-
您可以在 GitHub 网站上下载源代码,网址为 https://github.com/FreeRTOS/FreeRTOS
。
构建演示应用程序
-
按照 开始免费试用 RTOS中的说明进行操作,将
aws_demos
项目导入 Code Composer Studio,为主板配置 AWS IoT 终端节点、Wi-Fi SSID 和密码,以及私有密钥和证书。 -
打开
,注释掉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
。 -
构建解决方案,并确保其构建没有错误。
-
启动终端模拟器,并使用以下设置连接到主板:
-
波特率:115200
-
数据位:8
-
奇偶校验:无
-
停止位:1
-
-
在主板上运行项目,确认它可以连接到 Wi-Fi 和 AWS 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