news

乐鑫多系列芯片提供对 AWS IoT Device SDK for Embedded C 的长期支持

中国,上海
2021年8月27日

乐鑫 ESP32、ESP32-S 和 ESP32-C 系列芯片正式提供对 AWS IoT Device SDK for Embedded C 的长期支持 (LTS)。

乐鑫 SoC 自 2017 年以来已支持连接至 AWS IoT Core 及其相关服务。以下是两种乐鑫 Wi-Fi SoC 与 AWS IoT Core 连接的方式。

第一种是使用亚马逊 FreeRTOS 发行版进行连接。FreeRTOS 发行版是一个完整的方案,包含内核、连接库和构建系统,能够使经过资格认证的 SoC 无缝连接至 AWS IoT 及相关服务。然而,在乐鑫 SoC 上使用 FreeRTOS 发行版也有一定局限性。目前它还不支持在 ESP32 等多核 SoC 上实现对称多处理 (SMP) 技术,也不支持 ESP32-C3 等新款芯片。

第二种方式是使用 IoT Device SDK for Embedded C 进行连接。这是一个支持 MQTT 和 Device Shadow 的独立开发库,最近也实现了对 OTA 和 Device Defender 等其他 AWS 服务的支持。

IoT Device SDK for Embedded C 从 202009.00 开始的新版本都包含一个用于连接各种 AWS 服务(如 AWS IoT MQTT Broker、Device Shadow、AWS IoT Jobs、AWS IoT Device Defender、AWS IoT Over-the-air 更新库等)的开发库。这些新版本 SDK 也支持单独使用 AWS 库的长期支持 (Long-term support,  LTS)  版本,使开发者可以自由选择不同的乐鑫 SoC 和 ESP-IDF 版本,提供了最大的灵活性。

对比两种连接 AWS IoT Core 的方式

不久前,我们发布了乐鑫开发板对 IoT Device SDK for Embedded C 202103.00 的 Beta 版本支持。撰写本文时,此 Beta 版本支持以下 AWS 标准 LTS 开发库

    • coreHTTP
    • coreJSON
    • coreMQTT
    • corePKCS11

和以下 AWS LTS 开发库

    • AWS IoT Device Shadow
    • AWS IoT Jobs
    • AWS IoT OTA

为简化这些开发库的应用,我们还提供了以下例程:

现在让我们以 Device Shadow 库和相关例程为例,了解如何使用这些开发库:

注意:我们默认读者已熟悉如何在 Web 控制台使用 AWS IoT,并已在电脑上配置了 ESP-IDF。如果您还未设置 AWS IoT Core,请遵循这里的步骤;如果您还未安装 ESP-IDF,请遵循这里的步骤。

首先克隆仓库,找到 “release/beta” 分支并更新子模块。

然后进入 Device Shadow 例程并设置 AWS IoT 的端点、ID 和端口。

注意:此例程已使用 8883 和 443 端口进行测试。8883 端口通常用于安全的 MQTT 连接;443 端口需要使用带有 ALPN 协议名称的 TLS 协议扩展(8883 端口无需 ALPN)。点此了解更多。

打开 menuconfig 并设置所需的值。

参考这里添加设备证书。

最后将例程烧写至乐鑫 SoC 上。

您现在应该每隔几秒钟就能在控制台上看到反映设备当前状态的日志。如果您在使用过程中遇到任何问题,请在例程中的 README 查看详细的操作步骤和故障排除说明。

虽然在乐鑫 SoC 上移植 AWS IoT Device SDK for Embedded C 还处于 Beta 测试阶段,但已基本可以用于正常开发。我们后续还将移植其他可用 LTS 库并添加更多例程,在资格验证结束后发布正式版本。

如果您有任何问题或遇到任何困难,请在 GitHub 上提交反馈

分享这篇文章
复制此内容

yuanjing

About this author ›