Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.
Configurar ajustes para probar dispositivos
Los ajustes de compilación, instalación y prueba se realizan en el archivo configs/userdata.json
. Se admite la configuración del servidor Echo cargando los certificados y las claves del cliente y del servidor en customPath
. Para obtener más información, consulte Configuración de un servidor echo en la Guía de RTOS portabilidad gratuita. El siguiente JSON ejemplo muestra cómo se puede configurar de forma gratuita IDT RTOS para probar varios 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"
}
]
}
}
A continuación se indican los atributos usados en userdata.json
:
sourcePath
-
La ruta a la raíz del código RTOS fuente gratuito portado. Para realizar pruebas en paralelo con unSDK, se
sourcePath
puede configurar con el marcador de{{userData.sdkConfiguration.path}}
posición. Por ejemplo:{ "sourcePath":"{{userData.sdkConfiguration.path}}/
freertos
" } vendorPath
-
La ruta al RTOS código gratuito específico del proveedor. Para las pruebas en serie,
vendorPath
se puede establecer como una ruta absoluta. Por ejemplo:{ "vendorPath":"C:/
path-to-freertos
/vendors/espressif/boards/esp32
" }Para las pruebas en paralelo,
vendorPath
se puede establecer mediante el marcador{{testData.sourcePath}}
. Por ejemplo:{ "vendorPath":"{{testData.sourcePath}}/vendors/espressif/boards/esp32" }
La
vendorPath
variable solo es necesaria cuando se ejecuta sin una; de lo contrarioSDK, se puede eliminar.nota
Al ejecutar pruebas en paralelo sin unSDK, el
{{testData.sourcePath}}
marcador de posición debe usarse en losflashTool
camposvendorPath
,buildTool
,. Al ejecutar la prueba con un solo dispositivo, las rutas absolutas se deben utilizar en los camposvendorPath
,buildTool
yflashTool
. Cuando se ejecuta con unSDK, el{{sdkPath}}
marcador de posición debe usarse en los comandossourcePath
buildTool
, yflashTool
. sdkConfiguration
-
Si optas por la versión gratuita RTOS con modificaciones en la estructura de archivos y carpetas más allá de lo necesario para la portabilidad, tendrás que configurar tu SDK información en este bloque. Si no cumples los requisitos con una versión gratuita portada RTOS dentro de una SDK versión, deberías omitir este bloque por completo.
sdkConfiguration.name
-
El nombre del SDK que estás usando con FreeRTOS. Si no estás usando unSDK, debes omitir todo el
sdkConfiguration
bloque. sdkConfiguration.version
-
La versión de la SDK que estás usando con FreeRTOS. Si no estás usando unaSDK, debes omitir todo el
sdkConfiguration
bloque. sdkConfiguration.path
-
La ruta absoluta al SDK directorio que contiene el RTOS código libre. Si no utilizas unSDK, debes omitir todo el
sdkConfiguration
bloque.
buildTool
-
La ruta completa a su script de compilación (.bat o .sh) que contiene los comandos para compilar el código fuente. Todas las referencias a la ruta del código fuente en el comando build deben reemplazarse por la AWS IoT Device Tester variable
{{testdata.sourcePath}}
y las referencias a la SDK ruta deben reemplazarse por{{sdkPath}}
. Usa el{{config.idtRootPath}}
marcador de posición para hacer referencia a la IDT ruta absoluta o relativa. testStartDelayms
-
Especifica cuántos milisegundos esperará el ejecutor de RTOS pruebas gratuito antes de empezar a ejecutar las pruebas. Esto puede resultar útil si el dispositivo que se está probando comienza a generar información importante sobre la prueba antes IDT de poder conectarse y empezar a registrar datos debido a una latencia de red o de otro tipo. El valor máximo permitido es de 30 000 ms (30 segundos). Este valor se aplica únicamente a los grupos de RTOS prueba gratuitos y no a otros grupos de pruebas que no utilizan el programa de RTOS pruebas gratuito, como los grupos de OTA pruebas.
flashTool
-
Ruta completa a su script de flash (.sh o .bat) que contiene los comandos flash para su dispositivo. Todas las referencias a la ruta del código fuente en el comando flash deben sustituirse por la RTOS variable IDT for Free
{{testdata.sourcePath}}
y todas las referencias a la SDK ruta deben sustituirse por la RTOS variable IDT for Free{{sdkPath}}
. Utilice el{{config.idtRootPath}}
marcador de posición para hacer referencia a la ruta absoluta o relativa. IDTbuildImageInfo
-
testsImageName
-
El nombre del archivo creado por el comando de compilación al compilar pruebas desde la carpeta
.freertos-source
/tests demosImageName
-
El nombre del archivo creado por el comando de compilación al compilar pruebas desde la carpeta
.freertos-source
/demos
clientWifiConfig
-
La configuración de wifi del cliente. Las pruebas de la biblioteca Wi-Fi requieren que una MCU placa se conecte a dos puntos de acceso. (Los dos puntos de acceso pueden ser los mismos). Este atributo configura los ajustes de Wi-Fi para el primer punto de acceso. Algunos de los casos de prueba Wi-Fi esperan que el punto de acceso tenga cierto nivel de seguridad y que no estén abiertos. Asegúrese de que ambos puntos de acceso estén en la misma subred que la computadora host en ejecuciónIDT.
wifi_ssid
-
El Wi-FiSSID.
wifi_password
-
La contraseña de wifi.
wifiSecurityType
-
El tipo de seguridad wifi utilizada. Uno de los valores:
-
eWiFiSecurityOpen
-
eWiFiSecurityWEP
-
eWiFiSecurityWPA
-
eWiFiSecurityWPA2
-
eWiFiSecurityWPA3
-
nota
Si la placa no es compatible con wifi, debe volver a incluir la sección
clientWifiConfig
en el archivodevice.json
, pero puede omitir los valores de estos atributos. testWifiConfig
-
La configuración de wifi de prueba. Las pruebas de la biblioteca Wi-Fi requieren que una MCU placa se conecte a dos puntos de acceso. (Los dos puntos de acceso pueden ser los mismos). Este atributo configura los ajustes de wifi para el segundo punto de acceso. Algunos de los casos de prueba Wi-Fi esperan que el punto de acceso tenga cierto nivel de seguridad y que no estén abiertos. Asegúrese de que ambos puntos de acceso estén en la misma subred que la computadora host en ejecuciónIDT.
wifiSSID
-
El Wi-FiSSID.
wifiPassword
-
La contraseña de wifi.
wifiSecurityType
-
El tipo de seguridad wifi utilizada. Uno de los valores:
-
eWiFiSecurityOpen
-
eWiFiSecurityWEP
-
eWiFiSecurityWPA
-
eWiFiSecurityWPA2
-
eWiFiSecurityWPA3
-
nota
Si la placa no es compatible con wifi, debe volver a incluir la sección
testWifiConfig
en el archivodevice.json
, pero puede omitir los valores de estos atributos. echoServerCertificateConfiguration
-
El marcador de posición configurable para la generación de certificados del servidor echo para realizar pruebas de conexiones seguras. Este campo es obligatorio.
certificateGenerationMethod
-
Especifica si el certificado del servidor se genera automáticamente o se proporciona manualmente.
customPath
-
Si
certificateGenerationMethod
es “Personalizado”,certificatePath
yprivateKeyPath
son obligatorios.certificatePath
-
Especifica la ruta de archivo del certificado del servidor.
privateKeyPath
-
Especifica la ruta del archivo de la clave privada.
eccCurveFormat
-
Especifica el formato de curva que admite la placa. Es necesario si
PKCS11
se ha establecido en “ecc” endevice.json
. Los valores válidos son “P224”, “P256”, “P384” o “P521”.
echoServerConfiguration
-
Los puertos configurables del servidor echo para WiFi las pruebas y los sockets seguros. Este campo es opcional.
securePortForSecureSocket
-
El puerto que se utiliza para configurar un servidor Echo TLS para la prueba de los sockets seguros. El valor predeterminado es 33333. Asegúrese de que el puerto configurado no esté bloqueado por un firewall o por la red de la empresa.
insecurePortForSecureSocket
-
El puerto que se utiliza para configurar el echo server sin TLS necesidad de realizar la prueba de sockets seguros. El valor predeterminado que se ha utilizado en la prueba es 33334. Asegúrese de que el puerto configurado no esté bloqueado por un firewall o por la red de la empresa.
insecurePortForWiFi
-
El puerto que se utiliza para configurar el servidor echo sin TLS WiFi pruebas. El valor predeterminado que se ha utilizado en la prueba es 33335. Asegúrese de que el puerto configurado no esté bloqueado por un firewall o por la red de la empresa.
otaConfiguration
-
La OTA configuración. [Opcional]
otaFirmwareFilePath
-
La ruta completa a la OTA imagen creada después de la creación. Por ejemplo,
{{testData.sourcePath}}/
.relative-path/to/ota/image/from/source/root
deviceFirmwareFileName
-
La ruta completa del archivo del MCU dispositivo en el que se encuentra el OTA firmware. Algunos dispositivos no utilizan este campo, pero en cualquier caso deberá proporcionar un valor.
otaDemoConfigFilePath
-
La ruta completa a
aws_demo_config.h
, que se encuentra en
. Estos archivos se incluyen en la plantilla de código de portabilidad que RTOS proporciona Free.afr-source
/vendors/vendor/boards/board/aws_demos/config_files/ codeSigningConfiguration
-
La configuración de firma de código.
signingMethod
-
El método de firma de código. Los valores posibles son
AWS
oCustom
.nota
Para las regiones de Pekín y Ningxia, utilice
Custom
. La firma de código deAWS
no se admite en estas regiones. signerHashingAlgorithm
-
El algoritmo hash admitido en el dispositivo. Los valores posibles son
SHA1
oSHA256
. signerSigningAlgorithm
-
El algoritmo de firma admitido en el dispositivo. Los valores posibles son
RSA
oECDSA
. signerCertificate
-
El certificado de confianza utilizado paraOTA.
Para el método de firma de AWS código, utilice el nombre del recurso de Amazon (ARN) para el certificado de confianza cargado en AWS Certificate Manager.
Para el método de firma de código personalizado, utilice la ruta absoluta al archivo de certificado del firmante.
Para obtener más información acerca de cómo crear un certificado de confianza, consulte Crear un certificado de firma de código.
signerCertificateFileName
-
El nombre de la ruta del certificado de firma de código en el dispositivo. Este valor debe coincidir con el nombre de archivo que proporcionó al ejecutar el comando
aws acm import-certificate
.Para obtener más información, consulte Crear un certificado de firma de código.
compileSignerCertificate
-
true
Establézcalo en si el certificado de verificación de firma del firmante del código no está aprovisionado ni mostrado, por lo que debe compilarse en el proyecto. AWS IoT Device Tester busca el certificado de confianza y lo compila en él.aws_codesigner_certifiate.h
untrustedSignerCertificate
-
La ruta de archivo ARN o de un segundo certificado que se utiliza en algunas OTA pruebas como certificado que no es de confianza. Para obtener más información sobre cómo crear un certificado, consulte Creación de un certificado de firma de código.
signerPlatform
-
El algoritmo de firma y cifrado que AWS Code Signer utiliza al crear el trabajo de actualización. OTA En la actualidad, los valores posibles para este campo son
AmazonFreeRTOS-TI-CC3220SF
yAmazonFreeRTOS-Default
.-
Elija
AmazonFreeRTOS-TI-CC3220SF
si esSHA1
yRSA
. -
Elija
AmazonFreeRTOS-Default
si esSHA256
yECDSA
.
Si necesita
SHA256
|RSA
oSHA1
|ECDSA
para su configuración, contacte con nosotros para obtener ayuda adicional.Configure
signCommand
si eligióCustom
parasigningMethod
. -
signCommand
-
El comando utilizado para realizar la firma de código personalizado. Puede encontrar la plantilla en el directorio
/configs/script_templates
.Se requieren dos marcadores
{{inputImageFilePath}}
de{{outputSignatureFilePath}}
posición en el comando.{{inputImageFilePath}}
es la ruta del archivo de la imagen creada por la IDT que se va a firmar.{{outputSignatureFilePath}}
es la ruta del archivo de la firma que generará el script.
cmakeConfiguration
-
CMakeconfiguración [Opcional]
nota
Para ejecutar los casos de CMake prueba, debes proporcionar el nombre de la placa, el nombre del proveedor y la tecla
frToolchainPath
ocompilerName
. También puede indicarlocmakeToolchainPath
si tiene una ruta personalizada a la CMake cadena de herramientas.boardName
-
El nombre de la placa que se prueba. El nombre de la placa debe ser el mismo que el nombre de la carpeta en
.path/to/afr/source/code
/vendors/vendor
/boards/board
vendorName
-
El nombre del proveedor de la placa que se prueba. El nombre del proveedor debe ser el mismo que el nombre de la carpeta
.path/to/afr/source/code
/vendors/vendor
compilerName
-
El nombre del compilador.
frToolchainPath
-
La ruta completa de la cadena de herramientas del compilador.
cmakeToolchainPath
-
La ruta totalmente cualificada hacia la cadena de herramientas. CMake Este campo es opcional
freertosFileConfiguration
-
La configuración de los RTOS archivos gratuitos que se IDT modifica antes de ejecutar las pruebas.
required
-
En esta sección se especifican las pruebas obligatorias cuyos archivos de configuración ha movidoPKCS11, por ejemploTLS,,, etc.
configName
-
El nombre de la prueba que se está configurando.
filePath
-
La ruta absoluta a los archivos de configuración en el repositorio
. Utilice la variablefreertos
{{testData.sourcePath}}
para definir la ruta.
optional
-
En esta sección se especifican las pruebas opcionales cuyos archivos de configuración ha movidoOTA, por ejemplo WiFi, y así sucesivamente.
configName
-
El nombre de la prueba que se está configurando.
filePath
-
La ruta absoluta a los archivos de configuración en el repositorio
. Utilice la variablefreertos
{{testData.sourcePath}}
para definir la ruta.
nota
Para ejecutar los casos de CMake prueba, debes proporcionar el nombre de la placa, el nombre del proveedor y la tecla afrToolchainPath
ocompilerName
. También puedes indicarlo cmakeToolchainPath
si tienes una ruta personalizada a la CMake cadena de herramientas.