Crie um pool de dispositivos IDT gratuitamente RTOS - Gratuito RTOS

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Crie um pool de dispositivos IDT gratuitamente RTOS

Os dispositivos a serem testados são organizados em grupos de dispositivos. Cada grupo de dispositivos consiste em um ou mais dispositivos idênticos. Você pode configurar IDT gratuitamente RTOS para testar um único dispositivo ou vários dispositivos em um pool. Para acelerar o processo de qualificação, IDT o for Free RTOS pode testar dispositivos com as mesmas especificações em paralelo. Ele usa o método round-robin para executar um grupo de testes diferente em cada dispositivo de um grupo de dispositivos.

O arquivo device.json tem uma matriz em seu nível superior. Cada recurso da matriz é um novo grupo de dispositivos. Cada grupo de dispositivos tem um recurso de matriz de dispositivos, que tem vários dispositivos declarados. No modelo, há um grupo de dispositivos e somente um dispositivo neste grupo de dispositivos. Você pode adicionar um ou mais dispositivos a um grupo de dispositivos editando a seção devices do modelo device.json na pasta configs.

nota

Todos os dispositivos no mesmo pool devem ter a mesma especificação técnica SKU e. Para permitir compilações paralelas do código-fonte para diferentes grupos de teste, o IDT for Free RTOS copia o código-fonte para uma pasta de resultados dentro da pasta RTOS extraída do IDT for Free. É preciso referenciar o caminho do código-fonte no comando de compilação ou atualização por meio da variável testdata.sourcePath. IDTfor Free RTOS substitui essa variável por um caminho temporário do código-fonte copiado. Para obter mais informações, consulte IDTpara RTOS variáveis gratuitas.

Veja a seguir um exemplo do arquivo device.json que foi usado para criar um grupo de dispositivos com vários dispositivos.

[ { "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" } ] } ] } ]

Os seguintes recursos são usados no arquivo device.json:

id

Um ID alfanumérico definido pelo usuário que identifica exclusivamente um grupo de dispositivos. Os dispositivos que pertencem a um grupo devem ser do mesmo tipo. Quando um conjunto de testes está em execução, os dispositivos do grupo são usados para paralelizar a carga de trabalho.

sku

Um valor alfanumérico que identifica exclusivamente a placa sendo testada. SKUÉ usado para rastrear placas qualificadas.

nota

Se você quiser listar sua placa no AWS Partner Device Catalog, o que SKU você especificar aqui deve corresponder ao SKU que você usa no processo de listagem.

features

Uma matriz que contém os recursos suportados pelo dispositivo. AWS IoT Device Tester usa essas informações para selecionar os testes de qualificação a serem executados.

Os valores compatíveis são:

Wifi

Indica se a placa tem recursos de Wi-Fi.

Cellular

Indica se a placa tem recursos de celular.

PKCS11

Indica o algoritmo de criptografia de chave pública compatível com a placa. PKCS11é necessário para a qualificação. Os valores compatíveis são ECC, RSA, e Both. Both indica que a placa é compatível com os algoritmos ECC e RSA.

KeyProvisioning

Indica o método de gravação de um certificado de cliente X.509 confiável em sua placa.

Os valores válidos são Import, Onboard, Both e No. O provisionamento das chaves Onboard, Both ou No é necessário para a qualificação. Import, por si só, não é uma opção válida para qualificação.

  • Use Import somente se a sua placa permitir a importação de chaves privadas. ImportA seleção não é uma configuração válida para qualificação e deve ser usada somente para fins de teste, especificamente com casos PKCS11 de teste. Onboard, Both ou No é necessário para qualificação.

  • Use Onboard se a placa for compatível com chaves privadas integradas (por exemplo, se o dispositivo tiver um elemento seguro ou se você preferir gerar o seu próprio par de chaves de dispositivo e certificado). Adicione um elemento secureElementConfig em cada uma das seções do dispositivo e coloque o caminho absoluto para o arquivo de chave pública no campo publicKeyAsciiHexFilePath.

  • Use Both se sua placa suportar a importação de chaves privadas e a geração de chaves integradas para provisionamento de chaves.

  • Use No se sua placa não suportar o provisionamento de chaves. No só é uma opção válida quando seu dispositivo também está pré-provisionado.

