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.
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.
- 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.
- Selecione a guia Instâncias gêmeas digitais.
- Selecione o nome da instância gêmea digital com o qual você deseja trabalhar.
- No menu Ações na parte superior da página, selecione Enviar comando bruto.
- Informe o Ponto final da solicitação, o dispositivo para o qual o comando deve ser encaminhado.
- 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.
- 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.
- 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.
- Selecione Enviar comando bruto.
Use o comando
oci iot digital-twin-instance invoke-raw-<data-type>-commande 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/4321Use 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/4321Para 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ário | Estado do Dispositivo | Estado de Comando Esperado | Comentários |
|---|---|---|---|
| Não Conectado | Não conectado inscrito | RECUSADO | A entrega do comando falha imediatamente |
| Conectado mas não inscrito | Conectado | RECUSADO | Dispositivo on-line, mas não recebe comando |
| Inscrito, mas não conectado | Inscrito somente | PENDENTE → EXPIRADO | O comando aguarda; expira após o timeout |
| Inscrito, mas não conectado inicialmente e é conectado antes do timeout | Inicialmente off-line | PENDENTE → ENVIADO | Comando Recebido |
| Conectado e inscrito | Conectado 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_RESPONDED | O dispositivo não responde dentro do tempo limite de duração da resposta |
| Comando bidirecional (resposta recebida) | Conectado e inscrito | CONCLUÍDO | O dispositivo envia dados dentro do tempo limite de resposta e conclui o fluxo |