As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.
Configuração de parâmetros para testar dispositivos
As configurações de compilação, atualização e teste são feitas no arquivo configs/userdata.json
. Oferecemos suporte à configuração do servidor echo carregando os certificados e chaves do cliente e do servidor no customPath
. Para obter mais informações, consulte Configurando um servidor de eco no Guia de RTOS portabilidade gratuita. O JSON exemplo a seguir mostra como você pode configurar IDT o Free RTOS para testar vários dispositivos:
{
"sourcePath": "/absolute-path-to/freertos
",
"vendorPath": "{{testData.sourcePath}}/vendors/vendor-name
/boards/board-name
",
// ***********The sdkConfiguration block below is needed if you are not using the default, unmodified FreeRTOS repo.
// In other words, if you are using the default, unmodified FreeRTOS repo then remove this block***************
"sdkConfiguration": {
"name": "sdk-name
",
"version": "sdk-version
",
"path": "/absolute-path-to/sdk
"
},
"buildTool": {
"name": "your-build-tool-name
",
"version": "your-build-tool-version
",
"command": [
"{{config.idtRootPath}}/relative-path-to/build-parallel.sh
{{testData.sourcePath}} {{enableTests}}"
]
},
"flashTool": {
"name": "your-flash-tool-name
",
"version": "your-flash-tool-version
",
"command": [
"/{{config.idtRootPath}}/relative-path-to/flash-parallel.sh
{{testData.sourcePath}} {{device.connectivity.serialPort}} {{buildImageName}}"
],
"buildImageInfo" : {
"testsImageName": "tests-image-name
",
"demosImageName": "demos-image-name
"
}
},
"testStartDelayms": 0,
"clientWifiConfig": {
"wifiSSID": "ssid
",
"wifiPassword": "password
",
"wifiSecurityType": "eWiFiSecurityOpen | eWiFiSecurityWEP | eWiFiSecurityWPA | eWiFiSecurityWPA2 | eWiFiSecurityWPA3"
},
"testWifiConfig": {
"wifiSSID": "ssid
",
"wifiPassword": "password
",
"wifiSecurityType": "eWiFiSecurityOpen | eWiFiSecurityWEP | eWiFiSecurityWPA | eWiFiSecurityWPA2 | eWiFiSecurityWPA3"
},
//**********
//This section is used to start echo server based on server certificate generation method,
//When certificateGenerationMethod is set as Automatic specify the eccCurveFormat to generate certifcate and key based on curve format,
//When certificateGenerationMethod is set as Custom specify the certificatePath and PrivateKeyPath to be used to start echo server
//**********
"echoServerCertificateConfiguration": {
"certificateGenerationMethod": "Automatic | Custom",
"customPath": {
"clientCertificatePath":"/path/to/clientCertificate
",
"clientPrivateKeyPath": "/path/to/clientPrivateKey
",
"serverCertificatePath":"/path/to/serverCertificate
",
"serverPrivateKeyPath": "/path/to/serverPrivateKey
"
},
"eccCurveFormat": "P224 | P256 | P384 | P521"
},
"echoServerConfiguration": {
"securePortForSecureSocket": 33333
, // Secure tcp port used by SecureSocket test. Default value is 33333. Ensure that the port configured isn't blocked by the firewall or your corporate network
"insecurePortForSecureSocket": 33334
, // Insecure tcp port used by SecureSocket test. Default value is 33334. Ensure that the port configured isn't blocked by the firewall or your corporate network
"insecurePortForWiFi": 33335
// Insecure tcp port used by Wi-Fi test. Default value is 33335. Ensure that the port configured isn't blocked by the firewall or your corporate network
},
"otaConfiguration": {
"otaFirmwareFilePath": "{{testData.sourcePath}}/relative-path-to/ota-image-generated-in-build-process
",
"deviceFirmwareFileName": "ota-image-name-on-device
",
"otaDemoConfigFilePath": "{{testData.sourcePath}}/relative-path-to/ota-demo-config-header-file
",
"codeSigningConfiguration": {
"signingMethod": "AWS | Custom",
"signerHashingAlgorithm": "SHA1 | SHA256",
"signerSigningAlgorithm": "RSA | ECDSA",
"signerCertificate": "arn:partition
:service
:region
:account-id
:resource
:qualifier
| /absolute-path-to/signer-certificate-file
",
"signerCertificateFileName": "signerCertificate-file-name
",
"compileSignerCertificate": boolean,
// ***********Use signerPlatform if you choose aws for signingMethod***************
"signerPlatform": "AmazonFreeRTOS-Default | AmazonFreeRTOS-TI-CC3220SF",
"untrustedSignerCertificate": "arn:partition
:service
:region
:account-id
:resourcetype
:resource
:qualifier
",
// ***********Use signCommand if you choose custom for signingMethod***************
"signCommand": [
"/absolute-path-to
/sign.sh {{inputImageFilePath}} {{outputSignatureFilePath}}"
]
}
},
// ***********Remove the section below if you're not configuring CMake***************
"cmakeConfiguration": {
"boardName": "board-name
",
"vendorName": "vendor-name
",
"compilerName": "compiler-name
",
"frToolchainPath": "/path/to/freertos/toolchain
",
"cmakeToolchainPath": "/path/to/cmake/toolchain
"
},
"freertosFileConfiguration": {
"required": [
{
"configName": "pkcs11Config",
"filePath": "{{testData.sourcePath}}/vendors/vendor-name
/boards/board-name
/aws_tests/config_files/core_pkcs11_config.h"
},
{
"configName": "pkcs11TestConfig",
"filePath": "{{testData.sourcePath}}/vendors/vendor-name
/boards/board-name
/aws_tests/config_files/iot_test_pkcs11_config.h"
}
],
"optional": [
{
"configName": "otaAgentTestsConfig",
"filePath": "{{testData.sourcePath}}/vendors/vendor-name
/boards/board-name
/aws_tests/config_files/ota_config.h"
},
{
"configName": "otaAgentDemosConfig",
"filePath": "{{testData.sourcePath}}/vendors/vendor-name
/boards/board-name
/aws_demos/config_files/ota_config.h"
},
{
"configName": "otaDemosConfig",
"filePath": "{{testData.sourcePath}}/vendors/vendor-name
/boards/board-name
/aws_demos/config_files/ota_demo_config.h"
}
]
}
}
Veja a seguir uma lista dos recursos usados no userdata.json
:
sourcePath
-
O caminho para a raiz do RTOS código-fonte livre portado. Para testes paralelos com umSDK, eles
sourcePath
podem ser configurados usando o{{userData.sdkConfiguration.path}}
espaço reservado. Por exemplo:{ "sourcePath":"{{userData.sdkConfiguration.path}}/
freertos
" } vendorPath
-
O caminho para o RTOS código gratuito específico do fornecedor. Para testes em série, o
vendorPath
pode ser definido como um caminho absoluto. Por exemplo:{ "vendorPath":"C:/
path-to-freertos
/vendors/espressif/boards/esp32
" }Para testes paralelos, o
vendorPath
pode ser definido usando o espaço reservado{{testData.sourcePath}}
. Por exemplo:{ "vendorPath":"{{testData.sourcePath}}/vendors/espressif/boards/esp32" }
A
vendorPath
variável só é necessária quando executada sem umSDK, caso contrário, ela pode ser removida.nota
Ao executar testes em paralelo sem umSDK, o
{{testData.sourcePath}}
espaço reservado deve ser usado nosflashTool
camposvendorPath
,buildTool
,. o executar o teste com um único dispositivo, caminhos absolutos devem ser usados nos camposvendorPath
,buildTool
eflashTool
. Ao executar com umSDK, o{{sdkPath}}
espaço reservado deve ser usado nosflashTool
comandossourcePath
buildTool
, e. sdkConfiguration
-
Se você estiver qualificado como Gratuito RTOS com quaisquer modificações nos arquivos e na estrutura de pastas além do necessário para a portabilidade, você precisará configurar suas SDK informações neste bloco. Se você não está qualificado com um Free portado RTOS dentro de umSDK, você deve omitir totalmente esse bloco.
sdkConfiguration.name
-
O nome do SDK que você está usando com o FreeRTOS. Se você não estiver usando umSDK, o
sdkConfiguration
bloco inteiro deverá ser omitido. sdkConfiguration.version
-
A versão do SDK que você está usando com o FreeRTOS. Se você não estiver usando umSDK, o
sdkConfiguration
bloco inteiro deverá ser omitido. sdkConfiguration.path
-
O caminho absoluto para seu SDK diretório que contém seu RTOS código livre. Se você não estiver usando umSDK, o
sdkConfiguration
bloco inteiro deverá ser omitido.
buildTool
-
O caminho completo para o script de compilação (.bat ou .sh) que contém os comandos para compilar seu código-fonte. Todas as referências ao caminho do código-fonte no comando build devem ser substituídas pela AWS IoT Device Tester variável
{{testdata.sourcePath}}
e as referências ao SDK caminho devem ser substituídas por{{sdkPath}}
. Use o{{config.idtRootPath}}
espaço reservado para referenciar o IDT caminho absoluto ou relativo. testStartDelayms
-
Especifica quantos milissegundos o executor de RTOS teste gratuito esperará antes de começar a executar os testes. Isso pode ser útil se o dispositivo em teste começar a emitir informações de teste importantes antes IDT de ter a chance de se conectar e iniciar o registro devido à rede ou outra latência. O valor máximo permitido é 30.000 ms (30 segundos). Esse valor é aplicável somente aos grupos de RTOS teste gratuitos, e não aplicável a outros grupos de teste que não utilizam o executor de testes gratuitosRTOS, como os OTA testes.
flashTool
-
O caminho completo para o script de atualização (.sh ou .bat) que contém os comandos de atualização para o dispositivo. Todas as referências ao caminho do código-fonte no comando f.ash devem ser substituídas pela RTOS variável IDT for Free
{{testdata.sourcePath}}
e todas as referências ao seu SDK caminho devem ser substituídas pela RTOS variável IDT for Free{{sdkPath}}
. Use o{{config.idtRootPath}}
espaço reservado para referenciar o caminho absoluto ou relativo. IDTbuildImageInfo
-
testsImageName
-
O nome do arquivo produzido pelo comando de compilação ao compilar testes da pasta
.freertos-source
/tests demosImageName
-
O nome do arquivo produzido pelo comando de compilação ao compilar testes da pasta
.freertos-source
/demos
clientWifiConfig
-
Configuração do Wi-Fi do cliente. Os testes da biblioteca Wi-Fi exigem que uma MCU placa se conecte a dois pontos de acesso. (Os dois pontos de acesso podem ser os mesmos.) Este atributo define as configurações de Wi-Fi para o primeiro ponto de acesso. Alguns dos casos de teste de Wi-Fi esperam que o ponto de acesso tenha algum recurso de segurança e que não esteja aberto. Verifique se os dois pontos de acesso estão na mesma sub-rede do computador host em execuçãoIDT.
wifi_ssid
-
O Wi-FiSSID.
wifi_password
-
A senha do Wi-Fi.
wifiSecurityType
-
O tipo de segurança do Wi-Fi utilizada. Um dos valores:
-
eWiFiSecurityOpen
-
eWiFiSecurityWEP
-
eWiFiSecurityWPA
-
eWiFiSecurityWPA2
-
eWiFiSecurityWPA3
-
nota
Se a placa não for compatível com Wi-Fi, você ainda deverá incluir a seção
clientWifiConfig
no arquivodevice.json
, mas poderá omitir os valores desses recursos. testWifiConfig
-
Configuração de teste do Wi-Fi. Os testes da biblioteca Wi-Fi exigem que uma MCU placa se conecte a dois pontos de acesso. (Os dois pontos de acesso podem ser os mesmos.) Esse atributo define a configuração do Wi-Fi para o segundo ponto de acesso. Alguns dos casos de teste de Wi-Fi esperam que o ponto de acesso tenha algum recurso de segurança e que não esteja aberto. Verifique se os dois pontos de acesso estão na mesma sub-rede do computador host em execuçãoIDT.
wifiSSID
-
O Wi-FiSSID.
wifiPassword
-
A senha do Wi-Fi.
wifiSecurityType
-
O tipo de segurança do Wi-Fi utilizada. Um dos valores:
-
eWiFiSecurityOpen
-
eWiFiSecurityWEP
-
eWiFiSecurityWPA
-
eWiFiSecurityWPA2
-
eWiFiSecurityWPA3
-
nota
Se a placa não for compatível com Wi-Fi, você ainda deverá incluir a seção
testWifiConfig
no arquivodevice.json
, mas poderá omitir os valores desses recursos. echoServerCertificateConfiguration
-
O espaço reservado configurável de geração de certificados do servidor echo para testes de SSL. Este campo é obrigatório.
certificateGenerationMethod
-
Especifica se o certificado do servidor é gerado automaticamente ou fornecido manualmente.
customPath
-
Se o
certificateGenerationMethod
for "personalizado",certificatePath
eprivateKeyPath
são obrigatórios.certificatePath
-
Especifica o caminho do arquivo do certificado do servidor.
privateKeyPath
-
Especifica o caminho do arquivo da chave privada.
eccCurveFormat
-
Especifica o formato de curva compatível com a placa. Obrigatório quando
PKCS11
estiver definido como "ecc" emdevice.json
. Os valores válidos são "P224", "P256", "P384" ou "P521".
echoServerConfiguration
-
As portas configuráveis do servidor de eco para WiFi testes de soquetes seguros. Esse campo é opcional.
securePortForSecureSocket
-
A porta usada para configurar um servidor de eco TLS para o teste de soquetes seguros. O valor padrão é 33333. Verifique se a porta configurada não está bloqueada por um firewall ou pela rede corporativa.
insecurePortForSecureSocket
-
A porta que é usada para configurar o servidor de eco sem o teste TLS de soquetes seguros. O valor padrão usado no teste é 33334. Verifique se a porta configurada não está bloqueada por um firewall ou pela rede corporativa.
insecurePortForWiFi
-
A porta que é usada para configurar o servidor de eco sem TLS WiFi teste. O valor padrão usado no teste é 33335. Verifique se a porta configurada não está bloqueada por um firewall ou pela rede corporativa.
otaConfiguration
-
A OTA configuração. [Opcional]
otaFirmwareFilePath
-
O caminho completo para a OTA imagem criada após a construção. Por exemplo,
{{testData.sourcePath}}/
.relative-path/to/ota/image/from/source/root
deviceFirmwareFileName
-
O caminho completo do arquivo no MCU dispositivo em que o OTA firmware está localizado. Alguns dispositivos não usam esse campo, mas você ainda deve fornecer um valor.
otaDemoConfigFilePath
-
O caminho completo para
aws_demo_config.h
, encontrado em
. Esses arquivos estão incluídos no modelo de código de portabilidade fornecido pelo FreeRTOS.afr-source
/vendors/vendor/boards/board/aws_demos/config_files/ codeSigningConfiguration
-
A configuração de assinatura de código.
signingMethod
-
O método de assinatura de código. Os valores possíveis são
AWS
ouCustom
.nota
Nas regiões de Pequim e Ningxia, use
Custom
. Não há compatibilidade para a assinatura de código daAWS
nessas regiões. signerHashingAlgorithm
-
O algoritmo de hash ao qual o dispositivo oferece suporte. Os valores possíveis são
SHA1
ouSHA256
. signerSigningAlgorithm
-
O algoritmo de assinatura ao qual o dispositivo oferece suporte. Os valores possíveis são
RSA
ouECDSA
. signerCertificate
-
O certificado confiável usado paraOTA.
Para o método de assinatura de AWS código, use o Amazon Resource Name (ARN) para o certificado confiável enviado para AWS Certificate Manager o.
Para o método de assinatura de código personalizado, use o caminho absoluto para o arquivo de certificado do assinante.
Para obter mais informações sobre como criar um certificado confiável, consulte Criação de um certificado de assinatura de código.
signerCertificateFileName
-
O nome do arquivo do certificado de assinatura de código no dispositivo. Esse valor deve corresponder ao nome do arquivo que você forneceu ao executar o comando
aws acm import-certificate
.Para obter mais informações, consulte Criação de um certificado de assinatura de código.
compileSignerCertificate
-
Defina como
true
se o certificado de verificação de assinatura do signatário do código não for provisionado ou atualizado, então ele deve ser compilado no projeto. AWS IoT Device Tester busca o certificado confiável e o compila em.aws_codesigner_certifiate.h
untrustedSignerCertificate
-
O caminho de arquivo ARN ou para um segundo certificado usado em alguns OTA testes como um certificado não confiável. Para obter mais informações sobre como criar um certificado, consulte Criar um certificado de assinatura de código.
signerPlatform
-
O algoritmo de assinatura e hashing que o AWS Code Signer usa ao criar o trabalho de OTA atualização. Atualmente, os valores possíveis para este campo são
AmazonFreeRTOS-TI-CC3220SF
eAmazonFreeRTOS-Default
.-
Escolha
AmazonFreeRTOS-TI-CC3220SF
seSHA1
eRSA
. -
Escolha
AmazonFreeRTOS-Default
seSHA256
eECDSA
.
Se você precisar de
SHA256
|RSA
ouSHA1
|ECDSA
para sua configuração, entre em contato conosco para obter mais suporte.Configure
signCommand
se você escolheuCustom
parasigningMethod
. -
signCommand
-
O comando usado para executar a assinatura de código personalizado. É possível encontrar o modelo no diretório
/configs/script_templates
.Dois espaços reservados
{{inputImageFilePath}}
e{{outputSignatureFilePath}}
são obrigatórios no comando.{{inputImageFilePath}}
é o caminho do arquivo da imagem criada por IDT to be signed.{{outputSignatureFilePath}}
é o caminho do arquivo da assinatura que será gerado pelo script.
cmakeConfiguration
-
CMakeconfiguração [Opcional]
nota
Para executar casos de CMake teste, você deve fornecer o nome da placa, o nome do fornecedor e o
frToolchainPath
oucompilerName
. Você também pode fornecer ocmakeToolchainPath
se tiver um caminho personalizado para o CMake conjunto de ferramentas.boardName
-
O nome da placa em teste. O nome do painel deve ser o mesmo que o nome da pasta em
.path/to/afr/source/code
/vendors/vendor
/boards/board
vendorName
-
O nome do fornecedor para a placa em teste. O fornecedor deve ser o mesmo que o nome da pasta em
.path/to/afr/source/code
/vendors/vendor
compilerName
-
O nome do compilador.
frToolchainPath
-
O caminho totalmente qualificado para o conjunto de ferramentas do compilador
cmakeToolchainPath
-
O caminho totalmente qualificado para a cadeia de ferramentas. CMake Este campo é opcional
freertosFileConfiguration
-
A configuração dos RTOS arquivos gratuitos que são IDT modificados antes da execução dos testes.
required
-
Esta seção especifica os testes necessários cujos arquivos de configuração você moveu, por exemplo,, PKCS11TLS, e assim por diante.
configName
-
O nome do teste que é configurado.
filePath
-
O caminho absoluto para os arquivos de configuração no repositório
. Use a variávelfreertos
{{testData.sourcePath}}
para definir o caminho.
optional
-
Esta seção especifica testes opcionais cujos arquivos de configuração você moveu, por exemplo OTA WiFi, e assim por diante.
configName
-
O nome do teste que é configurado.
filePath
-
O caminho absoluto para os arquivos de configuração no repositório
. Use a variávelfreertos
{{testData.sourcePath}}
para definir o caminho.
nota
Para executar casos de CMake teste, você deve fornecer o nome da placa, o nome do fornecedor e o afrToolchainPath
oucompilerName
. Você também pode fornecer cmakeToolchainPath
se você tem um caminho personalizado para o CMake conjunto de ferramentas.