Envío de un comando raw desde una instancia de gemelo digital

Envío de un comando a un dispositivo.

Según el tipo de datos que desee enviar, utilice los siguientes comandos de la CLI y la operación de API para enviar un comando JSON sin formato, un comando de texto sin formato o un comando binario sin formato a un dispositivo.

Nota

Actualmente, MQTT Secure (MQTTS) solo está soportado mediante el puerto 8883.

Para obtener más información, consulte Escenario: recepción de comandos y envío de respuestas mediante MQTTs.

    1. En la página de lista Dominios, seleccione el dominio con el que desea trabajar. Si necesita ayuda para buscar la página de lista de dominios IoT o un dominio IoT, consulte Listado de dominios IoT.
    2. Seleccione el separador Instancias gemelas digitales.
    3. Seleccione el nombre de instancia de gemelo digital con el que desea trabajar.
    4. Desde el menú Acciones situado en la parte superior de la página, seleccione Enviar comando raw.
    5. Introduzca el punto final de solicitud, el dispositivo al que se debe reenviar el comando.
    6. Introduzca la Duración de la solicitud y defina un marco temporal para que el dispositivo complete la ejecución del comando. Utilice ISO 8601 para el formato de duración, por ejemplo, PT3M equivale a 3 minutos.
    7. Seleccione el formato de datos del comando e introduzca los detalles del comando; el tamaño máximo es 256k:
      • JSON: datos del comando JSON.
      • Binario: arrastre y suelte o seleccione un archivo con los datos del comando codificados base64. Normalmente, el tipo de contenido mime es application/octet-stream. Puede editar el tipo de contenido.
      • Texto sin formato: introduzca los datos del comando sin formato de texto sin formato.
    8. Opcional. Active la opción para Especificar parámetros de respuesta
      • Duración de respuesta: tiempo máximo que el sistema espera una respuesta. Utilice ISO 8601 para el formato de duración, por ejemplo, PT3M equivale a 3 minutos.
      • Punto final de respuesta: punto final de dispositivo en el que se espera la respuesta, por ejemplo, myinstance/response.
    9. Seleccione Enviar comando raw.
  • Utilice el comando oci iot digital-twin-instance invoke-raw-<data-type>-command y los parámetros necesarios para llamar a un comando JSON, binario o de texto sin formato en un dispositivo. Sustituya <digital-twin-instance-OCID> por el OCID de instancia de gemelo digital de su entorno:

    Utilice el comando oci iot digital-twin-instance invoke-raw-json-command para llamar a un comando JSON sin formato. Sustituya los valores de su entorno:

    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>

    Utilice el comando oci iot digital-twin-instance invoke-raw-binary-command para llamar a un comando binario raw. Sustituya los valores de parámetros para su entorno:

    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

    Utilice el comando oci iot digital-twin-instance invoke-raw-text-command para llamar a un comando de texto sin formato. Sustituya los valores de parámetros para su entorno:

    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

    Para obtener una lista completa de los parámetros y valores de los comandos de la CLI, consulte Referencia de comandos de la CLI.

  • Ejecute la operación InvokeRawCommand y el parámetro necesario para enviar un comando raw a un dispositivo. Se soportan los siguientes tipos de dato:
    • JSON
    • binario
    • texto

Respuestas de comando

EscenarioEstado del dispositivoEstado de comando esperadoComentarios
No conectadoNo conectado no suscrito RECHAZADO La entrega del comando falla inmediatamente
Conectado pero no suscritoConectado RECHAZADODispositivo en línea pero no recibe el comando
Suscrito pero no conectado Solo suscritoPENDIENTE → CADUCADOEl comando espera; caduca después del timeout
Suscrito pero no conectado inicialmente y se conecta antes del timeout Inicialmente fuera de línea PENDIENTE → ENVIADAComando recibido
Conectado y suscritoConectado y suscrito ENVIADO Comando recibido
Comando unidireccional (no se esperaba respuesta)Conectado y suscrito TERMINADO La respuesta no se espera y se realiza un seguimiento
Comando bidireccional (no se ha recibido respuesta)Conectado y suscrito NOT_RESPONDEDEl dispositivo no responde dentro del timeout de duración de respuesta
Comando bidireccional (respuesta recibida) Conectado y suscrito TERMINADOEl dispositivo envía los datos dentro del tiempo de espera de respuesta y completa el flujo