本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
限定您的電路板
先決條件
硬體要求:
FreeRTOS AWS IoT 程式庫執行所在的 MCU 型開發板必須具備:
-
乙太網路、Wi-Fi 或行動連線功能
軟體要求:
FreeRTOS 移植指南中的移植流程圖可識別任何指定 MCU 型開發板所需的 FreeRTOS AWS IoT 程式庫。最小子集為:
FreeRTOS 核心
coreMQTT
AWS IoT Over-The-Air(OTA)
測試要求:
針對使用 AWS IoT Device Tester for FreeRTOS 定義的測試
GitHub 儲存庫,驗證 FreeRTOS 程式庫所需的硬體平台特定 APIs 實作。請參閱 驗證使用 AWS IoT Device Tester (IDT) 移植的 FreeRTOS 程式庫。 AWS IoT Core 使用 Device Advisor 驗證與 的互通性。請參閱 的步驟 4驗證使用 AWS IoT Device Tester (IDT) 移植的 FreeRTOS 程式庫。
建議
為了改善安全性,我們建議執行下列動作。
-
為了防止離線或暫時入侵成為永久,請將秘密和登入資料存放在可抵禦實體攻擊的硬體信任根中,例如安全元素
或安全 Enclave。 -
為了降低網路詐騙
和man-in-the-middle 攻擊可能導致未經授權的資料洩露的風險,請針對實作 DHCP、DNS、TCP/IP 和 TLS 等通訊協定的 FreeRTOS 程式庫使用 True Random Number Generator (TRNG) 。如需詳細資訊,請參閱使用確定性隨機位元產生器產生隨機數字的建議 (NIST SP 800-90A 頁。
資格步驟
驗證使用 AWS IoT Device Tester (IDT) 移植的 FreeRTOS 程式庫
將 FreeRTOS 程式庫移植到您的主機板。如需說明,請參閱 FreeRTOS 移植指南。
建立測試專案,並從 FreeRTOS-Libraries-Integration-Tests
GitHub 儲存庫移植所需的測試。呼叫測試執行器任務 RunQualificationTest 。 注意
為了獲得良好的開發人員體驗,建議移植 FreeRTOS 程式庫,並使用 IDE 在本機執行對應的個別測試群組來驗證整合。
測試執行器任務會在個別測試專案或您的示範應用程式專案中執行。
建立
manifest.yml
檔案以列出您資格中使用的所有相依性。相依性包括 FreeRTOS 程式庫和測試儲存庫。如需詳細資訊,請參閱 FreeRTOS 資訊清單檔案指示。注意
IDT
manifest.yml
會使用 來尋找針對特定 FreeRTOS 程式庫版本的完整性檢查所需的相依性,以及設定測試專案以建置、刷新和執行測試二進位檔。IDT 不會要求特定的專案結構,並使用
manifest.yml
檔案中包含的參考路徑。-
使用 Device Advisor 驗證 AWS IoT 互通性。
-
建立使用相同元件的示範專案,包括 FreeRTOS 程式庫、移植、整合任務,例如上述測試中使用的 OTA。
若要符合資格,示範應用程式必須提供下列功能:
執行 MQTT 發佈並訂閱主題。
執行 OTA 更新。
建立支援 OTA 更新的開機載入器。使用您自己的開機載入器或 MCUBoot
。請參閱 Labs-FreeRTOS-Plus-MCUBoot 。
注意
FreeRTOS GitHub
儲存庫已預先設定範例,示範個別任務。還有整合的 coreMQTT 代理程式示範 ,可整合 coreMQTT 和 OTA 任務。此外,請參閱《》中的 FreeRTOS 精選 IoT 整合資格專案的範例。 -
AWS IoT Device Tester 將針對 AWS IoT Device Advisor 執行您的示範。資格需要下列 Device Advisor 測試案例。
測試案例 測試案例 測試案例 必要 TLS TLS Connect 是 TLS TLS 支援 AWS AWS IoT 密碼套件 是,搭配建議的密碼套件 TLS TLS 不安全伺服器憑證 是 TLS TLS 不正確的主體名稱伺服器憑證 是 MQTT MQTT Connect 是 MQTT MQTT Connect 抖動重試 是,沒有警告 MQTT MQTT 訂閱 是 MQTT MQTT 發佈 是 MQTT MQTT ClientPuback Qos1 是 MQTT MQTT No Ack PingResp 是
-
從 執行測試 AWS IoT Device Tester 並產生測試報告。
-
IDT 會設定測試,並自動建置和刷新您的主機板。若要啟用此功能,您必須設定 IDT 為
userdata.json
檔案中的裝置執行建置和快閃記憶體命令。請參閱《IDT for FreeRTOS 使用者指南》中的設定建置、刷新和測試設定。 -
在
device.json
檔案中提供裝置支援的功能,例如連線類型、密碼編譯演算法、IDT 的金鑰佈建方法,以判斷要執行的適用測試。請參閱《IDT for FreeRTOS 使用者指南》中的在 IDT for FreeRTOS 中建立裝置集區。 FreeRTOS -
為 IDT 建立和設定 AWS 您的帳戶,以建立所需的雲端資源。請參閱《IDT for FreeRTOS 使用者指南》中的建立和設定 IDT AWS 帳戶以建立必要的雲端資源。 FreeRTOS
-
準備提交
撰寫入門指南,在您的裝置上執行 MQTT 或 OTA 示範專案。如需說明,請參閱建立裝置的 FreeRTOS 入門指南。
提供威脅建模文件,驗證您是否減輕 FreeRTOS 移植指南中移植 OTA 程式庫中所述AWS IoT 的裝置開機載入器威脅建模中定義的風險。在 APN Partner Central
中提交您的裝置時,此文件必須上傳為支援資產。 提供用於程式碼下載的公有儲存庫。我們建議您提供公司 GitHub 儲存庫連結。
提交資格
IDT 測試報告。
AWS IoT Device Advisor 測試報告。
威脅建模文件。
GitHub 儲存庫具有下載的原始碼。