Tutorial: Bangun sampel rangkaian tes IDT - AWS IoT Greengrass

AWS IoT Greengrass Version 1 memasuki fase umur panjang pada 30 Juni 2023. Untuk informasi selengkapnya, lihat kebijakan AWS IoT Greengrass V1 pemeliharaan. Setelah tanggal ini, tidak AWS IoT Greengrass V1 akan merilis pembaruan yang menyediakan fitur, penyempurnaan, perbaikan bug, atau patch keamanan. Perangkat yang berjalan AWS IoT Greengrass V1 tidak akan terganggu dan akan terus beroperasi dan terhubung ke cloud. Kami sangat menyarankan Anda bermigrasi ke AWS IoT Greengrass Version 2, yang menambahkan fitur baru yang signifikan dan dukungan untuk platform tambahan.

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Tutorial: Bangun sampel rangkaian tes IDT

Unduhan AWS IoT Penguji Perangkat mencakup kode sumber untuk rangkaian pengujian sampel. Anda dapat menyelesaikan tutorial ini untuk membangun dan menjalankan rangkaian pengujian sampel untuk memahami bagaimana Anda dapat menggunakan AWS IoT Penguji Perangkat untuk AWS IoT Greengrass untuk menjalankan rangkaian pengujian khusus.

Dalam tutorial ini, Anda akan menyelesaikan langkah-langkah berikut:

  1. Bangun rangkaian uji sampel

  2. Gunakan IDT untuk menjalankan rangkaian uji sampel

Prasyarat

Untuk menyelesaikan tutorial ini, Anda memerlukan hal berikut ini:

  • Persyaratan komputer host
    • Versi terbaru dari AWS IoT Penguji Perangkat

    • Python 3.7 atau yang lebih baru

      Untuk memeriksa versi Python yang diinstal pada komputer Anda, jalankan perintah berikut:

      python3 --version

      Pada Windows, jika penggunaan perintah ini menghasilkan kesalahan, gunakan python --version sebagai gantinya. Jika nomor versi yang dikembalikan adalah 3,7 atau lebih besar, jalankan perintah berikut di terminal Powershell untuk mengatur python3 sebagai alias untuk perintah python.

      Set-Alias -Name "python3" -Value "python"

      Jika tidak ada informasi versi yang dikembalikan atau jika nomor versi kurang dari 3,7, ikuti petunjuk di Mengunduh Py untuk menginstal Python 3.7+. Untuk informasi selengkapnya, lihat dokumentasi Python.

    • urllib3

      Untuk memverifikasi bahwa urllib3 diinstal dengan benar, jalankan perintah berikut:

      python3 -c 'import urllib3'

      Jika urllib3 belum terinstal, gunakan perintah berikut untuk menginstalnya:

      python3 -m pip install urllib3
  • Persyaratan perangkat
    • Perangkat dengan sistem operasi Linux dan koneksi jaringan ke jaringan yang sama dengan komputer host Anda.

      Kami menyarankan agar Anda menggunakan Raspberry Pi dengan OS Raspberry Pi. Pastikan Anda mengatur SSH pada Raspberry Pi Anda untuk terhubung secara jarak jauh ke sana.

Konfigurasi informasi perangkat untuk IDT

Konfigurasi informasi perangkat Anda untuk IDT untuk menjalankan tes. Anda harus memperbarui templat device.json yang terletak di folder <device-tester-extract-location>/configs dengan informasi berikut.

[ { "id": "pool", "sku": "N/A", "devices": [ { "id": "<device-id>", "connectivity": { "protocol": "ssh", "ip": "<ip-address>", "port": "<port>", "auth": { "method": "pki | password", "credentials": { "user": "<user-name>", "privKeyPath": "/path/to/private/key", "password": "<password>" } } } } ] } ]

Di objek devices, berikan informasi berikut:

id

Pengenal unik yang ditetapkan pengguna untuk perangkat Anda.

connectivity.ip

Alamat IP perangkat Anda.

connectivity.port

Tidak wajib. Nomor port yang digunakan untuk koneksi SSH ke perangkat Anda.

connectivity.auth

Informasi autentikasi untuk koneksi tersebut.

Properti ini hanya berlaku jika connectivity.protocol diatur ke ssh.

