亚马逊AWS Kinesis Video Streams with IOT mqtt的demo示例

简介: AWS IoT Device SDK for Embedded C通常面向需要优化的 C 语言运行时的资源受限设备。您可以在任何操作系统上使用此软件开发工具包,并将其托管在任何类型的处理器(例如 MCU 和 MPU)上。如果您有更多的可用内存和处理资源,我们建议您使用更高级的 AWS IoT 设备和移动开发工具包之一(例如,C++、Java、JavaScript 和 Python)。

AWS IoT Device SDK for Embedded C通常面向需要优化的 C 语言运行时的资源受限设备。您可以在任何操作系统上使用此软件开发工具包,并将其托管在任何类型的处理器(例如 MCU 和 MPU)上。如果您有更多的可用内存和处理资源,我们建议您使用更高级的 AWS IoT 设备和移动开发工具包之一(例如,C++、Java、JavaScript 和 Python)。


1、下载 C 中的 Kinesis Video Streams with IOT 开发工具包


  1. 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 的目录。


  1. 导航到该目录并签出最新版本。


cd aws-iot-device-sdk-embedded-C
git checkout latest-release-tag


  1. 安装 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 主题。


  1. 将您在 AWS IoT Core 入门 中创建的证书和私有密钥复制到 build/bin/certificates 目录中。


注意


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


  1. 您必须使用个人 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 部分中。


  1. 打开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"
// =================================================


4.使用此命令检查您的设备上是否安装了 CMake。


cmake --version


如果您看到编译器的版本信息,则可以继续下一部分。


如果出现错误或看不到任何信息,则需要使用此命令安装 cmake 软件包。


sudo apt-get install cmake


再次运行 cmake --version 命令,确认 CMake 已安装并且您已准备好继续操作。


  1. 使用此命令检查您的设备上是否安装了开发工具。


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


20.png


收到 “来自 AWS IoT 控制台的问候” 表示设备现已使用 AWS IoT Device SDK for Embedded C 连接到 AWS IoT。


如果你觉得文章还不错,可以给个"三连",文章同步到个人微信公众号[加班猿]


我是hackett,我们下期见

相关实践学习
消息队列RocketMQ版:基础消息收发功能体验
本实验场景介绍消息队列RocketMQ版的基础消息收发功能,涵盖实例创建、Topic、Group资源创建以及消息收发体验等基础功能模块。
消息队列 MNS 入门课程
1、消息队列MNS简介 本节课介绍消息队列的MNS的基础概念 2、消息队列MNS特性 本节课介绍消息队列的MNS的主要特性 3、MNS的最佳实践及场景应用 本节课介绍消息队列的MNS的最佳实践及场景应用案例 4、手把手系列:消息队列MNS实操讲 本节课介绍消息队列的MNS的实际操作演示 5、动手实验:基于MNS,0基础轻松构建 Web Client 本节课带您一起基于MNS,0基础轻松构建 Web Client
目录
相关文章
|
2月前
|
消息中间件 SQL RocketMQ
【RocketMQ系列五】消息示例-顺序消息&延迟消息&广播消息的实现
【RocketMQ系列五】消息示例-顺序消息&延迟消息&广播消息的实现
55 1
|
2月前
|
消息中间件 RocketMQ
【RocketMQ系列四】消息示例-简单消息的实现
【RocketMQ系列四】消息示例-简单消息的实现
24 0
|
4月前
|
消息中间件 Java API
RabbitMQ入门指南(三):Java入门示例
RabbitMQ是一个高效、可靠的开源消息队列系统,广泛用于软件开发、数据传输、微服务等领域。本文主要介绍了AMQP、Spring AMQP和使用SpringAMQP实现对RabbitMQ的消息收发等内容。
83 0
RabbitMQ入门指南(三):Java入门示例
|
10月前
|
消息中间件 数据可视化 Windows
RabbitMQ的简单使用Demo
RabbitMQ的简单使用Demo
38 1
|
10月前
|
XML 消息中间件 传感器
HTTP 与 MQTT:为您的 IoT 项目选择最佳协议
HTTP 与 MQTT:为您的 IoT 项目选择最佳协议
928 2
|
存储 JSON 物联网
如何将 OBJ 模型转换和压缩为 GLTF 以与 AWS IoT TwinMaker 配合使用
尝试开始使用 AWS IoT TwinMaker,需要将您的 OBJ 文件转换为 glTF?也许您已经使用 Matterport 对您的环境进行了点云扫描,但不清楚如何将 Matterpak 捆绑包导入 AWS IoT TwinMaker。在本博客中,您将应用模型转换管道来压缩 Matterpak 捆绑包并将其转换为 glTF 格式。此方法将在 AWS IoT TwinMaker 中提供最新的 3D 模型并缩短场景加载时间。
169 0
|
消息中间件 Java 数据库
RabbitMq消息防丢失(含springboot代码示例)
1.概述 1.1.数据丢失的原因 在消息中有三种可能性造成数据丢失: 消费者消费消息失败 生产者生产消息失败 MQ数据丢失 消费者消费消息失败:
305 1
EMQ
|
传感器 算法 网络协议
MQTT 客户端自动重连最佳实践|构建可靠 IoT 设备连接
本文介绍在MQTT客户端代码实现过程中,自动重连逻辑设计的重要性与示例,帮助读者设计更为合理的重连代码,构建更加稳定可靠的物联网设备连接。
EMQ
1105 0
MQTT 客户端自动重连最佳实践|构建可靠 IoT 设备连接
|
消息中间件 存储 物联网
【物联网架构】为什么IoT开发人员困惑MQTT和CoAP?
【物联网架构】为什么IoT开发人员困惑MQTT和CoAP?
|
消息中间件 网络协议 物联网
「物联网架构」HiveMQ和Apache Kafka流式处理IoT数据和MQTT消息
「物联网架构」HiveMQ和Apache Kafka流式处理IoT数据和MQTT消息