准备首次测试微控制器主板 - FreeRTOS
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

准备首次测试微控制器主板

你可以使用 FreeRTOS 的 IDT 来测试你对 FreeRTOS 库的实现。在为主板的设备驱动程序移植 FreeRTOS 库后,用于在微控制器板上运行资格测试。Amazon IoT Device Tester

添加库移植层并实现 FreeRTOS 测试存储库

要为您的设备移植 FreeRTOS,请参阅 FreeRTOS 移植指南。在实现 FreeRTOS 测试存储库和移植 FreeRTOS 层时,manifest.yml必须提供每个库(包括测试存储库)的路径。此文件将位于源代码的根目录中。有关详细信息,请参阅清单文件说明

配置 Amazon凭证

您需要配置您的Amazon凭据才能与Amazon云端通信。Amazon IoT Device Tester有关更多信息,请参阅设置Amazon证书和开发区域。在devicetester_extract_location/devicetester_freertos_[win|mac|linux]/configs/config.json配置文件中指定了有效的Amazon凭据。

"auth": { "method": "environment" } "auth": { "method": "file", "credentials": { "profile": "<your-aws-profile>" } }

config.json文件的auth属性有一个控制Amazon身份验证的方法字段,可以声明为文件或环境。将字段设置为环境会从主机的环境变量中提取您的Amazon证书。将字段设置为文件会从配置文件中导入指定的.aws/credentials配置文件。

在 IDT 中为 FreeRTOS 创建设备池

要测试的设备排列在设备池中。每个设备池包含一个或多个相同的设备。您可以为 FreeRTOS 配置 IDT 以测试单个设备或池中的多个设备。为了加快认证流程,IDT for FreeRTOS 可以parallel 测试具有相同规格的设备。它使用轮询方法,在设备池中的各个设备上执行不同的测试组。

device.json文件的顶层有一个数组。每个阵列属性都是一个新的设备池。每个设备池都有一个设备阵列属性,该属性声明了多个设备。在模板中,有一个设备池,该设备池中只有一台设备。您可以通过编辑 configs 文件夹中 device.json 模板的 devices 部分,将一个或多个设备添加到设备池中。

注意

同一池中的所有设备必须具有相同的技术规格和 SKU。为了为不同的测试组启用源代码的parallel 构建,IDT for FreeRTOS 会将源代码复制到 IDT for FreeRTOS 提取的文件夹内的结果文件夹。必须使用testdata.sourcePath变量在编译或 flash 命令中引用源代码路径。FreeRTOS 的 IDT 用复制的源代码的临时路径替换了这个变量。有关更多信息,请参阅FreeRTOS 变量的 IDT

以下是用于创建包含多个设备的设备池的示例device.json文件。

[ { "id": "pool-id", "sku": "sku", "features": [ { "name": "Wifi", "value": "Yes | No" }, { "name": "Cellular", "value": "Yes | No" }, { "name": "BLE", "value": "Yes | No" }, { "name": "PKCS11", "value": "RSA | ECC | Both" }, { "name": "OTA", "value": "Yes | No", "configs": [ { "name": "OTADataPlaneProtocol", "value": "MQTT | HTTP | None" } ] }, { "name": "KeyProvisioning", "value": "Onboard | Import | Both | No" } ], "devices": [ { "id": "device-id", "connectivity": { "protocol": "uart", "serialPort": "/dev/tty*" }, "secureElementConfig" : { "publicKeyAsciiHexFilePath": "absolute-path-to/public-key-txt-file: contains-the-hex-bytes-public-key-extracted-from-onboard-private-key", "publiDeviceCertificateArn": "arn:partition:iot:region:account-id:resourcetype:resource:qualifier", "secureElementSerialNumber": "secure-element-serialNo-value", "preProvisioned" : "Yes | No", "pkcs11JITPCodeVerifyRootCertSupport": "Yes | No" }, "identifiers": [ { "name": "serialNo", "value": "serialNo-value" } ] } ] } ]

device.json 文件中使用以下属性:

id

用户定义的字母数字 ID,用于唯一地标识设备池。属于同一个池的设备必须具有相同的类型。运行一组测试时,池中的设备将用于对工作负载进行并行化处理。

sku

唯一标识您正在测试的主板的字母数字值。该 SKU 用于跟踪符合条件的主板。

注意

如果您想在Amazon合作伙伴设备目录中列出您的主板,则您在此处指定的 SKU 必须与您在发布过程中使用的 SKU 相匹配。

