教學課程:使用 適用於 Embedded C 的 AWS IoT Device SDK - AWS IoT Core

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

教學課程:使用 適用於 Embedded C 的 AWS IoT Device SDK

本節說明如何執行 適用於 Embedded C 的 AWS IoT Device SDK。

Step1:安裝 適用於 Embedded C 的 AWS IoT Device SDK

通常以需要最佳化 C 語言執行時間的資源限制裝置 適用於 Embedded C 的 AWS IoT Device SDK 為目標。您可以在任何作業系統SDK上使用 ,並將其託管在任何處理器類型 (例如 MCUs和 MPUs)。如果您有更多可用的記憶體和處理資源,建議您使用較高順序 AWS IoT 的裝置和行動裝置 SDKs(例如 C++、Java JavaScript和 Python)。

一般而言, 適用於 Embedded C 的 AWS IoT Device SDK 適用於使用 MCUs或執行內嵌作業系統MPUs的低端系統。在本節中的程式設計範例,我們假設您的裝置使用 Linux。

範例
  1. 從 將 下載 適用於 Embedded C 的 AWS IoT Device SDK 至您的裝置GitHub

    git clone https://github.com/aws/aws-iot-device-sdk-embedded-c.git --recurse-submodules

    這會在目前目錄中建立名為 aws-iot-device-sdk-embedded-c 的目錄。

  2. 導航至該目錄並查看最新版本。如需最新版本標籤,請參閱 github.com/aws/aws-iot-device-sdk-embedded-C/tag

    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:設定範例應用程式

適用於 Embedded C 的 AWS IoT Device SDK 包含供您嘗試的範例應用程式。為了簡化,本教學課程使用 mqtt_demo_mutual_auth 應用程式,說明如何連線至 AWS IoT Core 訊息代理程式,以及訂閱和發佈MQTT主題。

  1. 將您建立於 AWS IoT Core 教學課程入門 中的憑證和私有金鑰複製至 build/bin/certificates 目錄中。

    注意

    裝置和根憑證授權機構憑證會有過期或遭撤銷的可能。若這些憑證過期或遭到撤銷,您必須將新的憑證授權機構憑證或私有金鑰和裝置憑證複製到裝置上。

  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 命令,確認已安裝建置工具,準備好繼續。

步驟 3:建置並執行範例應用程式

此程序會說明如何在裝置上產生mqtt_demo_mutual_auth應用程式,並使用 將其連接至AWS IoT 主控台 適用於 Embedded C 的 AWS IoT Device SDK。

執行 適用於 Embedded C 的 AWS IoT Device SDK 範例應用程式
  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

    您應該會看到類似下列的輸出:

    執行 適用於 Embedded C 的 AWS IoT Device SDK 範例應用程式的命令列輸出。

您的裝置現在已 AWS IoT 使用 連線至 適用於 Embedded C 的 AWS IoT Device SDK。

您也可以使用 AWS IoT 主控台來檢視範例應用程式正在發佈MQTT的訊息。如需有關如何在AWS IoT 主控台 中使用MQTT用戶端的資訊,請參閱 使用 AWS IoT MQTT用戶端檢視MQTT訊息