Enviando um Comando Bruto de uma Instância Digital Twin

Envia um comando para um dispositivo.

Dependendo do tipo de dados que você deseja enviar, use os seguintes comandos da CLI e operação de API para enviar um comando JSON bruto, um comando de texto sem formatação bruto ou um comando binário bruto para um dispositivo.

Observação

Atualmente, o MQTT Secure (MQTTS) só é suportado usando a porta 8883.

Para obter mais informações, consulte Cenário: Como receber comandos e enviar respostas usando MQTTs.

    1. Na página de lista Domínios, selecione o domínio com o qual você deseja trabalhar. Se precisar de ajuda para localizar a página de lista de domínios IoT ou um domínio IoT, consulte Listando Domínios IoT.
    2. Selecione a guia Instâncias gêmeas digitais.
    3. Selecione o nome da instância gêmea digital com o qual você deseja trabalhar.
    4. No menu Ações na parte superior da página, selecione Enviar comando bruto.
    5. Informe o Ponto final da solicitação, o dispositivo para o qual o comando deve ser encaminhado.
    6. Informe a Duração da solicitação, que define um intervalo de tempo para o dispositivo concluir a execução do comando. Use ISO 8601 para o formato de duração. Por exemplo, PT3M é igual a 3 minutos.
    7. Selecione o formato de dados do comando e informe os detalhes do comando. O tamanho máximo é 256k:
      • JSON: dados do comando JSON.
      • Binário: Arraste e Solte ou selecione um arquivo com os dados de comando codificados base64. Normalmente, o tipo de conteúdo mime é application/octet-stream. Você pode editar o tipo de conteúdo.
      • Texto sem formatação: Informe os dados do comando sem formatação.
    8. Opcional. Ative a opção para Especificar parâmetros de resposta
      • Duração da resposta: Tempo máximo que o sistema aguarda uma resposta. Use ISO 8601 para o formato de duração. Por exemplo, PT3M é igual a 3 minutos.
      • Ponto final de resposta: Ponto final do dispositivo no qual a resposta é esperada, por exemplo, myinstance/response.
    9. Selecione Enviar comando bruto.
  • Use o comando oci iot digital-twin-instance invoke-raw-<data-type>-command e os parâmetros necessários para chamar um comando JSON, binário ou de texto bruto em um dispositivo. Substitua o <digital-twin-instance-OCID> pelo OCID da instância do gêmeo digital do seu ambiente:

    Use o comando oci iot digital-twin-instance call-raw-json-command para chamar um comando JSON bruto. Substitua os valores do seu 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>

    Use o comando oci iot digital-twin-instance call-raw-binary-command para chamar um comando binário bruto. Substitua os valores de parâmetro para seu ambiente:

    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

    Use o comando oci iot digital-twin-instance call-raw-text-command para chamar um comando de texto bruto. Substitua os valores de parâmetro para seu ambiente:

    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 obter uma lista completa de parâmetros e valores para comandos CLI, consulte Referência de Comando CLI.

  • Execute a operação InvokeRawCommand e o parâmetro necessário para enviar um comando bruto a um dispositivo. Os seguintes tipos de dados são suportados:
    • JSON
    • binário
    • texto

Respostas do Comando

CenárioEstado do DispositivoEstado de Comando EsperadoComentários
Não ConectadoNão conectado inscrito RECUSADO A entrega do comando falha imediatamente
Conectado mas não inscritoConectado RECUSADODispositivo on-line, mas não recebe comando
Inscrito, mas não conectado Inscrito somentePENDENTE → EXPIRADOO comando aguarda; expira após o timeout
Inscrito, mas não conectado inicialmente e é conectado antes do timeout Inicialmente off-line PENDENTE → ENVIADOComando Recebido
Conectado e inscritoConectado e inscrito Enviado Comando Recebido
Comando Unidirecional (Nenhuma resposta esperada)Conectado e inscrito CONCLUÍDO A resposta não é esperada e rastreada
Comando bidirecional (Nenhuma resposta recebida)Conectado e inscrito NOT_RESPONDEDO dispositivo não responde dentro do tempo limite de duração da resposta
Comando bidirecional (resposta recebida) Conectado e inscrito CONCLUÍDOO dispositivo envia dados dentro do tempo limite de resposta e conclui o fluxo