Tutorial: Bangun dan jalankan sampel rangkaian tes IDT - AWS IoT Greengrass

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

Tutorial: Bangun dan jalankan sampel rangkaian tes IDT

Unduhan AWS IoT Device Tester meliputi kode sumber untuk rangkaian tes sampel. Anda dapat menyelesaikan tutorial ini untuk membangun dan menjalankan sampel rangkaian tes untuk memahami bagaimana Anda dapat menggunakan IDT untuk AWS IoT Greengrass untuk menjalankan rangkaian tes kustom.

Dalam tutorial ini, Anda akan melakukan 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 AWS IoT Device Tester terbaru

    • 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

Opsional. 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 dalam IDTSampleSuitePython_1.0.0 folder untuk memahami bagaimana rangkaian pengujian sampel terstruktur, dan untuk melihat berbagai contoh executable kasus uji dan file JSON konfigurasi pengujian.

catatan

Rangkaian pengujian sampel menyertakan kode sumber python. Jangan sertakan informasi sensitif dalam kode rangkaian pengujian Anda.

Langkah berikutnya: Gunakan IDT untuk menjalankan rangkaian tes sampel yang Anda buat.

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

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