將結束裝置 SDK 移植到您的裝置 - 的受管整合 AWS IoT Device Management

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

將結束裝置 SDK 移植到您的裝置

將結束裝置 SDK 移植到您的裝置平台。請依照下列步驟,將您的裝置連線至 AWS IoT Device Management。

下載並驗證結束裝置 SDK

  1. 受管整合主控台下載最新版本的結束裝置 SDK。

  2. 確認您的平台位於 中支援的平台清單中參考:支援的平台

    注意

    終端裝置 SDK 已在指定的平台上進行測試。其他平台可能可以運作,但尚未經過測試。

  3. 將 SDK 檔案解壓縮 (解壓縮) 到您的工作區。

  4. 使用下列設定來設定您的建置環境:

    • 來源檔案路徑

    • 標頭檔案目錄

    • 必要程式庫

    • 編譯器和連結器旗標

  5. 在您移植平台抽象層 (PAL) 之前,請確定平台的基本功能已初始化。功能包括:

    • 作業系統任務

    • 週邊設備

    • 網路介面

    • 平台特定需求

將 PAL 移植到您的裝置

  1. 在現有平台目錄中為您的平台特定實作建立新的目錄。例如,如果您使用 FreeRTOS,請在 建立目錄platform/freertos

    範例 SDK 目錄結構
    ├── <SDK_ROOT_FOLDER> │ ├── CMakeLists.txt │ ├── LICENSE.txt │ ├── cmake │ ├── commonDependencies │ ├── components │ ├── docs │ ├── examples │ ├── include │ ├── lib │ ├── platform │ ├── test │ └── tools
  2. 將 POSIX 參考實作檔案 (.c 和 .h) 從 posix 資料夾複製到新的平台目錄。這些檔案提供您需要實作的函數範本。

    • 憑證儲存的快閃記憶體管理

    • PKCS#11 實作

    • 網路傳輸界面

    • 時間同步

    • 系統重新啟動和重設函數

    • 記錄機制

    • 裝置特定的組態

  3. 使用 MBedTLS 設定 Transport Layer Security (TLS) 身分驗證。

    • 如果您已經有與平台上 SDK 版本相符的 MBedTLS 版本,請使用提供的 POSIX 實作。

    • 使用不同的 TLS 版本,您可以使用 TCP/IP 堆疊實作 TLS 堆疊的傳輸掛鉤。

  4. 比較您平台的 MbedTLS 組態與 中的 SDK platform/posix/mbedtls/mbedtls_config.h 需求。確定已啟用所有必要選項。

  5. SDK 倚賴 coreMQTT 與雲端互動。因此,您必須實作使用下列結構的網路傳輸層:

    typedef struct TransportInterface { TransportRecv_t recv; TransportSend_t send; NetworkContext_t * pNetworkContext; } TransportInterface_t;

    如需詳細資訊,請參閱 FreeRTOS 網站上的 Transport Interface 文件

  6. (選用) 開發套件使用 PCKS#11 API 來處理憑證操作。 corePKCS 是非硬體特定的 PKCS#11 實作,用於原型設計。我們建議您在生產環境中使用安全加密處理器,例如信任平台模組 (TPM)、硬體安全模組 (HSM) 或安全元素:

    • 在 檢閱使用 Linux 檔案系統進行登入資料管理的範例 PKCS#11 實作platform/posix/corePKCS11-mbedtls

    • 在 實作 PKCS#11 PAL layercommonDependencies/core_pkcs11/corePKCS11/source/include/core_pkcs11.h

    • 在 實作 Linux 檔案系統platform/posix/corePKCS11-mbedtls/source/iotmi_pal_Pkcs11Operations.c

    • 在 實作儲存類型的儲存和載入函數platform/include/iotmi_pal_Nvm.h

    • 在 實作標準檔案存取platform/posix/source/iotmi_pal_Nvm.c

    如需詳細的移植說明,請參閱 FreeRTOS 使用者指南中的移植 corePKCS11 程式庫

  7. 將 SDK 靜態程式庫新增至您的建置環境:

    • 設定程式庫路徑以解決任何連結器問題或符號衝突

    • 確認所有相依性都已正確連結

測試您的連接埠

您可以使用現有的範例應用程式來測試您的連接埠。編譯必須在沒有任何錯誤或警告的情況下完成。

注意

我們建議您從最簡單的多工作業應用程式開始。範例應用程式提供多工作業對等項目。

  1. 在 中尋找範例應用程式examples/[device_type_sample]

  2. main.c 檔案轉換為您的專案,並新增 項目來呼叫現有的 main() 函數。

  3. 確認您可以成功編譯示範應用程式。