features

包含设备支持的功能的阵列。 Amazon IoT Device Tester使用此信息选择要运行的资格测试。

支持的值为:

Wifi

指示您的主板是否具有 Wi-Fi 功能。

Cellular

指明您的主板是否具有蜂窝功能。

PKCS11

指示主板支持的公有密钥加密算法。资格认证需要使用 PKCS11。支持的值为ECCRSA、和BothBoth表示主板同时支持ECCRSA

KeyProvisioning

指示将受信任的 X.509 客户端证书写入主板的方法。

有效值为ImportOnboardBothNoOnboardBoth,或者需要提供No密钥才能进行认证。 Import单独不是获得资格的有效选择。

  • Import仅在您的开发板允许导入私钥时使用。选择Import不是有效的资格认定配置,应仅用于测试目的,特别是用于 PKCS11 测试用例。 OnboardBoth或者No是资格认证所必需的。

  • Onboard如果您的主板支持板载私钥(例如,如果您的设备具有安全元素,或者您更喜欢生成自己的设备key pair 和证书),则使用。确保您在每个设备部分中添加一个 secureElementConfig 元素,并将公有密钥文件的绝对路径放在 publicKeyAsciiHexFilePath 字段中。

  • Both如果您的主板同时支持导入私钥和生成用于密钥配置的板载密钥,则使用。

  • No如果您的主板不支持密钥配置,则使用。 No只有当您的设备也已预先配置时,才是有效的选项。

OTA

表示您的主板是否支持 over-the-air (OTA) 更新功能。OtaDataPlaneProtocol 属性指示设备支持哪个 OTA 数据平面协议。需要使用 HTTP 或 MQTT 数据平面协议的 OTA 才能获得认证。要在测试时跳过运行 OTA 测试,请将 OTA 功能设置为No,将OtaDataPlaneProtocol属性设置为None。这不会是资格赛。

BLE

指示您的主板是否支持低功耗蓝牙 (BLE) 功能。

devices.id

用户定义的测试的设备的唯一标识符。

devices.connectivity.serialPort

主机连接到所测试设备时使用的串行端口。

devices.secureElementConfig.PublicKeyAsciiHexFilePath

如果您的主板未提供pre-provisioned或未提供PublicDeviceCertificateArn,则为必填项。由于Onboard这是密钥配置的必填类型,因此该字段目前是 FullTransportInterface TLS 测试组的必填字段。如果您的设备是pre-provisioned,则PublicKeyAsciiHexFilePath是可选的,无需包括在内。

以下块是包含从Onboard私钥中提取的十六进制字节公钥的文件的绝对路径。

3059 3013 0607 2a86 48ce 3d02 0106 082a 8648 ce3d 0301 0703 4200 04cd 6569 ceb8 1bb9 1e72 339f e8cf 60ef 0f9f b473 33ac 6f19 1813 6999 3fa0 c293 5fae 08f1 1ad0 41b7 345c e746 1046 228e 5a5f d787 d571 dcb2 4e8d 75b3 2586 e2cc 0c

如果你的公钥是.der 格式,你可以直接对公钥进行十六进制编码以生成十六进制文件。

要使用.der 公钥生成十六进制文件,请输入以下xxd命令:

xxd -p pubkey.der > outFile

如果您的公钥是.pem 格式,则可以提取 base64 编码的页眉和页脚并将其解码为二进制格式。然后,对二进制字符串进行十六进制编码以生成十六进制文件。

要为.pem 公钥生成十六进制文件,请执行以下操作:

  1. 运行以下base64命令从公钥中删除 base64 页眉和页脚。然后将名为base64key的解码密钥输出到文件中pubkey.der

    base64 —decode base64key > pubkey.der
  2. 运行以下xxd命令以pubkey.der转换为十六进制格式。生成的密钥另存为outFile

    xxd -p pubkey.der > outFile
devices.secureElementConfig.PublicDeviceCertificateArn

上传到的安全元素的证书的 ARNAmazon IoT Core。有关将您的证书上传到的信息Amazon IoT Core,请参阅《Amazon IoT开发者指南》中的 X.509 客户端证书

devices.secureElementConfig.SecureElementSerialNumber

(可选)安全元件的序列号。序列号可以选择用于创建用于 JITR 密钥配置的设备证书。

devices.secureElementConfig.preProvisioned

