AWS IoT
开发人员指南
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

使用 AWS IoT 嵌入式 C 开发工具包

设置适用于 AWS IoT 嵌入式 C 开发工具包的运行时环境

GitHub 将 AWS IoT 嵌入式 C 开发工具包下载到您的 Raspberry Pi:

git clone https://github.com/aws/aws-iot-device-sdk-embedded-C.git -b release

这将在当前目录中创建一个名为 aws-iot-device-sdk-embedded-C 的目录。默认情况下,您将位于用户的主目录 (/home/pi) 中。

GitHub 将 mbed TLS 下载到您的 Raspberry Pi。

注意

此链接将默认打开可能不稳定的 development 分支。我们建议不要使用 development 分支。有关正式发布的分支的更多信息,请参阅 arm MBED

将 mbed TLS 目录的内容复制到 aws-iot-device-sdk-embedded-C/external_libs/mbedTLS 目录中。

示例应用程序配置

AWS IoT 嵌入式 C 开发工具包包含供您试用的示例应用程序。为简便起见,我们将运行 subscribe_publish_sample 应用程序。此应用程序演示如何连接到 AWS IoT 消息代理并订阅和发布到 MQTT 主题。

  1. 按照AWS IoT 入门上的说明操作来创建 IoT 事物、证书、私有密钥和 IoT 策略。

  2. 将您的证书、私有密钥和根 CA 证书复制到 aws-iot-device-sdk-embedded-C/certs 目录。

    注意

    设备和根 CA 证书可能会过期或被吊销。如果出现这种情况,您必须将新的 CA 证书或私有密钥和设备证书复制到您的设备上。

  3. 导航到 aws-iot-device-sdk-embedded-C/samples/linux/subscribe_publish_sample 目录。您必须配置个人 AWS IoT 终端节点、私有密钥和证书。私有终端节点是您之前记下的 REST API 终端节点。如果您忘记了终端节点,但可以访问安装有 AWS CLI 的设备,则可以使用 aws iot describe-endpoint 命令查找您的私有终端节点 URL。或者,转到 AWS IoT 控制台:

    1. 选择注册表

    2. 选择事物

    3. 选择代表 Raspberry Pi 的事物。在事物的 Details 页面上,在左侧导航窗格中,选择 Interact

    4. 复制所有内容,包括 REST API 终端节点中的“.com”。

  4. 打开 aws_iot_config.h 文件并在 //Get from console 部分更新以下各项的值:

    AWS_IOT_MQTT_HOST

    您的私有终端节点。

    AWS_IOT_MY_THING_NAME

    您的事物名称。

    AWS_IOT_ROOT_CA_FILENAME

    您的根 CA 证书。

    AWS_IOT_CERTIFICATE_FILENAME

    您的证书。

    AWS_IOT_PRIVATE_KEY_FILENAME

    您的私有密钥。

    例如:

    // Get from console // ================================================= #define AWS_IOT_MQTT_HOST "a22j5sm6o3yzc5.iot.us-east-1.amazonaws.com" #define AWS_IOT_MQTT_PORT 8883 #define AWS_IOT_MQTT_CLIENT_ID "MyRaspberryPi" #define AWS_IOT_MY_THING_NAME "MyRaspberryPi" #define AWS_IOT_ROOT_CA_FILENAME "root-CA.crt" #define AWS_IOT_CERTIFICATE_FILENAME "4bbdc778b9-certificate.pem.crt" #define AWS_IOT_PRIVATE_KEY_FILENAME "4bbdc778b9-private.pem.key" // =================================================

运行示例应用程序

运行适用于嵌入式 C 的 AWS IoT 设备开发工具包示例应用程序

  1. 使用包含的生成文件编译 subscribe_publish_sample_app

    make -f Makefile

    此操作将生成可执行的文件。

  2. 运行 subscribe_publish_sample_app。您应该可以看到类似于如下所示的输出内容:

现在 Raspberry Pi 已经通过适用于嵌入式 C 的 AWS IoT 设备开发工具包连接到 AWS IoT。