1. 程式人生 > 其它 >亞馬遜AWS Kinesis Video Streams with IOT mqtt的demo示例

亞馬遜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 開發工具包

  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 的目錄。

  2. 導航到該目錄並簽出最新版本。

    cd aws-iot-device-sdk-embedded-C
    git checkout latest-release-tag
    
  3. 安裝 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 證書或私有金鑰和裝置證書複製到您的裝置上。

  2. 您必須使用個人 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 部分中。

  3. 開啟 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 已安裝並且您已準備好繼續操作。

  5. 使用此命令檢查您的裝置上是否安裝了開發工具。

    gcc --version
    

    如果您看到編譯器的版本資訊,則可以繼續下一部分。

    如果出現錯誤或看不到任何編譯器資訊,則需要使用此命令安裝 build-essential 軟體包。

    sudo apt-get install build-essential
    

    再次執行 gcc --version 命令,確認構建工具已安裝並且您已準備好繼續操作。

構建並執行示例應用程式

執行 AWS IoT Device SDK for Embedded C 示例應用程式

  1. 導航到 aws-iot-device-sdk-embedded-c 並建立目錄。

    mkdir build && cd build
    
  2. 輸入以下 CMake 命令以生成 Makefiles 構建所需的檔案。

    cmake ..  
    
  3. 輸入以下命令以構建可執行應用程式檔案。

    make
    
  4. 使用此命令執行 mqtt_demo_mutual_auth 應用程式。

    cd bin
    ./mqtt_demo_mutual_auth 
    

收到 “來自 AWS IoT 控制檯的問候” 表示裝置現已使用 AWS IoT Device SDK for Embedded C 連線到 AWS IoT。

如果你覺得文章還不錯,可以給個"三連",文章同步到個人微信公眾號[加班猿]

我是hackett,我們下期見