Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Contoh: Menggunakan perintah untuk mengontrol mode kemudi kendaraan (AWS CLI)
penting
Akses ke FleetWise fitur AWS IoT tertentu saat ini terjaga keamanannya. Untuk informasi selengkapnya, lihat AWS Ketersediaan wilayah dan fitur di AWS IoT FleetWise.
Contoh berikut menunjukkan kepada Anda cara menggunakan fitur perintah menggunakan AWS CLI. Contoh ini menggunakan AWS IoT FleetWise kendaraan sebagai perangkat target untuk menunjukkan bagaimana Anda dapat mengirim perintah untuk mengontrol mode kemudi dari jarak jauh.
Topik
Ikhtisar contoh mode kemudi kendaraan
Dalam contoh ini, Anda akan:
-
Buat sumber daya perintah untuk operasi menggunakan
create-commandAWS CLI untuk mengubah mode kemudi kendaraan. -
Ambil informasi tentang perintah, seperti waktu ketika itu dibuat atau terakhir diperbarui menggunakan.
get-commandAWS CLI -
Kirim perintah ke kendaraan menggunakan
start-command-executionAWS CLI dengan mode kemudi sebagai parameter wajib, yang kemudian akan dieksekusi pada perangkat. -
Dapatkan hasil eksekusi perintah menggunakan file
get-command-executionAWS CLI. Anda dapat memeriksa kapan eksekusi selesai, dan mengambil detail tambahan seperti hasil eksekusi, dan waktu yang dibutuhkan untuk menyelesaikan eksekusi perintah. -
Lakukan aktivitas pembersihan dengan menghapus perintah dan eksekusi perintah apa pun yang tidak ingin Anda gunakan lagi.
Prasyarat
Sebelum Anda menjalankan contoh ini:
-
Menyediakan AWS IoT FleetWise kendaraan Anda sebagai AWS IoT sesuatu dalam AWS IoT registri. Anda juga harus menambahkan sertifikat ke barang Anda dan mengaktifkannya, dan melampirkan kebijakan untuk barang Anda. Perangkat Anda kemudian dapat terhubung ke cloud dan menjalankan perintah. Untuk informasi selengkapnya, lihat Menyediakan kendaraan.
-
Buat pengguna IAM dan kebijakan IAM yang memberi Anda izin untuk melakukan operasi API untuk menggunakan perintah, seperti yang ditunjukkan dalam. Kebijakan IAM untuk menggunakan perintah jarak jauh
Kebijakan IAM untuk menggunakan perintah jarak jauh
Tabel berikut menunjukkan contoh kebijakan IAM yang memberikan akses ke semua operasi API bidang kontrol dan bidang data untuk fitur perintah. Pengguna aplikasi akan memiliki izin untuk melakukan semua operasi API perintah jarak jauh, seperti yang ditunjukkan pada tabel.
| Tindakan API | Bidang kontrol/data | Protokol | Deskripsi | Sumber daya |
|---|---|---|---|---|
CreateCommand |
Bidang kontrol | HTTP | Menciptakan sumber daya perintah |
|
GetCommand |
Bidang kontrol | HTTP | Mengambil informasi tentang perintah |
|
UpdateCommand |
Bidang kontrol | HTTP | Memperbarui informasi tentang perintah atau untuk mencela |
|
ListCommands |
Bidang kontrol | HTTP | Daftar perintah di akun Anda |
|
DeleteCommand |
Bidang kontrol | HTTP | Menghapus perintah |
|
StartCommandExecution |
Bidang data | HTTP | Mulai mengeksekusi perintah |
|
UpdateCommandExecution |
Bidang data | MQTT | Perbarui eksekusi perintah |
|
GetCommandExecution |
Bidang kontrol | HTTP | Mengambil informasi tentang eksekusi perintah |
|
ListCommandExecutions |
Bidang kontrol | HTTP | Daftar eksekusi perintah di akun Anda |
|
DeleteCommandExecution |
Bidang kontrol | HTTP | Menghapus eksekusi perintah |
|
Dalam contoh ini, ganti:
-
dengan Anda Wilayah AWS, sepertius-east-1ap-south-1. -
dengan Akun AWS nomor Anda, seperti11112222333357EXAMPLE833. -
,command-id, dancommand-id1dengan pengidentifikasi perintah unik Anda, seperticommand-id2LockDooratauTurnOffAC. -
dengan nama AWS IoT benda Anda, sepertithing-namemy_car.
Jalankan AWS IoT perintah (AWS CLI)
Berikut ini menunjukkan bagaimana Anda dapat menggunakan AWS CLI untuk melakukan operasi perintah dan mengubah mode kemudi kendaraan.
-
Buat sumber daya perintah untuk operasi mode kemudi
Buat perintah yang ingin Anda kirim ke perangkat Anda menggunakan
create-commandCLI. Dalam contoh ini, tentukan:-
command-idsebagaiTurnOffSteeringMode -
role-arnsebagai"arn:aws:iam:accountId:role/FwCommandExecutionRole"role-arnHarus disediakan, karena itu adalah peran IAM yang memberikan izin untuk membuat dan menjalankan perintah pada kendaraan Anda. Untuk informasi selengkapnya, lihat Berikan AWS IoT Device Management izin untuk menghasilkan muatan untuk perintah dengan AWS IoT FleetWise. -
display-namesebagai "”Turn off steering mode -
namespaceharusAWS-IoT-FleetWise -
mandatory-parameterssebagai pasangan nama-nilai, dengannamesebagai "$actuatorPath.Vehicle.Chassis.SteeringWheel.TurnOffSteeringMode" dan defaultValue sebagai{ "S": "true" }catatan
Anda juga dapat membuat perintah tanpa menentukan parameter wajib apa pun. Anda kemudian harus menentukan parameter yang akan digunakan saat menjalankan perintah menggunakan
start-command-executionCLI. Sebagai contoh, lihat Skenario penggunaan perintah.
penting
Saat menggunakan
AWS-IoT-FleetWisenamespace, Anda harus memastikan bahwaNamebidang yang ditentukan sebagai bagian darimandatory-parameterspenggunaan$actuatorPath.awalan, danValuebidang harus menggunakan tipe data string.aws iot create-command \ --command-idTurnOffSteeringMode\ --role-arn "arn:aws:iam:accountId:role/FwCommandExecutionRole" \ --display-name "Turn off steering mode" \ --namespace AWS-IoT-FleetWise \ --mandatory-parameters '[ { "name": "$actuatorPath.Vehicle.Chassis.SteeringWheel.TurnOffSteeringMode", "defaultValue": {"S": "true"} } ]'Output berikut menunjukkan respon sampel dari CLI, di mana
ap-south-1dan123456789012merupakan contoh dari Wilayah AWS dan Akun AWS ID.{ "commandId": "TurnOffSteeringMode", "commandArn": "arn:aws:iot:ap-south-1:123456789012:command/TurnOffSteeringMode" }Untuk contoh tambahan tentang penggunaan perintah ini, lihatBuat sumber daya perintah.
-
-
Ambil informasi tentang perintah
Jalankan perintah berikut untuk mengambil informasi tentang perintah, di mana
command-idID perintah dalam outputcreate-commandoperasi dari atas.catatan
Jika Anda membuat lebih dari satu perintah, Anda dapat menggunakan
ListCommandsAPI untuk mencantumkan semua perintah di akun Anda, lalu menggunakanGetCommandAPI untuk mendapatkan informasi tambahan tentang perintah tertentu. Untuk informasi selengkapnya, lihat Daftar perintah di akun Anda.aws iot get-command --command-idTurnOffSteeringModeMenjalankan perintah ini menghasilkan respons berikut. Anda akan melihat waktu ketika perintah dibuat dan kapan terakhir diperbarui, parameter apa pun yang Anda tentukan, dan apakah perintah tersedia untuk dijalankan pada perangkat.
{ "commandId": "TurnOffSteeringMode", "commandArn": "arn:aws:iot:ap-south-1:123456789012:command/TurnOffSteeringMode", "namespace": "AWS-IoT-FleetWise", "mandatoryParameters":[ { "name": "$actuatorPath.Vehicle.Chassis.SteeringWheel.TurnOffSteeringMode", "defaultValue": {"S": "true" } } ], "createdAt": "2024-03-23T00:50:10.095000-07:00", "lastUpdatedAt": "2024-03-23T00:50:10.095000-07:00", "deprecated": false }Untuk contoh tambahan tentang penggunaan perintah ini, lihatMengambil informasi tentang perintah.
-
Mulai eksekusi perintah
Jalankan perintah berikut untuk mulai menjalankan perintah, di
command-arnmana perintah ARN dalam output operasi dariget-commandatas.target-arnIni adalah ARN dari perangkat target tempat Anda menjalankan perintah, misalnya,.myVehicleDalam contoh ini, karena Anda memberikan nilai default untuk parameter saat membuat perintah,
start-command-executionCLI dapat menggunakan nilai-nilai ini saat menjalankan perintah. Anda juga dapat memilih untuk mengganti nilai default dengan menentukan nilai yang berbeda untuk parameter saat menggunakan CLI.aws iot-data start-command-execution \ --command-arn arn:aws:iot:ap-south-1:123456789012:command/TurnOffSteeringMode\ --target-arn arn:aws:iot:ap-south-1:123456789012:thing/myVehicleMenjalankan perintah ini mengembalikan ID eksekusi perintah. Anda dapat menggunakan ID ini untuk menanyakan status eksekusi perintah, detail, dan riwayat eksekusi perintah.
{ "executionId": "07e4b780-7eca-4ffd-b772-b76358da5542" }Untuk contoh tambahan tentang penggunaan CLI, lihat. Kirim perintah (AWS CLI)
-
Mengambil informasi tentang eksekusi perintah
Jalankan perintah berikut untuk mengambil informasi tentang perintah yang Anda jalankan pada perangkat target. Tentukan
execution-id, yang Anda peroleh sebagai outputstart-command-executionoperasi dari atas, dantarget-arn, yang merupakan ARN perangkat yang Anda targetkan.catatan
-
Untuk mendapatkan informasi status terbaru, perangkat Anda harus telah mempublikasikan informasi status yang diperbarui ke topik respons cadangan MQTT untuk perintah menggunakan MQTT API.
UpdateCommandExecutionUntuk informasi selengkapnya, lihat Perbarui hasil eksekusi perintah. -
Jika Anda memulai lebih dari satu eksekusi perintah, Anda dapat menggunakan
ListCommandExecutionsAPI untuk mencantumkan semua eksekusi perintah di akun Anda, dan kemudian menggunakanGetCommandExecutionAPI untuk mendapatkan informasi tambahan tentang eksekusi tertentu. Untuk informasi selengkapnya, lihat Daftar eksekusi perintah di akun Anda.
aws iot get-command-execution \ --execution-id<"07e4b780-7eca-4ffd-b772-b76358da5542">\ --target-arn arn:aws:iot:us-east-1:<account>:thing/myVehicleMenjalankan perintah ini mengembalikan informasi tentang eksekusi perintah, status eksekusi, waktu ketika mulai mengeksekusi, dan waktu ketika itu selesai. Misalnya, respons berikut menunjukkan bahwa eksekusi perintah berhasil pada perangkat target dan mode kemudi dimatikan.
{ "executionId": "07e4b780-7eca-4ffd-b772-b76358da5542", "commandArn": "arn:aws:iot:ap-south-1:123456789012:command/TurnOffSteeringMode", "targetArn": "arn:aws:iot:ap-south-1:123456789012:thing/myVehicle", "result": "SUCCEEDED", "statusReason": { "reasonCode": "65536", "reasonDescription": "SUCCESS" }, "result": { "KeyName": { "S": "", "B": true, "BIN": null } }, "createdAt": "2024-03-23T00:50:10.095000-07:00", "completedAt": "2024-03-23T00:50:10.095000-07:00", "parameters": '{ "$actuatorPath.Vehicle.Chassis.SteeringWheel.TurnOffSteeringMode": { "S": "true" } }' } -
Membersihkan
Sekarang setelah Anda membuat perintah dan menjalankannya di perangkat Anda, jika Anda tidak lagi berniat menggunakan perintah ini, Anda dapat menghapusnya. Setiap eksekusi perintah yang tertunda yang sedang berlangsung akan terus berjalan tanpa terpengaruh oleh permintaan penghapusan.
catatan
Atau, Anda juga dapat menghentikan perintah jika sudah usang dan Anda mungkin perlu menggunakannya nanti untuk berjalan di perangkat target.
-
(Opsional) Menghilangkan sumber daya perintah
Jalankan perintah berikut untuk menghentikan perintah, di
command-idmana ID perintah dalam outputget-commandoperasi dari atas.aws iot update-command \ --command-idTurnOffSteeringMode\ --deprecatedMenjalankan perintah ini mengembalikan output yang menunjukkan perintah telah usang. Anda juga dapat menggunakan CLI untuk mengembalikan perintah.
catatan
Anda juga dapat menggunakan
update-commandCLI untuk memperbarui nama tampilan dan deskripsi perintah. Untuk informasi tambahan, lihat Memperbarui atau menghentikan sumber daya perintah.{ "commandId": "TurnOffSteeringMode", "deprecated": true, "lastUpdatedAt": "2024-05-09T23:16:51.370000-07:00" } -
Hapus perintah
Jalankan perintah berikut untuk menghapus perintah, yang ditentukan oleh
command-id.catatan
Tindakan penghapusan bersifat permanen dan tidak dapat dibatalkan.
aws iot delete-command --command-idTurnOffSteeringModeJika permintaan penghapusan berhasil, Anda akan melihat HTTP
statusCode202 atau 204 tergantung pada apakah Anda menandai perintah untuk penghentian dan kapan itu tidak digunakan lagi. Untuk informasi lebih lanjut dan contoh, lihat Hapus sumber daya perintah.Anda dapat menggunakan
get-commandCLI untuk memverifikasi bahwa perintah telah dihapus dari akun Anda. -
(Opsional) Hapus eksekusi perintah
Secara default, semua eksekusi perintah akan dihapus dalam enam bulan sejak tanggal Anda membuatnya. Anda dapat melihat informasi ini menggunakan
timeToLiveparameter dariGetCommandExecutionAPI.Atau, jika eksekusi perintah Anda telah menjadi terminal, seperti ketika status eksekusi Anda adalah salah satu
SUCCEEDED,FAILED, atauREJECTED, Anda dapat menghapus eksekusi perintah. Jalankan perintah berikut untuk menghapus eksekusi, di manaexecution-idID Eksekusi dalam outputget-command-executionoperasi dari atas.aws iot delete-command-execution \ --execution-id"07e4b780-7eca-4ffd-b772-b76358da5542"Anda dapat menggunakan
get-command-executionCLI untuk memverifikasi bahwa eksekusi perintah telah dihapus dari akun Anda.