Crea un pool di dispositivi IDT gratuitamente RTOS - Gratuito RTOS

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 ECCRSA, eBoth. Bothindica che la scheda supporta entrambi ECC eRSA.

KeyProvisioning

Indica il metodo di scrittura di un certificato client X.509 attendibile sulla scheda.

I valori validi sono ImportOnboard, Both eNo. OnboardBoth, oppure per la qualificazione è richiesta la fornitura delle No chiavi. 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, Both o No è 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 elemento secureElementConfig in ciascuna delle sezioni del dispositivo e inserire il percorso assoluto del file della chiave pubblica nel campo publicKeyAsciiHexFilePath.

  • 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'OtaDataPlaneProtocolattributo 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à su No 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 NOT pre-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:

  1. Esegui il base64 comando seguente per rimuovere l'intestazione e il piè di pagina base64 dalla chiave pubblica. La chiave decodificata, denominatabase64key, viene quindi emessa nel file: pubkey.der

    base64 —decode base64key > pubkey.der
  2. Esegui il seguente xxd comando per pubkey.der convertire in formato esadecimale. La chiave risultante viene salvata come outFile

    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 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.