title: 亚马逊AWS Kinesis Video Streams with IOT mqtt的demo示例
categories:[Linux C]
tags:[亚马逊云平台]
date: 2021/12/22
作者:hackett 微信公众号:加班猿AWS IoT Device SDK for Embedded C通常面向需要优化的 C 语言运行时的资源受限设备。您可以在任何操作系统上使用此软件开发工具包,并将其托管在任何类型的处理器(例如 MCU 和 MPU)上。如果您有更多的可用内存和处理资源,我们建议您使用更高级的 AWS IoT 设备和移动开发工具包之一(例如,C++、Java、JavaScript 和 Python)。
1、下载 C 中的 Kinesis Video Streams with IOT 开发工具包
-
从 GitHub 将 AWS IoT Device SDK for Embedded C 下载到您的设备。
git clone https://github.com/aws/aws-iot-device-sdk-embedded-c.git --recurse-submodules
这将在当前目录中创建一个名为
aws-iot-device-sdk-embedded-c
的目录。 -
导航到该目录并签出最新版本。
cd aws-iot-device-sdk-embedded-C git checkout latest-release-tag
-
安装 OpenSSL 1.1.0 或更高版本。当通过软件包管理器安装时,OpenSSL 开发库通常被称为“libssl-dev”或“openssl-devel”。
sudo apt-get install libssl-dev
2、demo应用程序配置
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 命令,确认构建工具已安装并且您已准备好继续操作。
构建并运行示例应用程序
运行 AWS IoT Device SDK for Embedded C 示例应用程序
-
导航到
aws-iot-device-sdk-embedded-c
并创建目录。mkdir build && cd build
-
输入以下 CMake 命令以生成 Makefiles 构建所需的文件。
cmake ..
-
输入以下命令以构建可执行应用程序文件。
make
-
使用此命令运行
mqtt_demo_mutual_auth
应用程序。cd bin ./mqtt_demo_mutual_auth
收到 “来自 AWS IoT 控制台的问候” 表示设备现已使用 AWS IoT Device SDK for Embedded C 连接到 AWS IoT。
如果你觉得文章还不错,可以给个"三连",文章同步到个人微信公众号[加班猿]
我是hackett,我们下期见