Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Configurer les paramètres pour tester un seul appareil
Les paramètres de création, de flash et de test sont définis dans le fichier configs/userdata.json
. Nous prenons en charge la configuration du serveur Echo en chargeant les certificats et les clés du client et du serveur dans lecustomPath
. Pour plus d'informations, consultez la section Configuration d'un serveur Echo dans le Guide de RTOS portage gratuit. L'JSONexemple suivant montre comment configurer Free IDT RTOS pour tester plusieurs appareils :
{
"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"
}
]
}
}
Voici les attributs utilisés dans le fichier userdata.json
:
sourcePath
-
Le chemin d'accès à la racine du code RTOS source Free porté. Pour les tests en parallèle avec unSDK, le
sourcePath
peut être réglé à l'aide{{userData.sdkConfiguration.path}}
du support. Par exemple :{ "sourcePath":"{{userData.sdkConfiguration.path}}/
freertos
" } vendorPath
-
Le chemin vers le RTOS code gratuit spécifique au fournisseur. Pour les tests série,
vendorPath
peut être défini comme un chemin absolu. Par exemple :{ "vendorPath":"C:/
path-to-freertos
/vendors/espressif/boards/esp32
" }Pour les tests en parallèle,
vendorPath
peut être défini à l'aide de l'espace réservé{{testData.sourcePath}}
. Par exemple :{ "vendorPath":"{{testData.sourcePath}}/vendors/espressif/boards/esp32" }
La
vendorPath
variable n'est nécessaire que si elle est exécutée sans unSDK, sinon elle peut être supprimée.Note
Lorsque vous exécutez des tests en parallèle sans unSDK, l'
{{testData.sourcePath}}
espace réservé doit être utilisé dans lesflashTool
champsvendorPath
buildTool
,. Lors de l'exécution d'un test avec un seul appareil, les chemins absolus doivent être utilisés dans les champsvendorPath
,buildTool
etflashTool
. Lors de l'exécution avec unSDK, l'{{sdkPath}}
espace réservé doit être utilisé dans lesflashTool
commandessourcePath
buildTool
, et. sdkConfiguration
-
Si vous êtes éligible à la RTOS version gratuite avec des modifications apportées à la structure des fichiers et des dossiers au-delà de ce qui est nécessaire pour le portage, vous devrez configurer vos SDK informations dans ce bloc. Si vous n'êtes pas éligible avec un Free porté RTOS à l'intérieur d'unSDK, vous devez complètement omettre ce bloc.
sdkConfiguration.name
-
Le nom du SDK que vous utilisez avec FreeRTOS. Si vous n'utilisez pas unSDK, le
sdkConfiguration
bloc entier doit être omis. sdkConfiguration.version
-
La version que SDK vous utilisez avec FreeRTOS. Si vous n'utilisez pas unSDK, le
sdkConfiguration
bloc entier doit être omis. sdkConfiguration.path
-
Le chemin absolu vers le SDK répertoire qui contient votre RTOS code gratuit. Si vous n'utilisez pas unSDK, le
sdkConfiguration
bloc entier doit être omis.
buildTool
-
Chemin d'accès complet au script de création (.bat ou .sh) qui contient les commandes pour générer le code source. Toutes les références au chemin du code source dans la commande de construction doivent être remplacées par la AWS IoT Device Tester variable
{{testdata.sourcePath}}
et les références au SDK chemin doivent être remplacées par{{sdkPath}}
. Utilisez l'{{config.idtRootPath}}
espace réservé pour référencer le IDT chemin absolu ou relatif. testStartDelayms
-
Spécifie le nombre de millisecondes que le lanceur de RTOS tests gratuit attendra avant de commencer à exécuter les tests. Cela peut être utile si l'appareil testé commence à émettre des informations de test importantes avant IDT d'avoir pu se connecter et commencer à se connecter en raison d'une latence réseau ou autre. La valeur maximale autorisée est de 30 000 ms (30 secondes). Cette valeur s'applique uniquement aux groupes de RTOS test gratuits et ne s'applique pas aux autres groupes de test qui n'utilisent pas le lanceur de tests gratuitRTOS, tels que les OTA tests.
flashTool
-
Chemin d'accès complet au script flash (.sh ou .bat) qui contient les commandes flash pour votre appareil. Toutes les références au chemin du code source dans la commande flash doivent être remplacées par la RTOS variable IDT for Free
{{testdata.sourcePath}}
et toutes les références à votre SDK chemin doivent être remplacées par la RTOS variable IDT for Free{{sdkPath}}
. Utilisez l'{{config.idtRootPath}}
espace réservé pour référencer le chemin absolu ou relatif. IDTbuildImageInfo
-
testsImageName
-
Nom du fichier produit par la commande build lors de la création de tests à partir du
dossier.freertos-source
/tests demosImageName
-
Nom du fichier produit par la commande build lors de la création de tests à partir du
dossier.freertos-source
/demos
clientWifiConfig
-
Configuration Wi-Fi du client. Les tests de la bibliothèque Wi-Fi nécessitent une MCU carte pour se connecter à deux points d'accès. (Les deux points d'accès peuvent être les mêmes.) Cet attribut configure les paramètres Wi-Fi du premier point d'accès. Certains des scénarios de test Wi-Fi exigent que le point d'accès soit sécurisé et qu'il ne soit pas ouvert. Assurez-vous que les deux points d'accès se trouvent sur le même sous-réseau que l'ordinateur hôte en cours d'exécutionIDT.
wifi_ssid
-
Le Wi-FiSSID.
wifi_password
-
Mot de passe Wi-Fi.
wifiSecurityType
-
Type de sécurité Wi-Fi utilisé. Une des valeurs suivantes :
-
eWiFiSecurityOpen
-
eWiFiSecurityWEP
-
eWiFiSecurityWPA
-
eWiFiSecurityWPA2
-
eWiFiSecurityWPA3
-
Note
Si votre carte ne prend pas en charge le Wi-Fi, vous devez tout de même inclure la section
clientWifiConfig
dans votre fichierdevice.json
, mais vous pouvez omettre les valeurs de ces attributs. testWifiConfig
-
Configuration Wi-Fi de test. Les tests de la bibliothèque Wi-Fi nécessitent une MCU carte pour se connecter à deux points d'accès. (Les deux points d'accès peuvent être les mêmes.) Cet attribut configure le paramétrage Wi-Fi du second point d'accès. Certains des scénarios de test Wi-Fi exigent que le point d'accès soit sécurisé et qu'il ne soit pas ouvert. Assurez-vous que les deux points d'accès se trouvent sur le même sous-réseau que l'ordinateur hôte en cours d'exécutionIDT.
wifiSSID
-
Le Wi-FiSSID.
wifiPassword
-
Mot de passe Wi-Fi.
wifiSecurityType
-
Type de sécurité Wi-Fi utilisé. Une des valeurs suivantes :
-
eWiFiSecurityOpen
-
eWiFiSecurityWEP
-
eWiFiSecurityWPA
-
eWiFiSecurityWPA2
-
eWiFiSecurityWPA3
-
Note
Si votre carte ne prend pas en charge le Wi-Fi, vous devez tout de même inclure la section
testWifiConfig
dans votre fichierdevice.json
, mais vous pouvez omettre les valeurs de ces attributs. echoServerCertificateConfiguration
-
L'espace réservé à la génération de certificats de serveur Echo configurable pour les tests de socket sécurisés. Ce champ est obligatoire.
certificateGenerationMethod
-
Spécifie si le certificat de serveur est généré automatiquement ou fourni manuellement.
customPath
-
certificateGenerationMethod
Il s'agit de « Personnalisé »,certificatePath
etprivateKeyPath
ils sont obligatoires.certificatePath
-
Spécifie le chemin du fichier pour le certificat de serveur.
privateKeyPath
-
Spécifie le chemin du fichier pour la clé privée.
eccCurveFormat
-
Spécifie le format de courbe pris en charge par la carte. Obligatoire lorsque
PKCS11
le paramètre est réglé sur « ecc » dansdevice.json
. Les valeurs valides sont « P224 », « P256 », « P384 » ou « P521 ».
echoServerConfiguration
-
Les ports configurables du serveur Echo pour WiFi les tests de sockets sécurisés. Ce champ est facultatif.
securePortForSecureSocket
-
Le port utilisé pour configurer un serveur Echo TLS pour le test des sockets sécurisés. La valeur par défaut est 33333. Assurez-vous que le port configuré n'est pas bloqué par un pare-feu ou votre réseau d'entreprise.
insecurePortForSecureSocket
-
Le port utilisé pour configurer le serveur Echo sans TLS pour le test des sockets sécurisés. La valeur par défaut utilisée dans le test est 33334. Assurez-vous que le port configuré n'est pas bloqué par un pare-feu ou votre réseau d'entreprise.
insecurePortForWiFi
-
Le port utilisé pour configurer le serveur Echo sans WiFi effectuer TLS de test. La valeur par défaut utilisée dans le test est 33335. Assurez-vous que le port configuré n'est pas bloqué par un pare-feu ou votre réseau d'entreprise.
otaConfiguration
-
La OTA configuration. [Facultatif]
otaFirmwareFilePath
-
Le chemin complet vers l'OTAimage créée après la génération. Par exemple,
{{testData.sourcePath}}/
.relative-path/to/ota/image/from/source/root
deviceFirmwareFileName
-
Le chemin complet du fichier sur le MCU périphérique sur lequel se trouve le OTA microprogramme. Certains appareils n'utilisent pas ce champ, mais vous devez tout de même fournir une valeur.
otaDemoConfigFilePath
-
Chemin d'accès complet à
aws_demo_config.h
, disponible dans
. Ces fichiers sont inclus dans le modèle de code de portage RTOS fourni par Free.afr-source
/vendors/vendor/boards/board/aws_demos/config_files/ codeSigningConfiguration
-
Configuration de signature de code.
signingMethod
-
Méthode de signature de code. Les valeurs possibles sont
AWS
ouCustom
.Note
Pour les régions de Pékin et de Ningxia, utilisez
Custom
.AWS
la signature de code n'est pas prise en charge dans ces régions. signerHashingAlgorithm
-
Algorithme de hachage pris en charge sur le périphérique. Les valeurs possibles sont
SHA1
ouSHA256
. signerSigningAlgorithm
-
Algorithme de signature pris en charge sur le périphérique. Les valeurs possibles sont
RSA
ouECDSA
. signerCertificate
-
Le certificat sécurisé utilisé pourOTA.
Pour la méthode de signature du AWS code, utilisez le Amazon Resource Name (ARN) pour le certificat sécurisé chargé sur le AWS Certificate Manager.
Pour la méthode de signature de code personnalisée, utilisez le chemin d’accès absolu vers le fichier de certificat du signataire.
Pour plus d'informations sur la création d'un certificat approuvé, consultez Créer un certificat de signature de code.
signerCertificateFileName
-
Le nom de fichier du certificat de signature de code sur l'appareil. Cette valeur doit correspondre au nom de fichier que vous avez fourni lors de l'exécution de la
aws acm import-certificate
commande.Pour de plus amples informations, veuillez consulter Créer un certificat de signature de code.
compileSignerCertificate
-
Défini
true
si le certificat de vérification de signature du signataire de code n'est pas fourni ou flashé, il doit donc être compilé dans le projet. AWS IoT Device Tester récupère le certificat sécurisé et le compile dans.aws_codesigner_certifiate.h
untrustedSignerCertificate
-
Le chemin de fichier ARN ou d'un deuxième certificat utilisé dans certains OTA tests en tant que certificat non fiable. Pour plus d'informations sur la création d'un certificat, voir Création d'un certificat de signature de code.
signerPlatform
-
Algorithme de signature et de hachage utilisé par AWS Code Signer lors de la création de la tâche de OTA mise à jour. Actuellement, les valeurs possibles pour ce champ sont
AmazonFreeRTOS-TI-CC3220SF
etAmazonFreeRTOS-Default
.-
Choisissez
AmazonFreeRTOS-TI-CC3220SF
, siSHA1
etRSA
. -
Choisissez
AmazonFreeRTOS-Default
, siSHA256
etECDSA
.
Si vous avez besoin de
SHA256
|RSA
ouSHA1
|ECDSA
pour votre configuration, contactez-nous pour obtenir une assistance complémentaire.Configurez
signCommand
si vous avez choisiCustom
poursigningMethod
. -
signCommand
-
Commande utilisée pour effectuer la signature de code personnalisée. Vous pouvez trouver le modèle dans le répertoire
/configs/script_templates
.Deux espaces réservés
{{inputImageFilePath}}
{{outputSignatureFilePath}}
sont obligatoires dans la commande.{{inputImageFilePath}}
est le chemin de fichier de l'image créée par IDT pour être signée.{{outputSignatureFilePath}}
est le chemin de fichier de la signature qui sera générée par le script.
cmakeConfiguration
-
CMakeconfiguration [Facultatif]
Note
Pour exécuter des scénarios de CMake test, vous devez fournir le nom du forum, le nom du fournisseur et le
frToolchainPath
oucompilerName
. Vous pouvez également fournir lecmakeToolchainPath
si vous avez un chemin personnalisé vers la CMake chaîne d'outils.boardName
-
Nom de la carte testée. Le nom de la carte doit être le même que le nom du dossier sous
.path/to/afr/source/code
/vendors/vendor
/boards/board
vendorName
-
Le nom du fournisseur pour le tableau testé. Le fournisseur doit être le même que le nom du dossier sous
.path/to/afr/source/code
/vendors/vendor
compilerName
-
Le nom du compilateur.
frToolchainPath
-
Le chemin d'accès complet au compilateur de la chaîne d'outils
cmakeToolchainPath
-
Le chemin complet vers la chaîne d'CMakeoutils. Ce champ est facultatif
freertosFileConfiguration
-
La configuration des RTOS fichiers gratuits qui se IDT modifie avant d'exécuter les tests.
required
-
Cette section spécifie les tests requis dont vous avez déplacé les fichiers de configuration, par exemplePKCS11,TLS, et ainsi de suite.
configName
-
Nom du test en cours de configuration.
filePath
-
Le chemin absolu vers les fichiers de configuration dans le
dépôt. Utilisez lafreertos
{{testData.sourcePath}}
variable pour définir le chemin.
optional
-
Cette section spécifie les tests facultatifs dont vous avez déplacé les fichiers de configuration OTA WiFi, par exemple, etc.
configName
-
Nom du test en cours de configuration.
filePath
-
Le chemin absolu vers les fichiers de configuration dans le
dépôt. Utilisez lafreertos
{{testData.sourcePath}}
variable pour définir le chemin.
Note
Pour exécuter des scénarios de CMake test, vous devez fournir le nom du forum, le nom du fournisseur et le afrToolchainPath
oucompilerName
. Vous pouvez également indiquer cmakeToolchainPath
si vous avez un chemin personnalisé vers la CMake chaîne d'outils.