亚马逊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版Serverless系列实例进行获取接入点、创建Topic、创建订阅组、收发消息、查看消息轨迹和仪表盘。
消息队列 MNS 入门课程
1、消息队列MNS简介 本节课介绍消息队列的MNS的基础概念 2、消息队列MNS特性 本节课介绍消息队列的MNS的主要特性 3、MNS的最佳实践及场景应用 本节课介绍消息队列的MNS的最佳实践及场景应用案例 4、手把手系列:消息队列MNS实操讲 本节课介绍消息队列的MNS的实际操作演示 5、动手实验:基于MNS,0基础轻松构建 Web Client 本节课带您一起基于MNS,0基础轻松构建 Web Client
目录
相关文章
|
物联网
(手把手)在华为云、阿里云搭建自己的物联网MQTT消息服务器,免费IOT平台
本文介绍如何在阿里云搭建自己的物联网MQTT消息服务器,并使用 “MQTT客户端调试工具”模拟MQTT设备,接入平台进行消息收发。
4218 42
|
消息中间件 SQL RocketMQ
【RocketMQ系列五】消息示例-顺序消息&延迟消息&广播消息的实现
【RocketMQ系列五】消息示例-顺序消息&延迟消息&广播消息的实现
1051 1
|
消息中间件 Java API
RabbitMQ入门指南(三):Java入门示例
RabbitMQ是一个高效、可靠的开源消息队列系统,广泛用于软件开发、数据传输、微服务等领域。本文主要介绍了AMQP、Spring AMQP和使用SpringAMQP实现对RabbitMQ的消息收发等内容。
481 0
RabbitMQ入门指南(三):Java入门示例
|
消息中间件 RocketMQ
【RocketMQ系列四】消息示例-简单消息的实现
【RocketMQ系列四】消息示例-简单消息的实现
337 0
|
XML 消息中间件 传感器
HTTP 与 MQTT:为您的 IoT 项目选择最佳协议
HTTP 与 MQTT:为您的 IoT 项目选择最佳协议
3727 2
|
消息中间件 数据可视化 Windows
RabbitMQ的简单使用Demo
RabbitMQ的简单使用Demo
260 1
EMQ
|
传感器 算法 网络协议
MQTT 客户端自动重连最佳实践|构建可靠 IoT 设备连接
本文介绍在MQTT客户端代码实现过程中,自动重连逻辑设计的重要性与示例,帮助读者设计更为合理的重连代码,构建更加稳定可靠的物联网设备连接。
EMQ
2183 0
MQTT 客户端自动重连最佳实践|构建可靠 IoT 设备连接
|
存储 消息中间件 安全
MQTT物联网通讯协议入门及Demo实现
MQTT物联网通讯协议入门及Demo实现
|
消息中间件 网络协议 物联网
「物联网架构」HiveMQ和Apache Kafka流式处理IoT数据和MQTT消息
「物联网架构」HiveMQ和Apache Kafka流式处理IoT数据和MQTT消息
|
消息中间件 Java 数据库
RabbitMq消息防丢失(含springboot代码示例)
1.概述 1.1.数据丢失的原因 在消息中有三种可能性造成数据丢失: 消费者消费消息失败 生产者生产消息失败 MQ数据丢失 消费者消费消息失败:
860 1