本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
教程:使用 AWS IoT Device SDK for Embedded C
本节介绍如何运行 AWS IoT Device SDK for Embedded C。
第 1 步:安装 AWS IoT Device SDK for Embedded C
AWS IoT Device SDK for Embedded C 通常针对需要优化 C 语言运行时的资源受限的设备。可以在任何操作系统SDK上使用,也可以将其托管在任何类型的处理器上(例如MCUs和MPUs)。如果您有更多的内存和处理资源可用,我们建议您使用更高阶的 AWS IoT 设备和移动设备SDKs(例如 C++ JavaScript、Java 和 Python)。
通常, AWS IoT Device SDK for Embedded C 适用于使用MCUs或运行嵌入式操作系统的低端MPUs系统。对于本部分中的编程示例,我们假定您的设备使用 Linux。
例
-
从下载 AWS IoT Device SDK for Embedded C 到您的设备GitHub
。 git clone https://github.com/aws/aws-iot-device-sdk-embedded-c.git --recurse-submodules
这将在当前目录中创建一个名为
aws-iot-device-sdk-embedded-c
的目录。 -
前往到该目录并签出最新版本。有关最新版本标签,请参阅 github.com/aws/-embedd aws-iot-device-sdk ed-
c/Tags。 cd aws-iot-device-sdk-embedded-c git checkout
latest-release-tag
-
安装开放SSL版 1.1.0 或更高版本。当通过软件包管理器安装时,开放SSL开发库通常被称为 “libssl-dev” 或 “openssl-devel”。
sudo apt-get install libssl-dev
步骤 2:配置示例应用
AWS IoT Device SDK for Embedded C 包括供您尝试的示例应用程序。为简单起见,本教程使用了mqtt_demo_mutual_auth
应用程序,该应用程序说明了如何连接到 AWS IoT Core 消息代理以及如何订阅和发布MQTT主题。
-
将您在 AWS IoT Core 教程入门中创建的证书和私有密钥复制到
build/bin/certificates
目录中。注意
设备和根 CA 证书可能会过期或被吊销。如果您的证书过期或被吊销,则您必须将新的 CA 证书或私有密钥和设备证书复制到您的设备上。
-
您必须使用您的个人 AWS IoT Core 终端节点、私钥、证书和根 CA 证书配置示例。导航到
aws-iot-device-sdk-embedded-c/demos/mqtt/mqtt_demo_mutual_auth
目录。如果您已 AWS CLI 安装,则可以使用此命令来查找您账户的终端节点URL。
aws iot describe-endpoint --endpoint-type iot:Data-ATS
如果您尚未 AWS CLI 安装,请打开您的AWS IoT 主机
。在导航窗格中,依次选择 Manage (管理) 和 Things (事物)。为您的设备选择 IoT 事物,然后选择 Interact(交互)。您的终端节点显示在事物详细信息页面的HTTPS部分中。 -
打开
demo_config.h
文件并更新以下各项的值:- AWS_IOT_ENDPOINT
-
您的私有终端节点。
- CLIENT_CERT_PATH
-
您的证书文件路径,例如
certificates/device.pem.crt"
。 - CLIENT_PRIVATE_KEY_PATH
-
您的私有密钥文件名,例如
certificates/private.pem.key
。
例如:
// Get from demo_config.h // ================================================= #define AWS_IOT_ENDPOINT "
my-endpoint
-ats.iot.us-east-1.amazonaws.com" #define AWS_MQTT_PORT 8883 #define CLIENT_IDENTIFIER "testclient" #define ROOT_CA_CERT_PATH "certificates/AmazonRootCA1.crt" #define CLIENT_CERT_PATH "certificates/my-device-cert
.pem.crt" #define CLIENT_PRIVATE_KEY_PATH "certificates/my-device-private-key
.pem.key" // ================================================= -
使用此命令查看您的设备上是否已CMake安装。
cmake --version
如果您看到编译器的版本信息,则可以继续下一部分。
如果出现错误或看不到任何信息,则需要使用此命令安装 cmake 软件包。
sudo apt-get install cmake
再次运行该cmake --version命令并确认CMake已安装并准备好继续。
-
使用此命令检查您的设备上是否安装了开发工具。
gcc --version
如果您看到编译器的版本信息,则可以继续下一部分。
如果出现错误或看不到任何编译器信息,则需要使用此命令安装
build-essential
软件包。sudo apt-get install build-essential
再次运行 gcc --version命令,确认构建工具已安装并且您已准备好继续操作。
步骤 3:构建并运行示例应用程序
此过程介绍如何在您的设备上生成mqtt_demo_mutual_auth
应用程序并使用将其连接到AWS IoT 控制台
运行 AWS IoT Device SDK for Embedded C 示例应用程序
-
导航到
aws-iot-device-sdk-embedded-c
并创建目录。mkdir build && cd build
-
输入以下CMake命令生成生成所需的 Makefile。
cmake ..
-
输入以下命令以构建可执行应用程序文件。
make
-
使用此命令运行
mqtt_demo_mutual_auth
应用程序。cd bin ./mqtt_demo_mutual_auth
您应该可以看到类似于如下所示的输出内容:
现在,您的设备已 AWS IoT 使用连接到 AWS IoT Device SDK for Embedded C。
您也可以使用 AWS IoT 控制台查看示例应用程序正在发布的MQTT消息。有关如何在AWS IoT 控制台