Invio di un comando raw da un'istanza gemella digitale
Invio di un comando a un dispositivo.
A seconda del tipo di dati che si desidera inviare, utilizzare i seguenti comandi CLI e l'operazione API per inviare un comando JSON raw, un comando in testo semplice raw o un comando binario raw a un dispositivo.
Al momento, MQTT Secure (MQTTS) è supportato solo utilizzando la porta
8883.Per ulteriori informazioni, vedere Scenario: ricezione di comandi e invio di risposte mediante MQTT.
- Nella pagina di elenco Domini, selezionare il dominio da utilizzare. Se è necessaria assistenza per trovare la pagina di elenco dei domini IoT o un dominio IoT, vedere Elenco dei domini IoT.
- Selezionare la scheda Istanze gemelle digitali.
- Selezionare il nome dell'istanza gemella digitale da utilizzare.
- Nel menu Azioni nella parte superiore della pagina, selezionare Invia comando raw.
- Immettere l'endpoint della richiesta, il dispositivo a cui deve essere inoltrato il comando.
- Immettere la durata della richiesta, definisce un intervallo di tempo durante il quale il dispositivo deve completare l'esecuzione del comando. Utilizzare ISO 8601 per il formato durata, ad esempio PT3M equivale a 3 minuti.
- Selezionare il formato dei dati del comando e immettere i dettagli del comando, la dimensione massima è 256k:
- JSON: dati del comando JSON.
- Binario: trascinare o selezionare un file con i dati del comando codificati base64. In genere il tipo di contenuto MIME è
application/octet-stream. È possibile modificare il tipo di contenuto. - Testo non codificato: immettere i dati dei comandi raw di testo.
- Facoltativa. Attivare l'opzione Specifica parametri risposta
- Durata risposta: tempo massimo di attesa di una risposta da parte del sistema. Utilizzare ISO 8601 per il formato durata, ad esempio PT3M equivale a 3 minuti.
- Endpoint di risposta: endpoint del dispositivo in cui è prevista la risposta, ad esempio
myinstance/response.
- Selezionare Send raw command.
Utilizzare il comando
oci iot digital-twin-instance invoke-raw-<data-type>-commande i parametri richiesti per richiamare un comando raw JSON, binario o di testo su un dispositivo. Sostituire<digital-twin-instance-OCID>con l'OCID dell'istanza del gemello digitale per l'ambiente in uso:Utilizzare il comando oci iot digital-twin-instance invoke-raw-json-command per richiamare un comando JSON raw. Sostituire i valori per l'ambiente:
oci iot digital-twin-instance invoke-raw-json-command \ --digital-twin-instance-id <digital-twin-instance-OCID> \ --request-endpoint /endpoints/<device-id> \ --request-data '{"temp": 34}' \ --request-data-content-type application/json \ --request-duration PT10M \ --response-endpoint /endpoints/<response-device-id>Utilizzare il comando oci iot digital-twin-instance invoke-raw-binary-command per richiamare un comando binario raw. Sostituire i valori dei parametri per l'ambiente in uso:
oci iot digital-twin-instance invoke-raw-binary-command \ --digital-twin-instance-id <digital-twin-instance-OCID> \ --request-endpoint /endpoints/1234 \ --request-data file:///mnt/data/binary_input.bin \ --request-data-content-type application/octet-stream \ --request-duration PT10M --response-endpoint /endpoints/4321Utilizzare il comando oci iot digital-twin-instance invoke-raw-text-command per richiamare un comando raw text. Sostituire i valori dei parametri per l'ambiente in uso:
oci iot digital-twin-instance invoke-raw-text-command \ --digital-twin-instance-id <digital-twin-instance-OCID> \ --request-endpoint /endpoints/1234 \ --request-data 'command input as text' \ --request-data-content-type text/plain \ --request-duration PT10M \ --response-endpoint /endpoints/4321Per un elenco completo dei parametri e dei valori per i comandi CLI, vedere CLI Command Reference.
- Eseguire l'operazione InvokeRawCommand e il parametro necessario per inviare un comando raw a un dispositivo. Sono supportati i seguenti tipi di dati:
- JSON
- binario
- testo
Risposte comando
| Scenario | Stato dispositivo | Stato comando previsto | commenti |
|---|---|---|---|
| Non connesso | Non connesso non sottoscritto | RIFIUTATO | Consegna comando non riuscita immediatamente |
| Connesso ma non sottoscritto | Connesso | RIFIUTATO | Dispositivo in linea, ma comando non ricevuto |
| Iscritto ma non connesso | Solo sottoscritto | IN SOSPESO → SCADUTO | Il comando attende; scade dopo il timeout |
| Sottoscritto ma inizialmente non connesso e connesso prima del timeout | Inizialmente offline | IN ATTESA → INVIATO | Comando ricevuto |
| Connesso e sottoscritto | Connesso e sottoscritto | INVIATO | Comando ricevuto |
| Comando unidirezionale (nessuna risposta prevista) | Connesso e sottoscritto | COMPLETATO | Risposta non prevista e tracciata |
| Comando bidirezionale (nessuna risposta ricevuta) | Connesso e sottoscritto | NOT_RESPONDED | Il dispositivo non risponde entro il timeout della durata della risposta |
| Comando bidirezionale (risposta ricevuta) | Connesso e sottoscritto | COMPLETATO | Il dispositivo invia i dati entro il tempo di risposta e completa il flusso |