(可选)如果设备具有预先配置的安全元素,且凭据已锁定,无法导入、创建或销毁对象,则设置为 “是”。如果此属性设置为 “”,则必须提供相应的 pkcs11 标签。

devices.secureElementConfig.pkcs11JITPCodeVerifyRootCertSupport

(可选)如果设备的 CorePKCS11 实现支持 JITP 存储,则设置为 “”。这将在codeverify测试核心 PKCS 11 时启用 JITP 测试,并且需要提供代码验证密钥、JITP 证书和根证书 PKCS 11 标签。

identifiers

(可选)任意名称/值对的数组。您可以在下一部分所述的生成和刷写命令中使用这些值。

配置构建、刷写和测试设置

FreeRTOS 的 IDT 会自动生成测试并在您的主板上刷新测试。要启用此功能,必须配置 IDT 以运行硬件的构建和 flash 命令。生成和刷写设置在位于 config 文件夹的 userdata.json 模板文件中配置。

为测试设备配置设置

生成、刷写和测试设置在 configs/userdata.json 文件中进行。以下 JSON 示例显示了如何为 FreeRTOS 配置 IDT 以测试多台设备:

{ "sourcePath": "</path/to/freertos>", "retainModifiedSourceDirectories": true | false, "freeRTOSVersion": "<freertos-version>", "freeRTOSTestParamConfigPath": "{{testData.sourcePath}}/path/from/source/path/to/test_param_config.h", "freeRTOSTestExecutionConfigPath": "{{testData.sourcePath}}/path/from/source/path/to/test_execution_config.h", "buildTool": { "name": "your-build-tool-name", "version": "your-build-tool-version", "command": [ "<build command> -any-additional-flags {{testData.sourcePath}}" ] }, "flashTool": { "name": "your-flash-tool-name", "version": "your-flash-tool-version", "command": [ "<flash command> -any-additional-flags {{testData.sourcePath}} -any-additional-flags" ] }, "testStartDelayms": 0, "echoServerConfiguration": { "keyGenerationMethod": "EC | RSA", "serverPort": 9000 }, "otaConfiguration": { "otaE2EFirmwarePath": "{{testData.sourcePath}}/relative-path-to/ota-image-generated-in-build-process", "otaPALCertificatePath": "/path/to/ota/pal/certificate/on/device", "deviceFirmwarePath" : "/path/to/firmware/image/name/on/device", "codeSigningConfiguration": { "signingMethod": "Amazon | Custom", "signerHashingAlgorithm": "SHA1 | SHA256", "signerSigningAlgorithm": "RSA | ECDSA", "signerCertificate": "arn:partition:service:region:account-id:resource:qualifier | /absolute-path-to/signer-certificate-file", "untrustedSignerCertificate": "arn:partition:service:region:account-id:resourcetype:resource:qualifier", "signerCertificateFileName": "signerCertificate-file-name", "compileSignerCertificate": true | false, // ***********Use signerPlatform if you choose Amazon for signingMethod*************** "signerPlatform": "AmazonFreeRTOS-Default | AmazonFreeRTOS-TI-CC3220SF" ] } }, ********** This section is used for PKCS #11 labels of private key, public key, device certificate, code verification key, JITP certificate, and root certificate. When configuring PKCS11, you set up labels and you must provide the labels of the device certificate, public key, and private key for the key generation type (EC or RSA) it was created with. If your device supports PKCS11 storage of JITP certificate, code verification key, and root certificate, set 'pkcs11JITPCodeVerifyRootCertSupport' to 'Yes' in device.json and provide the corresponding labels. ********** "pkcs11LabelConfiguration":{ "pkcs11LabelDevicePrivateKeyForTLS": "<device-private-key-label>", "pkcs11LabelDevicePublicKeyForTLS": "<device-public-key-label>", "pkcs11LabelDeviceCertificateForTLS": "<device-certificate-label>", "pkcs11LabelPreProvisionedECDevicePrivateKeyForTLS": "<preprovisioned-ec-device-private-key-label>", "pkcs11LabelPreProvisionedECDevicePublicKeyForTLS": "<preprovisioned-ec-device-public-key-label>", "pkcs11LabelPreProvisionedECDeviceCertificateForTLS": "<preprovisioned-ec-device-certificate-label>", "pkcs11LabelPreProvisionedRSADevicePrivateKeyForTLS": "<preprovisioned-rsa-device-private-key-label>", "pkcs11LabelPreProvisionedRSADevicePublicKeyForTLS": "<preprovisioned-rsa-device-public-key-label>", "pkcs11LabelPreProvisionedRSADeviceCertificateForTLS": "<preprovisioned-rsa-device-certificate-label>", "pkcs11LabelCodeVerifyKey": "<code-verification-key-label>", "pkcs11LabelJITPCertificate": "<JITP-certificate-label>", "pkcs11LabelRootCertificate": "<root-certificate-label>" } }

下面列出了在 userdata.json 中使用的属性:

sourcePath

移植的 FreeRTOS 源代码根目录的路径。

retainModifiedSourceDirectories

(可选)检查是否保留编译和刷新期间使用的修改后的源目录以用于调试目的。如果设置为true,则修改后的源目录名为 retainedSrc,可在每次测试组运行的结果日志文件夹中找到。如果不包括,则该字段默认为false

freeRTOSTestParamConfigPath

FreerTOS-Libraries集成测试集成的test_param_config.h文件路径。此文件必须使用{{testData.sourcePath}}占位符变量才能使其相对于源代码根目录。 Amazon IoT Device Tester使用此文件中的参数来配置测试。

freeRTOSTestExecutionConfigPath

FreerTOS-Libraries集成测试集成的test_execution_config.h文件路径。此文件必须使用{{testData.sourcePath}}占位符变量才能使其相对于存储库根目录。 Amazon IoT Device Tester使用此文件来控制必须运行哪些测试。

freeRTOSVersion

FreeRTOS 的版本,包括您的实现中使用的补丁版本。Amazon IoT Device Tester有关与 FreeRTOS 兼容的 FreeRTOS 版本,请参阅 FreeRTOS 支持Amazon IoT Device Tester的版本。

buildTool

用于生成源代码的命令。编译命令中对源代码路径的所有引用都必须由Amazon IoT Device Tester变量替换{{testData.sourcePath}}。使用{{config.idtRootPath}}占位符引用相对于Amazon IoT Device Tester根路径的生成脚本。

flashTool

将图像闪存到设备上的命令。flash 命令中对源代码路径的所有引用都必须替换为Amazon IoT Device Tester变量{{testData.sourcePath}}。使用{{config.idtRootPath}}占位符引用相对于Amazon IoT Device Tester根路径的 Flash 脚本。

注意

FRQ 2.0 的新集成测试结构不需要{{enableTests}}和等路径变量{{buildImageName}}。OTA 端到端测试是使用 FreerTOS-Libraries-Integration-Te sts GitHub 存储库中提供的配置模板运行的。如果 GitHub 存储库中的文件存在于您的父源项目中,则源代码在测试之间不会更改。如果需要不同的 OTA 端到端构建映像,则必须在构建脚本中构建此映像,并在下指定的userdata.json文件中指定该映像otaConfiguration

testStartDelayms

指定 FreeRTOS 测试运行器在开始运行测试之前将等待多少毫秒。如果由于网络或其他延迟问题,被测设备在 IDT 有机会连接并开始记录之前就开始输出重要的测试信息,这可能很有用。此值仅适用于 FreeRTOS 测试组,不适用于不使用 FreeRTOS 测试运行器的其他测试组,例如 OTA 测试。如果您收到与预期 10 相关的错误但收到了 5,则此字段应设置为 5000。

echoServerConfiguration

为 TLS 测试设置 echo 服务器的配置。此字段为必填。

keyGenerationMethod

echo 服务器配置了此选项。选项是 EC 或 RSA。

serverPort

Echo 服务器运行回声服务器的端口号。

otaConfiguration

OTA PAL 和 OTA E2E 测试的配置。此字段为必填。

otaE2EFirmwarePath

IDT 用于 OTA 端到端测试的 OTA bin 映像的路径。

otaPALCertificatePath

在设备上进行 OTA PAL 测试的证书路径。这用于验证签名。例如,ecdsa-sha256-signer.crt.pem

deviceFirmwarePath

要启动的固件映像的硬编码名称的路径。如果您的设备不使用文件系统进行固件启动,请将此字段指定为'NA'。如果您的设备使用文件系统进行固件启动,请指定固件启动映像的路径或名称。

codeSigningConfiguration
signingMethod

代码签名方法。可能的值是Amazon或自定义。

注意

对于北京和宁夏区域,使用自定义。 Amazon该区域不支持代码签名。

signerHashingAlgorithm

设备所支持的哈希算法。可能的值为 SHA1SHA256

signerSigningAlgorithm

设备所支持的签名算法。可能的值为 RSAECDSA

signerCertificate

用于 OTA 的可信证书。对于Amazon代码签名方法,使用Amazon 资源名称 (ARN) 作为上传到Certificate Manager 的可信Amazon证书。对于自定义代码签名方法,请使用签名者证书文件的绝对路径。有关创建可信证书的信息,请参阅创建代码签名证书

untrustedSignerCertificate

某些 OTA 测试中用作不可信证书的第二个证书的 ARN 或文件路径。有关创建证书的信息,请参阅创建代码签名证书

signerCertificateFileName

设备上代码签名证书的文件名。此值必须与您在运行aws acm import-certificate命令时提供的文件名相匹配。

compileSignerCertificate

决定签名验证证书状态的布尔值。有效值为 truefalse

如果未配置或刷新代码签名者签名验证证书,则将此值设置为 true。必须将其编译到项目中。 Amazon IoT Device Tester获取可信证书并将其编译成aws_codesigner_certificate.h

signerPlatform

Amazon Code Signer 在创建 OTA 更新作业时使用的签名和哈希算法。目前,此字段的可能值为 AmazonFreeRTOS-TI-CC3220SFAmazonFreeRTOS-Default

  • 如果为 SHA1RSA,则选择 AmazonFreeRTOS-TI-CC3220SF

  • 如果为 SHA256ECDSA,则选择 AmazonFreeRTOS-Default

  • 如果您的配置需要 SHA256 | RSASHA1 | ECDSA,请与我们联系以获取进一步的支持。

  • 如果您为 signingMethod 选择 Custom,则配置 signCommand

signCommand

命令中需要两个占位符 {{inputImageFilePath}}{{outputSignatureFilePath}}{{inputImageFilePath}} 是要签名的由 IDT 构建的映像的文件路径。{{outputSignatureFilePath}} 是将由脚本生成的签名的文件路径。

pkcs11LabelConfiguration

PKCS11 标签配置需要至少一组设备证书标签、公钥标签和私钥标签的标签才能运行 PKCS11 测试组。所需的 PKCS11 标签基于您在device.json文件中的设备配置。如果将预置备设置为 “是”device.json,则所需的标签必须是以下任一标签,具体取决于为 PKCS11 功能选择的内容。

  • PreProvisionedEC

  • PreProvisionedRSA

如果将预置配置设置为 “device.json,则所需的标签为:

  • pkcs11LabelDevicePrivateKeyForTLS

  • pkcs11LabelDevicePublicKeyForTLS

  • pkcs11LabelDeviceCertificateForTLS

只有在device.json文件pkcs11JITPCodeVerifyRootCertSupport中选择 “” 时,才需要以下三个标签。

  • pkcs11LabelCodeVerifyKey

  • pkcs11LabelRootCertificate

  • pkcs11LabelJITPCertificate

这些字段的值应与 FreeRTOS 移植指南中定义的值相匹配。

pkcs11LabelDevicePrivateKeyForTLS

(可选)此标签用于私钥的 PKCS #11 标签。对于支持机载和导入密钥配置的设备,此标签用于测试。此标签可能不同于为预先配置的案例定义的标签。如果您将密钥配置设置为 “”,并将预置备设置为 “是”,则此项将处于device.json未定义状态。

pkcs11LabelDevicePublicKeyForTLS

(可选)此标签用于公钥的 PKCS #11 标签。对于支持机载和导入密钥配置的设备,此标签用于测试。此标签可能不同于为预先配置的案例定义的标签。如果您将密钥配置设置为 “”,并将预置备设置为 “是”,则此项将处于device.json未定义状态。

pkcs11LabelDeviceCertificateForTLS

(可选)此标签用于设备证书的 PKCS #11 标签。对于支持机载和导入密钥配置的设备,此标签将用于测试。此标签可能不同于为预先配置的案例定义的标签。如果您将密钥配置设置为 “”,并将预置备设置为 “是”,则此项将处于device.json未定义状态。

pkcs11LabelPreProvisionedECDevicePrivateKeyForTLS

(可选)此标签用于私钥的 PKCS #11 标签。对于具有安全元素或硬件限制的设备,这将使用不同的标签来保留Amazon IoT凭据。如果您的设备支持使用 EC 密钥进行预配置,请提供此标签。当 preProvisioned 设置为 “是”pkcs11LabelPreProvisionedRSADevicePrivateKeyForTLS,必须提供此标签或同时提供这两个标签。device.json此标签可能不同于为机上和进口案例定义的标签。

pkcs11LabelPreProvisionedECDevicePublicKeyForTLS

(可选)此标签用于公钥的 PKCS #11 标签。对于具有安全元素或硬件限制的设备,这将使用不同的标签来保留Amazon IoT凭据。如果您的设备支持使用 EC 密钥进行预配置,请提供此标签。当 preProvisioned 设置为 “是”pkcs11LabelPreProvisionedRSADevicePublicKeyForTLS,必须提供此标签或同时提供这两个标签。device.json此标签可能不同于为机上和进口案例定义的标签。

pkcs11LabelPreProvisionedECDeviceCertificateForTLS

(可选)此标签用于设备证书的 PKCS #11 标签。对于具有安全元素或硬件限制的设备,这将使用不同的标签来保留Amazon IoT凭据。如果您的设备支持使用 EC 密钥进行预配置,请提供此标签。当 preProvisioned 设置为 “是”pkcs11LabelPreProvisionedRSADeviceCertificateForTLS,必须提供此标签或同时提供这两个标签。device.json此标签可能不同于为机上和进口案例定义的标签。

pkcs11LabelPreProvisionedRSADevicePrivateKeyForTLS

(可选)此标签用于私钥的 PKCS #11 标签。对于具有安全元素或硬件限制的设备,这将使用不同的标签来保留Amazon IoT凭据。如果您的设备支持使用 RSA 密钥进行预配置,请提供此标签。当 preProvisioned 设置为 “是”pkcs11LabelPreProvisionedECDevicePrivateKeyForTLS,必须提供此标签或同时提供这两个标签。device.json

pkcs11LabelPreProvisionedRSADevicePublicKeyForTLS

(可选)此标签用于公钥的 PKCS #11 标签。对于具有安全元素或硬件限制的设备,这将使用不同的标签来保留Amazon IoT凭据。如果您的设备支持使用 RSA 密钥进行预配置,请提供此标签。当 preProvisioned 设置为 “是”pkcs11LabelPreProvisionedECDevicePublicKeyForTLS,必须提供此标签或同时提供这两个标签。device.json

pkcs11LabelPreProvisionedRSADeviceCertificateForTLS

(可选)此标签用于设备证书的 PKCS #11 标签。对于具有安全元素或硬件限制的设备,这将使用不同的标签来保留Amazon IoT凭据。如果您的设备支持使用 RSA 密钥进行预配置,请提供此标签。当 preProvisioned 设置为 “是”pkcs11LabelPreProvisionedECDeviceCertificateForTLS,必须提供此标签或同时提供这两个标签。device.json

pkcs11LabelCodeVerifyKey

(可选)此标签用于代码验证密钥的 PKCS #11 标签。如果您的设备支持 JITP 证书、代码验证密钥和根证书的 PKCS #11 存储,请提供此标签。当pkcs11JITPCodeVerifyRootCertSupportdevice.json in 设置为 “是” 时,必须提供此标签。

pkcs11LabelJITPCertificate

(可选)此标签用于 JITP 证书的 PKCS #11 标签。如果您的设备支持 JITP 证书、代码验证密钥和根证书的 PKCS #11 存储,请提供此标签。当pkcs11JITPCodeVerifyRootCertSupportdevice.json in 设置为 “是” 时,必须提供此标签。

FreeRTOS 变量的 IDT

生成代码和刷新设备的命令可能需要连接或有关设备的其他信息才能成功运行。 Amazon IoT Device Tester允许您在 Flash 中引用设备信息并使用生成命令JsonPath。通过使用简单的 JsonPath表达式,您可以获取device.json文件中指定的必需信息。

路径变量

FreeTOS 的 IDT 定义以下可以在命令行和配置文件中使用的路径变量:

{{testData.sourcePath}}

扩展到到源代码路径。如果使用该变量,则必须在刷写和构建命令中使用该变量。

{{device.connectivity.serialPort}}

扩展到串行端口。

{{device.identifiers[?(@.name == 'serialNo')].value[0]}}

扩展到您设备的序列号。

{{config.idtRootPath}}

扩展到Amazon IoT Device Tester根路径。