Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
Crea un pool di dispositivi IDT gratuitamente RTOS
I dispositivi da testare sono organizzati in pool di dispositivi. Ogni pool di dispositivi è composto da uno o più dispositivi identici. Puoi configurare gratuitamente IDT per RTOS testare un singolo dispositivo o più dispositivi in un pool. Per accelerare il processo di qualificazione, IDT for Free RTOS può testare dispositivi con le stesse specifiche in parallelo. Lo strumento utilizza un metodo Round Robin per eseguire un gruppo di test differente su ciascun dispositivo di un pool.
Il device.json
file ha un array nel suo livello superiore. Ogni attributo dell'array è un nuovo pool di dispositivi. Ogni pool di dispositivi ha un attributo di array di dispositivi, che ha più dispositivi dichiarati. Nel modello è presente un pool di dispositivi e solo un dispositivo in quel pool di dispositivi. È possibile aggiungere uno o più dispositivi a un pool di dispositivi modificando la sezione devices
del modello device.json
nella cartella configs
.
Nota
Tutti i dispositivi dello stesso pool devono avere le stesse specifiche tecniche eSKU. Per abilitare le build parallele del codice sorgente per diversi gruppi di test, IDT for Free RTOS copia il codice sorgente in una cartella dei risultati all'interno della cartella RTOS estratta IDT for Free. È necessario fare riferimento al percorso del codice sorgente nel comando build o flash utilizzando la testdata.sourcePath
variabile. IDTfor Free RTOS sostituisce questa variabile con un percorso temporaneo del codice sorgente copiato. Per ulteriori informazioni, consulta IDTper le RTOS variabili gratuite.
Di seguito è riportato un device.json
file di esempio utilizzato per creare un pool di dispositivi con più dispositivi.
[ { "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" } ] } ] } ]
I seguenti attributi vengono utilizzati nel file device.json
:
-
id
-
Un ID alfanumerico definito dall'utente che identifica in modo univoco un pool di dispositivi. I dispositivi appartenenti a un pool devono essere dello stesso tipo. Durante l'esecuzione di una suite di test, i dispositivi del pool vengono utilizzati per parallelizzare il carico di lavoro.
-
sku
-
Un valore alfanumerico che identifica in modo univoco la scheda da testare. SKUViene utilizzato per tenere traccia delle bacheche qualificate.
Nota
Se desideri inserire la tua scheda nel AWS Partner Device Catalog, la SKU scheda specificata qui deve corrispondere a SKU quella che utilizzi nel processo di pubblicazione.
-
features
-
Un array che contiene le funzionalità supportate dal dispositivo. AWS IoT Device Tester utilizza queste informazioni per selezionare i test di qualificazione da eseguire.
I valori supportati sono:
-
Wifi
-
Indica se la scheda dispone di funzionalità Wi-Fi.
-
Cellular
-
Indica se la scheda dispone di funzionalità di rete cellulare.
-
PKCS11
-
Indica l'algoritmo di crittografia della chiave pubblica supportato dalla scheda. PKCS11è necessario per la qualificazione. I valori supportati sono
ECC
RSA
, eBoth
.Both
indica che la scheda supporta entrambiECC
eRSA
. -
KeyProvisioning
-
Indica il metodo di scrittura di un certificato client X.509 attendibile sulla scheda.
I valori validi sono
Import
Onboard
,Both
eNo
.Onboard
Both
, oppure per la qualificazione è richiesta la fornitura delleNo
chiavi.Import
da sola non è un'opzione valida per la qualificazione.-
Import
Utilizzalo solo se la tua scheda consente l'importazione di chiavi private.Import
La selezione non è una configurazione valida per la qualificazione e deve essere utilizzata solo a scopo di test, in particolare per i casi di PKCS11 test.Onboard
,Both
oNo
è necessario per la qualificazione. -
Utilizzalo
Onboard
se la tua scheda supporta le chiavi private integrate (ad esempio, se il tuo dispositivo ha un elemento sicuro o se preferisci generare la tua coppia di chiavi e il tuo certificato del dispositivo). Assicurarsi di aggiungere un elementosecureElementConfig
in ciascuna delle sezioni del dispositivo e inserire il percorso assoluto del file della chiave pubblica nel campopublicKeyAsciiHexFilePath
. -
Utilizzalo
Both
se la tua scheda supporta sia l'importazione di chiavi private che la generazione di chiavi integrate per il provisioning delle chiavi. -
Utilizzalo
No
se la tua scheda non supporta il provisioning delle chiavi.No
è un'opzione valida solo quando anche il dispositivo è preconfigurato.
-
-
OTA
-
Indica se la scheda supporta la funzionalità di aggiornamento over-the-air (OTA). L'
OtaDataPlaneProtocol
attributo indica quale protocollo OTA dataplane supporta il dispositivo. OTAcon uno dei due protocolli HTTP o MQTT dataplane è necessario per la qualificazione. Per saltare l'esecuzione OTA dei test durante il test, imposta la OTA funzionalità suNo
e l'attributo su.OtaDataPlaneProtocol
None
Questa non sarà una corsa di qualificazione. -
BLE
-
Indica se la scheda supporta Bluetooth Low Energy (BLE).
-
-
devices.id
-
Un identificativo univoco definito dall'utente del dispositivo sottoposto a test.
-
devices.connectivity.serialPort
-
La porta seriale del computer host utilizzato per connettersi ai dispositivi da testare.
-
devices.secureElementConfig.PublicKeyAsciiHexFilePath
-
Obbligatorio se la scheda
PublicDeviceCertificateArn
è fornita NOTpre-provisioned
o meno. PoichéOnboard
è un tipo obbligatorio di Key Provisioning, questo campo è attualmente obbligatorio per il gruppo di FullTransportInterface TLS test. Se il dispositivo lo èpre-provisioned
,PublicKeyAsciiHexFilePath
è facoltativo e non deve essere incluso.Il blocco seguente è un percorso assoluto del file che contiene la chiave pubblica in byte esadecimali estratta dalla chiave
Onboard
privata.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
Se la chiave pubblica è in formato.der, puoi codificare direttamente in esadecimale la chiave pubblica per generare il file esadecimale.
Per generare il file esadecimale da una chiave pubblica.der, inserisci il seguente comando: xxd
xxd -p pubkey.der > outFile
Se la chiave pubblica è in formato.pem, puoi estrarre le intestazioni e i piè di pagina codificati in base64 e decodificarli in formato binario. Quindi, codificate in modo esadecimale la stringa binaria per generare il file esadecimale.
Per generare un file esadecimale per una chiave pubblica.pem, procedi come segue:
-
Esegui il base64 comando seguente per rimuovere l'intestazione e il piè di pagina base64 dalla chiave pubblica. La chiave decodificata, denominata
base64key
, viene quindi emessa nel file:pubkey.der
base64 —decode base64key > pubkey.der
-
Esegui il seguente xxd comando per
pubkey.der
convertire in formato esadecimale. La chiave risultante viene salvata comeoutFile
xxd -p pubkey.der >
outFile
-
-
devices.secureElementConfig.PublicDeviceCertificateArn
-
Il certificato ARN del tuo elemento sicuro che viene caricato su AWS IoT Core. Per informazioni sul caricamento del certificato su AWS IoT Core, consulta i certificati client X.509 nella Guida per gli AWS IoT sviluppatori.
-
devices.secureElementConfig.SecureElementSerialNumber
-
(Facoltativo) Il numero di serie dell'elemento sicuro. Il numero di serie viene utilizzato opzionalmente per creare certificati di dispositivo per la fornitura di chiavi. JITR
-
devices.secureElementConfig.preProvisioned
-
(Facoltativo) Imposta su «Sì» se il dispositivo dispone di un elemento sicuro prestabilito con credenziali bloccate, che non può importare, creare o distruggere oggetti. Se questo attributo è impostato su Sì, è necessario fornire le etichette pkcs11 corrispondenti.
-
devices.secureElementConfig.pkcs11JITPCodeVerifyRootCertSupport
-
(Facoltativo) Imposta su Sì se l'PKCS11implementazione principale del dispositivo supporta l'archiviazione per. JITP Ciò consentirà il JITP
codeverify
test durante il test del core PKCS 11 e richiede che vengano fornite le etichette della chiave di verifica del codice, del certificato e del certificato principale PKCS 11. JITP -
identifiers
-
(Facoltativo) Un array di coppie nome/valore arbitrarie. Puoi utilizzare questi valori nei comandi di compilazione e flashing descritti nella sezione successiva.