OTA

Indica se sua placa suporta over-the-air (OTA) a funcionalidade de atualização. O OtaDataPlaneProtocol atributo indica qual protocolo de OTA plano de dados o dispositivo suporta. OTAcom um HTTP ou outro protocolo de MQTT plano de dados é necessário para qualificação. Para pular a execução de OTA testes durante o teste, defina o OTA recurso como No e o OtaDataPlaneProtocol atributo comoNone. Esta não será uma corrida de qualificação.

BLE

Indica se sua placa suporta Bluetooth Low Energy (BLE).

devices.id

Um identificador exclusivo, definido pelo usuário, para o dispositivo que está sendo testado.

devices.connectivity.serialPort

A porta serial do computador host usada para se conectar aos dispositivos que estão sendo testados.

devices.secureElementConfig.PublicKeyAsciiHexFilePath

Obrigatório se sua placa PublicDeviceCertificateArn for fornecida NOT pre-provisioned ou não. Como Onboard é um tipo obrigatório de provisionamento de chaves, esse campo atualmente é obrigatório para o grupo de FullTransportInterface TLS teste. Se o seu dispositivo for pre-provisioned, PublicKeyAsciiHexFilePath é opcional e não precisa ser incluído.

O bloco a seguir é um caminho absoluto para o arquivo que contém a chave pública de bytes hexadecimal extraída da chave privada Onboard.

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 sua chave pública estiver no formato .der, é possível codificar a chave pública em hexadecimal diretamente para gerar o arquivo hexadecimal.

Para gerar o arquivo hexadecimal a partir de uma chave pública .der, digite o seguinte comando xxd:

xxd -p pubkey.der > outFile

Se sua chave pública estiver no formato .pem, é possível extrair os cabeçalhos e rodapés codificados em base64 e decodificá-los em formato binário. Em seguida, string binária é codificada em hexadecimal para gerar o arquivo hexadecimal.

Para gerar um arquivo hexadecimal para uma chave pública. pem, faça o seguinte:

  1. Execute o comando base64 a seguir para remover o cabeçalho e o rodapé base64 da chave pública. A chave decodificada, chamada base64key, é enviada para o arquivo pubkey.der:

    base64 —decode base64key > pubkey.der
  2. Execute o comando xxd a seguir para converter pubkey.der para o formato hexadecimal. A chave resultante é salva como outFile.

    xxd -p pubkey.der > outFile
devices.secureElementConfig.PublicDeviceCertificateArn

O ARN do certificado do seu elemento seguro que é carregado para AWS IoT Core. Para obter informações sobre como carregar seu certificado para AWS IoT Core, consulte certificados de cliente X.509 no Guia do AWS IoT desenvolvedor.

devices.secureElementConfig.SecureElementSerialNumber

(Opcional) O número de série do elemento seguro. O número de série é usado opcionalmente para criar certificados de dispositivo para provisionamento de JITR chaves.

devices.secureElementConfig.preProvisioned

(Opcional) Defina como "Sim" se o dispositivo tiver um elemento seguro pré-provisionado com credenciais bloqueadas, que não possa importar, criar ou destruir objetos. Se este recurso for definido como Sim, os rótulos pkcs11 correspondentes deverão ser fornecidos.

devices.secureElementConfig.pkcs11JITPCodeVerifyRootCertSupport

(Opcional) Defina como Sim se a PKCS11 implementação principal do dispositivo suportar armazenamento paraJITP. Isso habilitará o JITP codeverify teste ao testar o núcleo PKCS 11 e exigirá o fornecimento de rótulos de chave de verificação de código, JITP certificado e certificado raiz PKCS 11.

identifiers

(Opcional) Uma matriz de pares de nome-valor arbitrários. Você pode usar esses valores nos comandos de compilação e atualização descritos na próxima seção.