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.

Nota

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.

    1. 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.
    2. Selezionare la scheda Istanze gemelle digitali.
    3. Selezionare il nome dell'istanza gemella digitale da utilizzare.
    4. Nel menu Azioni nella parte superiore della pagina, selezionare Invia comando raw.
    5. Immettere l'endpoint della richiesta, il dispositivo a cui deve essere inoltrato il comando.
    6. 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.
    7. 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.
    8. 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.
    9. Selezionare Send raw command.
  • Utilizzare il comando oci iot digital-twin-instance invoke-raw-<data-type>-command e 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/4321

    Utilizzare 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/4321

    Per 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

ScenarioStato dispositivoStato comando previstocommenti
Non connessoNon connesso non sottoscritto RIFIUTATO Consegna comando non riuscita immediatamente
Connesso ma non sottoscrittoConnesso RIFIUTATODispositivo in linea, ma comando non ricevuto
Iscritto ma non connesso Solo sottoscrittoIN SOSPESO → SCADUTOIl comando attende; scade dopo il timeout
Sottoscritto ma inizialmente non connesso e connesso prima del timeout Inizialmente offline IN ATTESA → INVIATOComando ricevuto
Connesso e sottoscrittoConnesso 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_RESPONDEDIl dispositivo non risponde entro il timeout della durata della risposta
Comando bidirezionale (risposta ricevuta) Connesso e sottoscritto COMPLETATOIl dispositivo invia i dati entro il tempo di risposta e completa il flusso