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 in IDT per FreerTOS
I dispositivi da testare sono organizzati in pool di dispositivi. Ogni pool di dispositivi è composto da uno o più dispositivi identici. Puoi configurare IDT per FreerTOS per testare un singolo dispositivo o più dispositivi in un pool. Per accelerare il processo di qualificazione, IDT for FreerTOS 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 e lo stesso SKU. Per abilitare le build parallele del codice sorgente per diversi gruppi di test, IDT for FreeRTOS copia il codice sorgente in una cartella dei risultati all'interno della cartella estratta IDT for FreerTOS. È necessario fare riferimento al percorso del codice sorgente nel comando build o flash utilizzando la variabile. testdata.sourcePath IDT for FreerTOS sostituisce questa variabile con un percorso temporaneo del codice sorgente copiato. Per ulteriori informazioni, consulta IDT per variabili FreerTOS.
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. Il codice SKU viene utilizzato per tenere traccia delle schede qualificate.
Nota
Se desideri inserire la tua scheda nel AWS Partner Device Catalog, lo SKU che specifichi qui deve corrispondere allo SKU che utilizzi nel processo di pubblicazione delle offerte.
-
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 a chiave pubblica supportato dalla scheda. PKCS11 è necessario per la qualificazione. I valori supportati sono
ECCRSA, eBoth.Bothindica che la scheda supporta entrambiECCeRSA. -
KeyProvisioning -
Indica il metodo di scrittura di un certificato client X.509 attendibile sulla scheda.
I valori validi sono
ImportOnboard,BotheNo.OnboardBoth, oppure per la qualificazione è richiesta la fornitura delleNochiavi.Importda sola non è un'opzione valida per la qualificazione.-
ImportUtilizzalo solo se la tua scheda consente l'importazione di chiavi private.ImportLa 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,BothoNoè necessario per la qualificazione. -
Utilizzalo
Onboardse 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 elementosecureElementConfigin ciascuna delle sezioni del dispositivo e inserire il percorso assoluto del file della chiave pubblica nel campopublicKeyAsciiHexFilePath. -
Utilizzalo
Bothse la tua scheda supporta sia l'importazione di chiavi private che la generazione di chiavi integrate per il provisioning delle chiavi. -
Utilizzalo
Nose 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'attributo
OtaDataPlaneProtocolindica quale protocollo di piano dei dati OTA supporta il dispositivo. Per la qualificazione è richiesta una OTA con protocollo dataplane HTTP o MQTT. Per ignorare l'esecuzione dei test OTA durante il test, imposta la funzionalità OTA su e l'attributo suNo.OtaDataPlaneProtocolNoneQuesta 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 -
Obbligatoria se la tavola NON è
pre-provisionedo nonPublicDeviceCertificateArnviene fornita. PoichéOnboardè un tipo obbligatorio di Key Provisioning, questo campo è attualmente obbligatorio per il gruppo di test FullTransportInterface TLS. 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
Onboardprivata.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 0cSe 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 > outFileSe la tua chiave pubblica è in formato.pem, puoi estrarre le intestazioni e i piè di pagina codificati in base64 e decodificarla 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.derbase64 —decode base64key > pubkey.der -
Esegui il seguente xxd comando per
pubkey.derconvertire in formato esadecimale. La chiave risultante viene salvata comeoutFilexxd -p pubkey.der >outFile
-
-
devices.secureElementConfig.PublicDeviceCertificateArn -
L'ARN del certificato del tuo elemento sicuro su cui viene caricato. AWS IoT CorePer informazioni sul caricamento del certificato su AWS IoT Core, consulta i certificati client X.509 nella Developer Guide.AWS IoT
-
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 preconfigurato 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'PKCS11 implementazione principale del dispositivo supporta l'archiviazione per JITP. Ciò abiliterà il test JITP durante il
codeverifytest PKCS 11 di base e richiede la fornitura della chiave di verifica del codice, del certificato JITP e delle etichette PKCS 11 del certificato radice. -
identifiers -
(Facoltativo) Un array di coppie nome/valore arbitrarie. Puoi utilizzare questi valori nei comandi di compilazione e flashing descritti nella sezione successiva.