connectivity.auth.method

Metode autentikasi yang digunakan untuk mengakses perangkat melalui protokol konektivitas yang diberikan.

Nilai yang didukung adalah:

  • pki

  • password

connectivity.auth.credentials

Kredensial yang digunakan untuk autentikasi.

connectivity.auth.credentials.user

Nama pengguna yang digunakan untuk masuk ke perangkat Anda.

connectivity.auth.credentials.privKeyPath

Jalur lengkap ke kunci pribadi yang digunakan untuk masuk ke perangkat Anda.

Nilai ini hanya berlaku jika connectivity.auth.method diatur ke pki.

devices.connectivity.auth.credentials.password

Kata sandi yang digunakan untuk masuk ke perangkat Anda.

Nilai ini hanya berlaku jika connectivity.auth.method diatur ke password.

catatan

Tentukan privKeyPath hanya jika method diatur ke pki.

Tentukan password hanya jika method diatur ke password.

Bangun rangkaian uji sampel

Folder <device-tester-extract-location>/samples/python berisi contoh file konfigurasi, kode sumber, dan SDK Klien IDT yang dapat Anda gabungkan ke dalam rangkaian tes dengan menggunakan skrip build yang disediakan. Pohon direktori berikut menunjukkan lokasi file contoh ini:

<device-tester-extract-location> ├── ... ├── tests ├── samples │ ├── ... │ └── python │ ├── configuration │ ├── src │ └── build-scripts │ ├── build.sh │ └── build.ps1 └── sdks ├── ... └── python └── idt_client

Untuk membangun rangkaian tes, jalankan perintah berikut pada komputer host Anda:

Windows
cd <device-tester-extract-location>/samples/python/build-scripts ./build.ps1
Linux, macOS, or UNIX
cd <device-tester-extract-location>/samples/python/build-scripts ./build.sh

Hal ini akan menciptakan rangkaian uji sampel di folder IDTSampleSuitePython_1.0.0 dalam folder <device-tester-extract-location>/tests. Tinjau file di folder IDTSampleSuitePython_1.0.0 untuk memahami bagaimana sampel rangkaian tes dibangun dan untuk melihat berbagai contoh uji kasus executable dan konfigurasi tes file JSON.

Langkah berikutnya: Gunakan IDTjalankan rangkaian uji sampelyang Anda ciptakan.

Gunakan IDT untuk menjalankan rangkaian uji sampel

Untuk membangun rangkaian tes, jalankan perintah berikut pada komputer host Anda:

cd <device-tester-extract-location>/bin ./devicetester_[linux | mac | win_x86-64] run-suite --suite-id IDTSampleSuitePython

IDT menjalankan sampel rangkaian tes dan mengalirkan hasil ke konsol. Ketika tes telah selesai berjalan, Anda akan melihat informasi berikut:

========== Test Summary ========== Execution Time: 5s Tests Completed: 4 Tests Passed: 4 Tests Failed: 0 Tests Skipped: 0 ---------------------------------- Test Groups: sample_group: PASSED ---------------------------------- Path to IoT Device Tester Report: /path/to/devicetester/results/87e673c6-1226-11eb-9269-8c8590419f30/awsiotdevicetester_report.xml Path to Test Execution Logs: /path/to/devicetester/results/87e673c6-1226-11eb-9269-8c8590419f30/logs Path to Aggregated JUnit Report: /path/to/devicetester/results/87e673c6-1226-11eb-9269-8c8590419f30/IDTSampleSuitePython_Report.xml

Pemecahan Masalah

Gunakan informasi berikut untuk membantu menyelesaikan masalah dengan menyelesaikan tutorial.

Uji kasus tidak berjalan dengan sukses

Jika tes tidak berjalan sukses, IDT akan mengalirkan log kesalahan ke konsol yang dapat membantu Anda memecahkan masalah uji coba. Pastikan Anda memenuhi semua prasyarat untuk tutorial ini.

Tidak dapat menyambung ke perangkat yang sedang diuji

Verifikasi hal berikut:

  • File device.json Anda berisi alamat IP, port, dan informasi autentikasi yang benar.

  • Anda dapat terhubung ke perangkat Anda melalui SSH dari komputer host Anda.