亞馬遜AWS Kinesis Video Streams with IOT mqtt的demo示例
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,我們下期見