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à.
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.
Quando si utilizza la funzionalità dei comandi remoti, è possibile creare ed eseguire comandi nei seguenti scenari:
-
È possibile omettere i parametri durante la creazione e specificare solo l'ID del comando. In questo caso, è necessario specificare i parametri da utilizzare quando si esegue il comando sul dispositivo di destinazione.
-
È possibile specificare uno o più parametri e configurarne i valori predefiniti durante la creazione del comando. L'immissione di valori predefiniti ti aiuterà a proteggerti dall'invio di comandi imprecisi.
-
È possibile specificare uno o più parametri e configurarne i valori durante la creazione del comando. È possibile fornire più di un parametro, ma solo uno di essi verrà eseguito e il
Name
campo di questo parametro deve utilizzare il$actuatorPath
prefisso.
Questa sezione fornisce alcuni scenari di utilizzo per CreateCommand
e l'StartCommandExecution
API e l'utilizzo dei parametri. Vengono inoltre mostrati alcuni esempi di utilizzo di comandi remoti con modelli di stato.
Argomenti
Creazione di un comando senza parametri
Il seguente caso d'uso mostra come utilizzare l'CreateCommand
API o la create-command
CLI per creare un comando senza parametri. Quando crei un comando, devi solo fornire un ID di comando e un ARN del ruolo.
Questo caso d'uso è particolarmente utile nei casi d'uso ricorrenti, ad esempio quando si desidera inviare lo stesso comando più volte a un veicolo. In questo caso, il comando non è legato a un attuatore specifico e offre la flessibilità di eseguire il comando su qualsiasi attuatore. È invece necessario specificare i parametri in fase di esecuzione quando si esegue il comando utilizzando l'StartCommandExecution
API o la start-command-execution
CLI, che include gli attuatori e i valori del segnale fisico.
Questo caso d'uso mostra come creare un comando senza l'immissione di parametri obbligatori.
aws iot create-command \
--command-id "UserJourney1" \
--role-arn "arn:aws:iam:accountId
:role/FwCommandExecutionRole
" \
--description "UserJourney1 - No mandatory parameters" \
--namespace "AWS-IoT-FleetWise"
In questo primo esempio, il comando creato sopra consente di eseguire un comando su qualsiasi attuatore senza restrizioni. Per impostare un valore pari actuator1
a 10, esegui:
aws iot-jobs-data start-command-execution \
--command-arn arn:aws:iot:<REGION>:<ACCOUNT_ID>:command/UserJourney1 \
--target-arn arn:aws:iot:<REGION>:<ACCOUNT_ID>:thing/target-vehicle \
--parameters '{
"$actuatorPath.Vehicle.actuator1": {"S": "10"}
}'
Allo stesso modo, puoi eseguire un comando che imposta actuator3
un valore ditrue
.
aws iot-jobs-data start-command-execution \
--command-arn arn:aws:iot:<REGION>:<ACCOUNT_ID>:command/UserJourney1 \
--target-arn arn:aws:iot:<REGION>:<ACCOUNT_ID>:thing/target-vehicle \
--parameters '{
"$actuatorPath.Vehicle.actuator3": {"S": "true"}
}'
Creazione di un comando con valori predefiniti per i parametri
Questo comando consente solo di eseguire un comando sull'attuatore specificato. L'immissione di valori predefiniti contribuirà a proteggere l'utente dall'invio di comandi imprecisi. Ad esempio, un LockDoor
comando che blocca e sblocca le porte può essere configurato con un valore predefinito per evitare che il comando sblocchi accidentalmente le porte.
Questo caso d'uso è particolarmente utile quando si desidera inviare lo stesso comando più volte ed eseguire azioni diverse sullo stesso attuatore, ad esempio bloccare e sbloccare le portiere di un veicolo. Se si desidera impostare l'attuatore sul valore predefinito, non è necessario passarlo parameters
alla start-command-execution
CLI. Se si specifica un valore diverso per la parameters
nella start-command-execution
CLI, questo sovrascriverà il valore predefinito.
Il comando seguente mostra come fornire un valore predefinito per actuator1.
aws iot create-command \
--command-id "UserJourney2" \
--namespace "AWS-IoT-FleetWise" \
--role-arn "arn:aws:iam:accountId
:role/FwCommandExecutionRole
" \
--mandatory-parameters '[
{
"name": "$actuatorPath.Vehicle.actuator1",
"defaultValue": {"S": "0"}
}
]'
Il comando UserJourney2
consente di eseguire un comando senza la necessità di passare un valore di input durante l'esecuzione. In questo caso, l'esecuzione in fase di esecuzione utilizzerà i valori predefiniti specificati durante la creazione.
aws iot-data start-command-execution \
--command-arn arn:aws:iot:<REGION>:<ACCOUNT_ID>:command/UserJourney3 \
--target-arn arn:aws:iot:<REGION>:<ACCOUNT_ID>:thing/target-vehicle
È inoltre possibile passare un valore diverso per lo stesso attuatore, actuator1, durante l'esecuzione, il che sostituirà il valore predefinito.
aws iot-jobs-data start-command-execution \
--command-arn arn:aws:iot:<REGION>:<ACCOUNT_ID>:command/UserJourney3 \
--target-arn arn:aws:iot:<REGION>:<ACCOUNT_ID>:thing/target-vehicle \
--parameters '{
"$actuatorPath.Vehicle.actuator1": {"S": "139"}
}'
Creazione di un comando con valori di parametro
Questo comando consente solo di eseguire un comando sull'attuatore specificato. Inoltre, obbliga a impostare un valore per l'attuatore durante l'esecuzione.
Questo caso d'uso è particolarmente utile quando si desidera che l'utente finale esegua solo determinate azioni specifiche su alcuni attuatori durante il funzionamento del veicolo.
Nota
È possibile avere più di coppie nome-valore per l'mandatory-parameters
input, con valori predefiniti per alcune o tutte. In fase di esecuzione, è quindi possibile determinare il parametro da utilizzare durante l'esecuzione sull'attuatore, a condizione che il nome dell'attuatore utilizzi il nome completo con il prefisso. $actuatorPath.
Questo comando consente solo di eseguire un comando sull'attuatore specificato. Inoltre, obbliga a impostare un valore per l'attuatore durante l'esecuzione.
aws iot create-command \
--command-id "UserJourney2" \
--namespace "AWS-IoT-FleetWise" \
--role-arn "arn:aws:iam:accountId
:role/FwCommandExecutionRole
" \
--mandatory-parameters '[
{
"name": "$actuatorPath.Vehicle.actuator1"
}
]'
Quando si esegue il comando, in questo caso, è necessario specificare un valore per actuator1. L'esecuzione del comando mostrata di seguito imposterà correttamente il valore di actuator1
to. 10
aws iot-data start-command-execution \
--command-arn arn:aws:iot:<REGION>:<ACCOUNT_ID>:command/UserJourney2 \
--target-arn arn:aws:iot:<REGION>:<ACCOUNT_ID>:thing/target-vehicle \
--parameters '{
"$actuatorPath.Vehicle.actuator1": {"S": "10"}
}'
Utilizzo di comandi remoti con modelli di stato
Puoi anche utilizzare le operazioni dell'API dei comandi per la raccolta e l'elaborazione dei dati statali. Ad esempio, è possibile recuperare un'istantanea monouso dello stato o attivare o disattivare i modelli di stato per avviare o interrompere la raccolta dei dati sullo stato del veicolo. Gli esempi seguenti mostrano come utilizzare la funzionalità dei comandi remoti con i modelli di stato. Per ulteriori informazioni, consulta Operazioni basate sui modelli di stato per la raccolta e l'elaborazione dei dati
Nota
Il campo Nome specificato come parte dell'mandatory-parameters
input deve utilizzare il $stateTemplate
prefisso.
Questo esempio mostra come utilizzare la create-command
CLI per attivare i modelli di stato.
aws iot create-command \ --command-id
<COMMAND_ID>
\ --display-name "Activate State Template" \ --namespace AWS-IoT-FleetWise \ --mandatory-parameters '[ { "name": "$stateTemplate.name" }, { "name": "$stateTemplate.operation", "defaultValue": {"S": "activate"} } ]'
Analogamente, il comando seguente mostra un esempio di come è possibile utilizzare la start-command-execution
CLI per i modelli di stato.
aws iot-data start-command-execution \
--command-arn arn:aws:iot:<REGION>
:<ACCOUNT_ID>
:command/<COMMAND_ID>
\
--target-arn arn:aws:iot:<REGION>
:<ACCOUNT_ID>
:thing/<VEHICLE_NAME>
\
--parameters '{
"$stateTemplate.name": {"S": "ST345"}
}'
Il comando seguente crea più modelli di stato senza valori predefiniti per nessuno dei parametri. Ti obbliga a eseguire il comando con questi parametri e i relativi valori.
aws iot create-command \
--command-id <COMMAND_ID>
\
--display-name "Activate State Template" \
--namespace AWS-IoT-FleetWise \
--mandatory-parameters '[
{
"name": "$stateTemplate.name",
"defaultValue": {"S": "ST123"}
},
{
"name": "$stateTemplate.operation",
"defaultValue": {"S": "activate"}
},
{
"name": "$stateTemplate.deactivateAfterSeconds",
"defaultValue": {"L": "120"}
}
]'
Il comando seguente mostra come utilizzare la start-command-execution
CLI per l'esempio precedente.
aws iot-data start-command-execution \
--command-arn arn:aws:iot:<REGION>
:<ACCOUNT_ID>
:command/<COMMAND_ID>
\
--target-arn arn:aws:iot:<REGION>
:<ACCOUNT_ID>
:thing/<VEHICLE_NAME>
\
--parameters '{
"$stateTemplate.name": {"S": "ST345"},
"$stateTemplate.operation": {"S": "activate"},
"$stateTemplate.deactivateAfterSeconds" : {"L": "120"}