Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
Creare e gestire comandi
Importante
L'accesso a determinate FleetWise funzionalità AWS IoT è attualmente limitato. Per ulteriori informazioni, consulta AWS Disponibilità di aree e funzionalità nell' AWS IoT FleetWise.
Puoi configurare azioni remote riutilizzabili o inviare istruzioni immediate e una tantum ai tuoi dispositivi. Quando si utilizza questa funzionalità, è possibile specificare le istruzioni che i dispositivi possono eseguire quasi in tempo reale. Un comando consente di configurare azioni remote riutilizzabili per il veicolo bersaglio. Dopo aver creato un comando, puoi avviare un'esecuzione di comando destinata a un veicolo specifico.
In questo argomento viene illustrato come creare e gestire una risorsa di comando utilizzando l' AWS IoT Core API o il AWS CLI. Viene illustrato come eseguire le seguenti azioni su una risorsa di comando.
Argomenti
Crea una risorsa di comando
È possibile utilizzare l'operazione API del piano di CreateCommand
AWS IoT Core controllo o la FleetWise console AWS IoT per creare un comando.
Puoi usare la FleetWise console AWS IoT per creare un comando.
Per creare un comando
-
Apri la FleetWise console AWS IoT
. -
Nel riquadro di navigazione, scegli Comandi.
Scegli il comando Crea.
Specificate un ID di comando univoco per aiutarvi a identificare il comando che desiderate eseguire sul veicolo.
(Facoltativo) Specificate un nome visualizzato e una descrizione opzionali.
(Facoltativo) Selezionate l'attuatore e il valore del parametro predefinito. I parametri specificano le azioni che il veicolo bersaglio può eseguire dopo aver ricevuto il comando. Se non aggiungete parametri, dovrete fornirli durante l'esecuzione del comando.
Scegli un ruolo IAM che conceda le autorizzazioni per generare il payload per i comandi. Vedi Controllo dell'accesso.
Scegli il comando Crea.
L'esempio seguente mostra come creare un comando con un parametro.
Considerazioni sulla creazione di un comando
Quando si crea un comando in AWS IoT FleetWise:
-
Devi specificare
roleArn
quello che concede l'autorizzazione a creare ed eseguire comandi sul tuo veicolo. Per ulteriori informazioni e sulle politiche di esempio, tra cui l'attivazione delle chiavi KMS, consulta. Concedi AWS IoT Device Management l'autorizzazione a generare il payload per i comandi con AWS IoT FleetWise -
È necessario specificare
AWS-IoT-FleetWise
come spazio dei nomi. -
È possibile ignorare il
mandatory-parameters
campo e specificarli invece in fase di esecuzione. In alternativa, è possibile creare un comando con parametri e, facoltativamente, specificare i relativi valori predefiniti. Se sono stati specificati valori predefiniti, in fase di esecuzione è possibile utilizzare tali valori o sostituirli specificando valori personalizzati. Per questi esempi aggiuntivi, vedere. Scenari di utilizzo dei comandi -
È possibile specificare fino a tre coppie nome-valore per il
mandatory-parameters
campo. Tuttavia, quando si esegue il comando sul veicolo, viene accettata solo una coppia nome-valore e ilname
campo deve utilizzare il nome completo con il prefisso.$actuatorPath.
-
Sostituirlo
command-id
con un identificatore univoco per il comando. È possibile utilizzare UUID, caratteri alfanumerici, «-» e «_». -
Sostituiscilo
role-arn
con il ruolo IAM che ti concede l'autorizzazione a creare ed eseguire comandi, ad esempio,."arn:aws:iam:
accountId
:role/FwCommandExecutionRole
" -
(Facoltativo) Sostituiscilo
display-name
con un nome intuitivo per il comando edescription
con una descrizione significativa del comando. -
Sostituisci
name
evalue
dell'mandatory-parameters
oggetto con le informazioni richieste per il comando che stai creando. Ilname
campo è il nome completo definito nel catalogo dei segnali con$actuatorPath.
come prefisso. Ad esempio,name
può essere$actuatorPath.Vehicle.Chassis.SteeringWheel.HandsOff.HandsOffSteeringMode
evalue
può essere un valore booleano che indica uno stato della modalità di guida come.{"B": false}
aws iot create-command --command-id
command-id
\ --role-arnrole-arn
\ --descriptiondescription
\ --display-namedisplay-name
\ --namespace "AWS-IoT-FleetWise" \ --mandatory-parameters '[ { "name":name
, "value":value
} ]'
L'operazione CreateCommand
API restituisce una risposta che contiene l'ID e l'ARN (Amazon Resource Name) del comando.
{ "commandId": "HandsOffSteeringMode", "commandArn": "arn:aws:iot:ap-south-1:123456789012:command/HandsOffSteeringMode" }
Recupera informazioni su un comando
È possibile utilizzare l'operazione API del piano di GetCommand
AWS IoT Core controllo per recuperare informazioni su una risorsa di comando.
Per ottenere informazioni su una risorsa di comando, esegui il comando seguente. Sostituisci command-id
con l'identificatore utilizzato durante la creazione del comando.
aws iot get-command --command-id
command-id
L'operazione GetCommand
API restituisce una risposta che contiene le seguenti informazioni.
-
L'ID e l'ARN (Amazon Resource Name) del comando.
-
La data e l'ora in cui il comando è stato creato e aggiornato l'ultima volta.
-
Lo stato del comando che indica se è disponibile per l'esecuzione sul veicolo.
-
Qualsiasi parametro specificato durante la creazione del comando.
{ "commandId": "HandsOffSteeringMode", "commandArn": "arn:aws:iot:ap-south-1:123456789012:command/HandsOffSteeringMode"", "namespace": "AWS-IoT-FleetWise", "mandatoryParameters":[ { "name": "$actuatorPath.Vehicle.Chassis.SteeringWheel.HandsOff.HandsOffSteeringMode", "value": {"B": false } } ], "createdAt": "2024-03-23T11:24:14.919000-07:00", "lastUpdatedAt": "2024-03-23T11:24:14.919000-07:00", "deprecated": false, "pendingDeletion": false }
Elenca i comandi nel tuo account
Puoi utilizzare l'operazione API del piano di ListCommands
AWS IoT Core controllo per elencare tutti i comandi dell'account che hai creato.
Per elencare i comandi nel tuo account, esegui il comando seguente. Per impostazione predefinita, l'API restituisce i comandi creati per entrambi i namespace. Per filtrare l'elenco in modo da visualizzare solo i comandi per cui sono stati creati AWS IoT FleetWise, esegui il comando seguente.
Nota
È inoltre possibile ordinare l'elenco in ordine crescente o decrescente oppure filtrare l'elenco per visualizzare solo i comandi con un nome di parametro di comando specifico.
aws iot list-commands --namespace "AWS-IoT-FleetWise"
L'operazione ListCommands
API restituisce una risposta che contiene le seguenti informazioni.
-
L'ID e l'ARN (Amazon Resource Name) dei comandi.
-
La data e l'ora in cui il comando è stato creato e aggiornato l'ultima volta.
-
Lo stato del comando che indica se i comandi sono disponibili per l'esecuzione sul veicolo.
Aggiorna o depreca una risorsa di comando
È possibile utilizzare l'operazione API del piano di UpdateCommand
AWS IoT Core controllo o la FleetWise console AWS IoT per aggiornare una risorsa di comando. È possibile aggiornare il nome visualizzato e la descrizione di un comando. È inoltre possibile rendere obsoleto un comando se non è attualmente in uso.
Nota
Non è possibile modificare le informazioni sullo spazio dei nomi o i parametri da utilizzare durante l'esecuzione del comando.
Aggiornare un comando
Per aggiornare un comando dalla console, vai alla pagina Comandi
-
Scegli il comando che desideri aggiornare, quindi scegli Modifica.
Modifica i dettagli del comando, quindi scegli Salva modifiche.
Deprecate un comando
Per rendere obsoleto un comando dalla console, vai alla pagina Comandi
-
Scegli il comando che desideri rendere obsoleto, quindi scegli Deprecate.
Conferma la deprecazione, quindi scegli Deprecate.
Aggiornare un comando
Per aggiornare una risorsa di comando, esegui il comando seguente. Sostituiscila command-id
con l'identificatore del comando che desideri aggiornare e fornisci la versione aggiornata display-name
edescription
.
aws iot update-command \ --command-id
command-id
\ --display-namedisplay-name
\ --descriptiondescription
L'operazione UpdateCommand
API restituisce la seguente risposta.
{ "commandId": "HandsOffSteeringMode", "deprecated": false, "lastUpdatedAt": "2024-05-09T23:16:51.370000-07:00" }
Deprecare un comando
Un comando viene considerato obsoleto quando si intende non continuare a utilizzarlo per il dispositivo o quando è obsoleto. L'esempio seguente mostra come rendere obsoleto un comando.
aws iot update-command \ --command-id
command-id
\ --deprecated
L'operazione UpdateCommand
API restituisce una risposta che contiene l'ID e l'ARN (Amazon Resource Name) del comando.
{ "commandId": "HandsOffSteeringMode", "deprecated": true, "lastUpdatedAt": "2024-05-09T23:16:51.370000-07:00" }
Una volta che un comando è diventato obsoleto, le esecuzioni di comandi esistenti continueranno a essere eseguite sul veicolo fino a quando non diventeranno terminali. Per eseguire nuove esecuzioni di comandi, è necessario utilizzare l'UpdateCommand
API per ripristinare il comando in modo che diventi disponibile. Per ulteriori informazioni sulla deprecazione e il ripristino di un comando e relative considerazioni, consulta Deprecare una risorsa di comando nella Developer Guide.AWS IoT Core
Eliminare una risorsa di comando
È possibile utilizzare l'operazione API del piano di DeleteCommand
AWS IoT Core controllo o la FleetWise console AWS IoT per eliminare una risorsa di comando.
Nota
Le operazioni di eliminazione sono permanenti e non possono essere annullate. Il comando verrà rimosso definitivamente dal tuo account.
Per eliminare un comando dalla console, vai alla pagina Comandi
-
Scegli il comando che desideri eliminare, quindi scegli Elimina.
Confermate di voler eliminare il comando, quindi scegliete Elimina.
Per eliminare una risorsa di comando, esegui il comando seguente. Sostituisci command-id
con l'identificatore del comando che desideri eliminare. L'esempio seguente mostra come eliminare una risorsa di comando.
aws iot delete-command --command-id
command-id
Se la richiesta di eliminazione ha esito positivo:
-
Se il comando è obsoleto per una durata superiore al timeout massimo di 24 ore, il comando verrà eliminato immediatamente e verrà visualizzato un HTTP di 204.
statusCode
-
Se il comando non è obsoleto o è stato obsoleto per una durata inferiore al timeout massimo, il comando sarà in uno stato e verrà visualizzato un HTTP di 202.
pending deletion
statusCode
Il comando verrà rimosso automaticamente dal tuo account dopo il timeout massimo di 24 ore.