設定LTS資格先決條件 - 免費RTOS

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

設定LTS資格先決條件

本節說明使用 測試微控制器的先決條件 AWS IoT Device Tester。

準備免費RTOS資格

注意

AWS IoT Device Tester for FreeRTOS 強烈建議使用最新的 Free RTOS-LTS 版本修補程式版本。

IDT for FRQ 2.0 是 Free 的資格RTOS。在執行 IDT FRQ 2.0 進行資格認證之前,您必須在 免費資格認證指南 中完成您的討論板資格認證。 RTOS 若要移植程式庫、測試和設定 manifest.yml,請參閱 免費RTOS移植指南 中的移植免費程式庫RTOS FRQ 2.0 包含不同的資格檢定程序。如需詳細資訊,請參閱 免費RTOS資格認證指南中的資格的最新變更

免費 RTOS-Library-Integration-Tests 儲存庫必須存在IDT才能執行。請參閱 README.md,了解如何將此儲存庫複製和移植至來源專案。 FreeRTOS-Libraries-Integration-Tests 必須包含manifest.yml位於專案根中的 ,IDT才能執行。

注意

IDT 取決於測試儲存庫對 的實作UNITY_OUTPUT_CHAR。測試輸出日誌和裝置日誌不得互相交錯。如需詳細資訊,請參閱 免費RTOS移植指南中的實作程式庫日誌巨集一節。

IDT 免費下載RTOS

每個 FreeRTOS 版本都有對應的 IDT for FreeRTOS 版本來執行資格測試。下載適用於 免費 IDT RTOS 的 免費 支援版本的 AWS IoT Device Tester RTOS

IDT 免費RTOS擷取至檔案系統上具有讀取和寫入許可的位置。由於 Microsoft Windows 具有路徑長度的字元限制,請將 Free IDT RTOS 擷取至根目錄,例如 C:\D:\

注意

多個使用者不得IDT從共用位置執行,例如NFS目錄或 Windows 網路共用資料夾。這會導致當機或資料損毀。建議您將IDT套件擷取至本機磁碟機。

下載 Git

IDT 必須安裝 Git 作為先決條件,才能確保原始碼完整性。

請依照GitHub指南中的指示安裝 Git。若要驗證目前安裝的 Git 版本,請在git --version終端機輸入 命令。

警告

IDT 使用 Git 與目錄的乾淨或髒污狀態保持一致。如果未安裝 Git,FreeRTOSIntegrity測試群組將會失敗或無法如預期執行。如果 IDT傳回錯誤,例如 git executable not foundgit command not found,請安裝或重新安裝 Git,然後再試一次。

建立 AWS 帳戶

注意

僅在下列 中支援完整IDT資格套件 AWS 區域

  • 美國東部 (維吉尼亞北部)

  • 美國西部 (奧勒岡)

  • 亞太區域 (東京)

  • 歐洲 (愛爾蘭)

為了測試您的裝置,IDTFor FreeRTOS 會建立 AWS IoT 物件、免費RTOS群組和 Lambda 函數等資源。若要建立這些資源,IDTFor FreeRTOS 會要求您建立和設定 AWS 帳戶,以及授予 IDT 免費RTOS許可IAM的政策,以便在執行測試時代表您存取資源。

