Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Buat kumpulan perangkat di IDT untuk FreeRTOS
Perangkat yang akan diuji diatur dalam kumpulan perangkat. Setiap kumpulan perangkat terdiri dari satu atau lebih perangkat yang identik. Anda dapat mengonfigurasi IDT untuk FreeRTOS untuk menguji satu perangkat di kolam renang atau beberapa perangkat di kolam renang. Untuk mempercepat proses kualifikasi, IDT untuk FreerTOS dapat menguji perangkat dengan spesifikasi yang sama secara paralel. Ini menggunakan metode round-robin untuk mengeksekusi kelompok uji yang berbeda pada setiap perangkat dalam kumpulan perangkat.
Anda dapat menambahkan satu atau beberapa perangkat ke kumpulan perangkat dengan mengedit devices
bagian device.json
templat di configs
folder.
catatan
Semua perangkat di kolam yang sama harus memiliki spesifikasi teknis dan SKU yang sama.
Untuk mengaktifkan build paralel dari kode sumber untuk grup pengujian yang berbeda, IDT untuk FreerTOS menyalin kode sumber ke folder hasil di dalam folder yang diekstrak IDT untuk FreeRTOS. Jalur kode sumber dalam perintah build atau flash Anda harus direferensikan menggunakan sdkPath
variabel testdata.sourcePath
atau. IDT untuk FreeRTOS menggantikan variabel ini dengan jalur sementara dari kode sumber yang disalin. Untuk informasi selengkapnya, lihat IDT untuk variabel FreeRTOS.
Berikut ini adalah device.json
file contoh yang digunakan untuk membuat kumpulan perangkat dengan beberapa perangkat.
[ { "id": "
pool-id
", "sku": "sku
", "features": [ { "name": "WIFI", "value": "Yes | No" }, { "name": "Cellular", "value": "Yes | No" }, { "name": "OTA", "value": "Yes | No", "configs": [ { "name": "OTADataPlaneProtocol", "value": "HTTP | MQTT" } ] }, { "name": "BLE", "value": "Yes | No" }, { "name": "TCP/IP", "value": "On-chip | Offloaded | No" }, { "name": "TLS", "value": "Yes | No" }, { "name": "PKCS11", "value": "RSA | ECC | Both | No" }, { "name": "KeyProvisioning", "value": "Import | Onboard | No" } ], "devices": [ { "id": "device-id
", "connectivity": { "protocol": "uart", "serialPort": "/dev/tty*
" }, ***********Remove the section below if the device does not support onboard key generation*************** "secureElementConfig" : { "publicKeyAsciiHexFilePath": "absolute-path-to/public-key-txt-file: contains-the-hex-bytes-public-key-extracted-from-onboard-private-key
", "secureElementSerialNumber": "secure-element-serialNo-value
", "preProvisioned" : "Yes | No" }, ********************************************************************************************************** "identifiers": [ { "name": "serialNo", "value": "serialNo-value
" } ] } ] } ]
Atribut berikut digunakan dalam device.json
file:
id
-
ID alfanumerik yang ditentukan pengguna yang secara unik mengidentifikasi kumpulan perangkat. Perangkat yang termasuk dalam kolam harus dari jenis yang sama. Saat serangkaian pengujian sedang berjalan, perangkat di kolam digunakan untuk memparalelkan beban kerja.
sku
-
Nilai alfanumerik yang secara unik mengidentifikasi papan yang Anda uji. SKU digunakan untuk melacak forum yang berkualitas.
catatan
Jika Anda ingin mencantumkan papan Anda di Katalog Perangkat AWS Mitra, SKU yang Anda tentukan di sini harus cocok dengan SKU yang Anda gunakan dalam proses pencatatan.
features
-
Array yang berisi fitur yang didukung perangkat. AWS IoT Device Tester menggunakan informasi ini untuk memilih tes kualifikasi yang akan dijalankan.
Nilai yang didukung adalah:
TCP/IP
-
Menunjukkan apakah papan Anda mendukung TCP/IP tumpukan dan apakah itu didukung on-chip (MCU) atau diturunkan ke modul lain. TCP/IP diperlukan untuk kualifikasi.
WIFI
-
Menunjukkan apakah papan Anda memiliki kemampuan Wi-Fi. Harus disetel ke
No
ifCellular
diatur keYes
. Cellular
-
Menunjukkan apakah papan Anda memiliki kemampuan seluler. Harus disetel ke
No
ifWIFI
diatur keYes
. Ketika fitur ini disetel keYes
, FullSecureSockets pengujian akan dijalankan menggunakan EC2 instans AWS t2.micro dan ini dapat menimbulkan biaya tambahan ke akun Anda. Untuk informasi selengkapnya, lihat EC2 harga Amazon. TLS
-
Menunjukkan apakah papan Anda mendukung TLS. TLS diperlukan untuk kualifikasi.
PKCS11
-
Menunjukkan algoritma kriptografi kunci publik yang didukung papan. PKCS11 diperlukan untuk kualifikasi. Nilai yang didukung adalah
ECC
,RSA
,Both
danNo
.Both
menunjukkan papan mendukung keduaECC
danRSA
algoritma. KeyProvisioning
-
Menunjukkan metode penulisan sertifikat klien X.509 tepercaya ke papan Anda. Nilai yang valid adalah
Import
,Onboard
danNo
. Penyediaan kunci diperlukan untuk kualifikasi.-
Gunakan
Import
jika papan Anda mengizinkan impor kunci pribadi. IDT akan membuat kunci pribadi dan membangun ini ke kode sumber FreeRTOS. -
Gunakan
Onboard
jika board Anda mendukung pembuatan kunci pribadi on-board (misalnya, jika perangkat Anda memiliki elemen aman, atau jika Anda lebih suka membuat key pair dan sertifikat perangkat Anda sendiri). Pastikan Anda menambahkansecureElementConfig
elemen di setiap bagian perangkat dan meletakkan jalur absolut ke file kunci publik dipublicKeyAsciiHexFilePath
bidang. -
Gunakan
No
jika papan Anda tidak mendukung penyediaan kunci.
-
OTA
-
Menunjukkan apakah papan Anda mendukung fungsionalitas pembaruan over-the-air (OTA).
OtaDataPlaneProtocol
Atribut menunjukkan protokol dataplane OTA mana yang didukung perangkat. Atribut diabaikan jika fitur OTA tidak didukung oleh perangkat. Kapan"Both"
dipilih, waktu eksekusi pengujian OTA diperpanjang karena menjalankan MQTT, HTTP, dan tes campuran.catatan
Dimulai dengan IDT v4.1.0, hanya
OtaDataPlaneProtocol
menerimaHTTP
danMQTT
sebagai nilai yang didukung. BLE
-
Menunjukkan apakah papan Anda mendukung Bluetooth Low Energy (BLE).
devices.id
-
Pengenal unik yang ditetapkan pengguna untuk perangkat yang sedang diuji.
devices.connectivity.protocol
-
Protokol komunikasi yang digunakan untuk berkomunikasi dengan perangkat ini. Nilai yang didukung:
uart
. devices.connectivity.serialPort
-
Port serial komputer host digunakan untuk terhubung ke perangkat yang sedang diuji.
devices.secureElementConfig.PublicKeyAsciiHexFilePath
-
Jalur absolut ke file yang berisi hex byte kunci publik yang diekstrak dari kunci pribadi onboard.
Contoh format:
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
Jika kunci publik Anda dalam format.der, Anda dapat menyandikan kunci publik secara langsung untuk menghasilkan file hex.
Contoh perintah untuk kunci publik.der untuk menghasilkan file hex:
xxd -p pubkey.der > outFile
Jika kunci publik Anda dalam format.pem, Anda dapat mengekstrak bagian yang dikodekan base64, mendekodekannya ke dalam format biner, dan kemudian hex menyandikannya untuk menghasilkan file hex.
Misalnya, gunakan perintah ini untuk menghasilkan file hex untuk kunci publik.pem:
-
Keluarkan bagian kunci yang dikodekan base64 (strip header dan footer) dan simpan dalam file, misalnya beri nama
base64key
, jalankan perintah ini untuk mengubahnya menjadi format.der:base64 —decode base64key > pubkey.der
-
Jalankan
xxd
perintah untuk mengubahnya menjadi format hex.xxd -p pubkey.der > outFile
-
devices.secureElementConfig.SecureElementSerialNumber
-
(Opsional) Nomor seri elemen aman. Berikan bidang ini saat nomor seri dicetak bersama dengan kunci publik perangkat saat Anda menjalankan proyek FreeRTOS demo/test .
devices.secureElementConfig.preProvisioned
-
(Opsional) Setel ke “Ya” jika perangkat memiliki elemen aman yang telah disediakan sebelumnya dengan kredensil terkunci, yang tidak dapat mengimpor, membuat, atau menghancurkan objek. Konfigurasi ini berlaku hanya ketika
features
telahKeyProvisioning
disetel ke “Onboard”, bersama denganPKCS11
disetel ke “ECC”. identifiers
-
(Opsional) Sebuah array pasangan nama-nilai arbitrer. Anda dapat menggunakan nilai-nilai ini dalam perintah build dan flash yang dijelaskan di bagian selanjutnya.