AWS IoT - 找不到用于配置设备的 C 开发工具包

AWS IoT - Cannot locate C SDK to configure device

本文关键字:开发 开发工具 工具包 IoT 找不到 用于 配置 AWS      更新时间:2023-10-16

当我在 AWS IoT 控制台中单击板载选项时,我看到一个用于注册事物的选项。单击它,然后单击"开始使用",将显示一个页面,用于选择要注册的 SDK。第一步是选择操作系统,然后选择语言。此时,我没有看到选择 C 或 C++ SDK 的选项!

AWS IoT 开发工具包页面显示了 C/C++ 开发工具包。但是,AWS IoT 设备开发工具包的页面不显示C++开发工具包。

  1. 那么,这些不同的 AWS 开发工具包是什么?它们有何不同?
  2. 用于连接到 MQTT 代理的 AWS IoT 开发工具包和 Eclipse Paho 客户端之间有什么区别?
  3. Eclipse Paho 客户端可能需要哪些更改才能连接到 AWS IoT MQTT 端点?

我的目标是在 C/C++ 中为 RTOS 设备构建 MQTT 客户端。我会在设备的"外部"注册它。

1. 不同的软件开发工具包

AWSIOT 有 2 个主要类别的 AWS 开发工具包。

  • 你拥有通常在设备上运行的设备 SDK
  • 您拥有通常在云中运行的 AWS 开发工具包

两者都有多种语言。设备开发工具包通常使用 MQTT 和 x509 证书对 AWS IOT 进行身份验证,但您也可以通过 https 进行通信。可在此处找到 IoT 客户端支持的协议概述。请记住,设备通常倾向于使用 MQTT(发布/订阅)与 AWS IoT 进行双向长期通信。http 协议只能用于将消息从设备发送到 AWS IOT。

如果您使用的是基于 C 的系统,您有 2 个选项:

  • CPP : https://github.com/aws/aws-iot-device-sdk-cpp
  • 嵌入式 C : https://github.com/aws/aws-iot-device-sdk-embedded-C

它们使用标准的 MQTT 通信。

2. AWS IoT 开发工具包和 Eclipse Paho 之间的区别

两者都将使用MQTT/x509证书和MQTT_SSL_VERSION_TLS_1_2。 理论上两者都应该与 Aws IOT 一起使用,我已经看到了 Eclispe Paho MQTT 客户端在C++中针对 Aws IOT 运行的工作示例。

根据我的经验,您通常最好使用供应商 SDK,因为它们将比更通用的 MQTT 库提供更好的支持/示例/功能。

与云无关并使用MQTT/Paho等标准协议/库来避免(aws)供应商锁定也有一些价值。

3. 泛美卫生客户端和 AWS 物联网

AWS IoT 需要 TLS V1.2,因此您的 Paho 客户端需要支持这一点。我相信现在应该可以通过Paho cpp。