下列步驟是建立和設定 AWS 您的帳戶。

  1. 如果您已有 AWS 帳戶,請跳至下一個步驟。Else 建立AWS 帳戶

  2. 請遵循建立IAM角色 中的步驟。此時請勿新增許可或政策。

  3. 若要執行OTA資格測試,請前往步驟 4。Else 前往步驟 5。

  4. 將OTAIAM許可內嵌政策連接至您的IAM角色。

    1. 重要

      下列政策範本授予IDT許可,以建立角色、建立政策,以及將政策連接至角色。IDT for FreeRTOS 會將這些許可用於建立角色的測試。雖然政策範本不會為使用者提供管理員權限,但該許可可用來取得您 AWS 帳戶的管理員存取權。

    2. 請依照下列步驟,將必要的許可連接至您的IAM角色:

      1. 許可頁面上,選擇新增許可

      2. 選擇建立內嵌政策

      3. 選擇 JSON索引標籤,並將下列許可複製到JSON文字方塊。如果您不在中國區域,請使用大多數區域下的範本。如果您位於中國區域,請使用北京和寧夏區域 下的範本。

        Most Regions
        { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "iotdeviceadvisor:*", "Resource": [ "arn:aws:iotdeviceadvisor:*:*:suiterun/*/*", "arn:aws:iotdeviceadvisor:*:*:suitedefinition/*" ] }, { "Effect": "Allow", "Action": "iam:PassRole", "Resource": "arn:aws:iam::*:role/idt*", "Condition": { "StringEquals": { "iam:PassedToService": "iotdeviceadvisor.amazonaws.com" } } }, { "Effect": "Allow", "Action": [ "execute-api:Invoke*", "iam:ListRoles", "iot:Connect", "iot:CreateJob", "iot:DeleteJob", "iot:DescribeCertificate", "iot:DescribeEndpoint", "iot:DescribeJobExecution", "iot:DescribeJob", "iot:DescribeThing", "iot:GetPolicy", "iot:ListAttachedPolicies", "iot:ListCertificates", "iot:ListPrincipalPolicies", "iot:ListThingPrincipals", "iot:ListThings", "iot:Publish", "iot:UpdateThingShadow", "logs:CreateLogGroup", "logs:CreateLogStream", "logs:DescribeLogGroups", "logs:DescribeLogStreams", "logs:PutLogEvents", "logs:PutRetentionPolicy" ], "Resource": "*" }, { "Effect": "Allow", "Action": "iotdeviceadvisor:*", "Resource": "*" }, { "Effect": "Allow", "Action": "logs:DeleteLogGroup", "Resource": "arn:aws:logs:*:*:log-group:/aws/iot/deviceadvisor/*" }, { "Effect": "Allow", "Action": "logs:GetLogEvents", "Resource": "arn:aws:logs:*:*:log-group:/aws/iot/deviceadvisor/*:log-stream:*" }, { "Effect": "Allow", "Action": [ "iam:CreatePolicy", "iam:DetachRolePolicy", "iam:DeleteRolePolicy", "iam:DeletePolicy", "iam:CreateRole", "iam:DeleteRole", "iam:AttachRolePolicy" ], "Resource": [ "arn:aws:iam::*:policy/idt*", "arn:aws:iam::*:role/idt*" ] }, { "Effect": "Allow", "Action": [ "ssm:GetParameters" ], "Resource": [ "arn:aws:ssm:*::parameter/aws/service/ami-amazon-linux-latest/amzn2-ami-hvm-x86_64-gp2" ] }, { "Effect": "Allow", "Action": [ "ec2:DescribeInstances", "ec2:RunInstances", "ec2:CreateSecurityGroup", "ec2:CreateTags", "ec2:DeleteTags" ], "Resource": [ "*" ] }, { "Effect": "Allow", "Action": [ "ec2:CreateKeyPair", "ec2:DeleteKeyPair" ], "Resource": [ "arn:aws:ec2:*:*:key-pair/idt-ec2-ssh-key-*" ] }, { "Effect": "Allow", "Condition": { "StringEqualsIgnoreCase": { "aws:ResourceTag/Owner": "IoTDeviceTester" } }, "Action": [ "ec2:TerminateInstances", "ec2:DeleteSecurityGroup", "ec2:AuthorizeSecurityGroupIngress", "ec2:RevokeSecurityGroupIngress" ], "Resource": [ "*" ] } ] }
        Beijing and Ningxia Regions

        下列政策範本可用於北京和寧夏區域。

        { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "iam:CreatePolicy", "iam:DetachRolePolicy", "iam:DeleteRolePolicy", "iam:DeletePolicy", "iam:CreateRole", "iam:DeleteRole", "iam:AttachRolePolicy" ], "Resource": [ "arn:aws-cn:iam::*:policy/idt*", "arn:aws-cn:iam::*:role/idt*" ] }, { "Effect": "Allow", "Action": [ "ssm:GetParameters" ], "Resource": [ "arn:aws-cn:ssm:*::parameter/aws/service/ami-amazon-linux-latest/amzn2-ami-hvm-x86_64-gp2" ] }, { "Effect": "Allow", "Action": [ "ec2:DescribeInstances", "ec2:RunInstances", "ec2:CreateSecurityGroup", "ec2:CreateTags", "ec2:DeleteTags" ], "Resource": [ "*" ] }, { "Effect": "Allow", "Action": [ "ec2:CreateKeyPair", "ec2:DeleteKeyPair" ], "Resource": [ "arn:aws-cn:ec2:*:*:key-pair/idt-ec2-ssh-key-*" ] }, { "Effect": "Allow", "Condition": { "StringEqualsIgnoreCase": { "aws-cn:ResourceTag/Owner": "IoTDeviceTester" } }, "Action": [ "ec2:TerminateInstances", "ec2:DeleteSecurityGroup", "ec2:AuthorizeSecurityGroupIngress", "ec2:RevokeSecurityGroupIngress" ], "Resource": [ "*" ] } ] }
      4. 完成時,請選擇 Review policy (檢閱政策)

      5. 輸入 IDTFreeRTOSIAMPermissions作為政策名稱。

      6. 選擇 建立政策

  5. AWSIoTDeviceTesterForFreeRTOSFullAccess 連接至您的IAM角色。

    1. 若要將必要的許可連接至您的IAM角色:

      1. 許可頁面上,選擇新增許可

      2. 選擇連接政策

      3. 搜尋AWSIoTDeviceTesterForFreeRTOSFullAccess政策。勾選方塊。

    2. 選擇新增許可

  6. 匯出 的憑證IDT。如需詳細資訊,請參閱取得IAM角色憑證以進行CLI存取

AWS IoT Device Tester 受管政策

AWSIoTDeviceTesterForFreeRTOSFullAccess 受管政策包含下列版本檢查、自動更新功能和指標集合的 AWS IoT Device Tester 許可。

  • iot-device-tester:SupportedVersion

    AWS IoT Device Tester 准許擷取支援的產品、測試套件和IDT版本清單。

  • iot-device-tester:LatestIdt

    AWS IoT Device Tester 准許擷取可供下載的IDT最新版本。

  • iot-device-tester:CheckVersion

    AWS IoT Device Tester 准許檢查 IDT、測試套件和產品的版本相容性。

  • iot-device-tester:DownloadTestSuite

    AWS IoT Device Tester 准許下載測試套件更新。

  • iot-device-tester:SendMetrics

    AWS 准許收集有關 AWS IoT Device Tester 內部使用的指標。

(選用) 安裝 AWS Command Line Interface

您可能偏好使用 AWS CLI 來執行某些操作。如果您沒有 AWS CLI 安裝 ,請遵循安裝 AWS CLI的指示。

從命令列執行, AWS CLI 為您要使用的 AWS 區域aws configure設定 。如需支援 IDT 免費 AWS 的區域的相關資訊RTOS,請參閱AWS 區域和端點 。如需詳細資訊,aws configure請參閱使用 進行快速組態aws configure