AWS IoT - 找不到 C SDK 来配置设备

AWS IoT - Cannot locate C SDK to configure device

当我在 AWS IoT 控制台中单击 Onboard 选项时,我看到了一个用于注册事物的选项。单击它,然后单击“开始”,向我显示 select 用于注册 SDK 的页面。第一步是selectOS然后是语言。此时,我没有看到 select C 或 C++ SDK 的选项!

AWS IoT SDKs shows the C/C++ SDK. But, the page for AWS IoT Device SDK 的页面未显示 C++ SDK。

  1. 那么,这些各种 AWS SDK 是什么?它们有什么不同?
  2. AWS IoT SDK 和 Eclipse Paho 连接到 MQTT 代理的客户端有什么区别?
  3. Eclipse Paho 客户端连接到 AWS IoT MQTT 端点可能需要进行哪些更改?

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

1。不同的 SDK

在 AWS IOT 方面,AWS SDK 主要有 2 类。

  • 您在设备
  • 上拥有通常运行的设备 SDK
  • 您通常在云中 运行 拥有 AWS SDK

两者都有多种语言版本。设备 SDK 通常使用 MQTT 和 x509 证书对 AWS IOT 进行身份验证,但您也可以通过 https 进行通信。 An overview of the supported protocols for iot clients can be found here。请记住,设备通常倾向于使用 bi-directional 与使用 MQTT(发布/订阅)的 aws iot 进行长期通信。 http 协议只能用于从设备向 AWS IOT 发送消息。

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

这些使用标准 MQTT 通信。

2。 AWS IoT SDK 与 Eclipse Paho 的区别

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

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

与云无关并使用 MQTT/Paho 等标准协议/库来避免 (aws) 供应商 lock-in.

也有一些价值

3。 Paho 客户端和 AWS IOT

AWS IoT 需要 TLS V1.2,因此您的 Paho 客户端需要支持它。我相信 should be possible now Paho cpp。