Início Rápido: Crie um Gêmeo Digital e Envie Dados
Este cenário mostra como criar uma instância de gêmeo digital e como testar sua configuração enviando dados de amostra usando autenticação básica.
Pré-requisitos
Allow group <group-name> to manage iot-family in compartment <your-compartment-name>Ao usar o comando para a Etapa 3: Criar uma instância de gêmeo digital se você usar a autenticação básica, precisará criar um segredo para fazer isso, você precisará da política a seguir.
Allow any-user to {SECRET_BUNDLE_READ, SECRET_READ} in compartment <compartment-name> where ALL {request.principal.type = 'iotdomain', target.vault.id = '<vault-OCID>'}Etapa 1: Criar um Grupo de Domínios IoT
Se você tiver um grupo de domínios IoT ou domínio IoT existente com o qual deseja trabalhar, ignore esta etapa e use esses OCIDs para criar a instância de gêmeo digital associada. Ou conclua estas etapas para criar um grupo de domínios IoT e um domínio IoT. Para obter uma lista completa de opções, consulte Criando um Grupo de Domínios IoT.
Use o comando oci iot domain-group create e o parâmetro --compartment-idnecessário para criar um grupo de domínios IoT em um compartimento específico. Substitua o valor<compartment-OCID>pelo OCID do compartimento:oci iot domain-group create --compartment-id <compartment-OCID>Opção Tipo:- Se você não especificar um
--type, o tipo de grupo de domínios padrão serálightweight, para desenvolver e testar um grupo de domínios leve que custa menos e usa menos recursos. Quando quiser criar um grupo de domínios de produção, use a opção padrão. - Para um grupo de domínios de produção, use o parâmetro
--typecom o valorstandardpara criar um grupo de domínios padrão que seja dimensionado com alta disponibilidade e failover automático.
Para obter uma lista completa de parâmetros e valores para comandos CLI, consulte Referência de Comando CLI.
- Se você não especificar um
Execute a operação CreateIotDomainGroup para criar um grupo de domínios IoT em um compartimento.
Etapa 2: Criar um Domínio IoT
Execute a operação CreateIotDomain para criar um domínio IoT.
Etapa 3: Criar uma Instância Digital Twin
Neste exemplo, a instância de gêmeo digital não está associada a um modelo de gêmeo digital ou a um adaptador de gêmeo digital. Você poderá usar esse método se estiver apenas testando sua configuração de gêmeo digital ou se estiver configurando uma instância de gêmeo digital para estabelecer conexão com um dispositivo que envie dados não estruturados. Para obter uma lista completa de opções, consulte Criando uma Instância Digital Twin.
- Opções de Chave Externa: A chave externa é o nome do usuário do dispositivo quando você se conecta a um dispositivo para enviar dados na etapa 5. Se você não incluir um parâmetro
--external-key, a chave externa será gerada na resposta. Se você especificar a chave externa, é recomendável não usar aspas com o valor da chave externa. - Opções de Autenticação: Quando você cria uma instância de gêmeo digital, a autenticação é opcional e só será necessária se você enviar dados de ou para um dispositivo. Adicione autenticação à instância do gêmeo digital usando o parâmetro
--auth-id.
- Na página de lista Domínios IoT, selecione o domínio IoT com o qual você deseja trabalhar. Se precisar de ajuda para localizar a página de lista de domínios IoT, consulte Listando Domínios IoT.
- Selecione a guia Instâncias gêmeas digitais e, em seguida, Criar.
- Informe um Nome e, opcionalmente, uma Descrição. Evite inserir qualquer informação confidencial.
- Opcional. Informe uma Chave externa que seja um identificador exclusivo. Se você não especificar uma chave externa, ela será gerada quando você salvar essa instância de gêmeo digital. Use a chave externa como o nome de usuário do dispositivo quando você se conectar ou enviar dados para o dispositivo.
- Selecione o tipo:
- Conectado diretamente: Conecte um dispositivo ou entidade diretamente ao domínio IoT. Se o dispositivo ou a entidade enviar dados estruturados, selecione um adaptador. A seleção de um adaptador associa essa instância de gêmeo digital a uma camada de transformação que converte as cargas úteis do dispositivo de entrada na estrutura DTDL do modelo de gêmeo digital associado esperada pela instância.
- Selecionar adaptador: Ative e selecione um adaptador de gêmeo digital na lista para associar o adaptador a essa instância de gêmeo digital. Se não tiver um adaptador, crie um adaptador de gêmeo digital.
Se o dispositivo enviar dados estruturados, você deverá selecionar um adaptador. Um adaptador não será necessário se o dispositivo ou a entidade com a qual você deseja se conectar enviar dados não estruturados ou receber comandos de dados não estruturados.
- Selecionar adaptador: Ative e selecione um adaptador de gêmeo digital na lista para associar o adaptador a essa instância de gêmeo digital. Se não tiver um adaptador, crie um adaptador de gêmeo digital.
- Não conectado: Use esta opção para instâncias de gêmeos digitais que não são suportadas por um dispositivo IoT. Como resultado, essas instâncias não podem receber telemetria e não podem enviar ou receber comandos. Os modelos de gêmeos digitais associados a essas instâncias podem definir relacionamentos de gêmeos digitais, mas não podem incluir telemetria ou propriedades. Você pode usar essa opção para simular seu ambiente IoT sem a complexidade da autenticação de dados ou dispositivos.
- ID de Autenticação: Se o dispositivo ou a entidade enviar ou receber dados, especifique um ID de autenticação. Para testar o ID de autenticação criar um segredo do vault e para a produção, crie um certificado mTLS para o ID de autenticação da instância do gêmeo digital.
- Selecionar ID de autenticação: Selecione a opção de segredo ou certificado. Para um segredo, selecione o compartimento do vault, o vault e o segredo. Para um certificado, selecione o compartimento do certificado e, em seguida, selecione o certificado.
- Colar OCID de autenticação: Cole o OCID do certificado ou do segredo.
- Tags: (Opcional) Adicione uma ou mais tags ao adaptador de gêmeos digitais. Se você tiver permissões para criar um recurso, também terá permissões para aplicar tags de formato livre a esse recurso. Para aplicar uma tag definida, você deverá ter permissões para usar o namespace de tag. Para obter mais informações sobre tags, consulte Tags de Recurso. Se você não tiver certeza se deseja aplicar tags, ignore essa opção ou pergunte a um administrador. Você pode aplicar tags posteriormente.
- Conectado diretamente: Conecte um dispositivo ou entidade diretamente ao domínio IoT. Se o dispositivo ou a entidade enviar dados estruturados, selecione um adaptador. A seleção de um adaptador associa essa instância de gêmeo digital a uma camada de transformação que converte as cargas úteis do dispositivo de entrada na estrutura DTDL do modelo de gêmeo digital associado esperada pela instância.
- Selecione Criar.
- Use o comando oci iot digital-twin-instance create e esses parâmetros para criar uma instância de gêmeo digital.
- Substitua o
<iot-domain-OCID>pelo domínio IoT que você deseja associar a esta instância de gêmeo digital IoT. Substitua o<secret-or-certificate-OCID>pelo OCID do segredo do vault:oci iot digital-twin-instance create --auth-id <secret-OCID> --iot-domain-id <iot-domain-OCID>
Execute a operação CreateDigitalTwinInstance para criar uma instância de gêmeo digital.
Etapa 4: Obtenha os Detalhes do Domínio IoT
Se você tiver o ponto final do host do dispositivo para o domínio IoT que deseja usar, ignore esta etapa.
Os detalhes do domínio IoT contêm o host do dispositivo, incluindo o id curto do domínio, para obter mais Obtendo os Detalhes de um Domínio IoT,
Use o comando oci iot domain get e o parâmetro necessário para obter os detalhes de um domínio IoT, incluindo o host do dispositivo com o id curto de domínio:
oci iot domain get --iot-domain-id <iot-domain-OCID>Para obter uma lista completa de parâmetros e valores para comandos CLI, consulte Referência de Comando CLI.
Execute a operação GetIotDomain para obter os detalhes de um domínio.
Etapa 5: Enviar Dados
- Nome do usuário do dispositivo: Use o
external keyda instância do gêmeo digital como o nome do usuário do dispositivo. - Senha do dispositivo: Está associada ao ID de autenticação da instância do gêmeo digital. Se a instância do gêmeo digital usar um OCID de segredo do vault para autenticação, use o conteúdo do segredo de texto sem formatação como senha do dispositivo. Consulte Criando um Segredo e Obtendo o Conteúdo de um Segredo. O uso de um segredo de vault como senha de dispositivo só é recomendado para teste, não para produção.
Usando o Curl
Shells de estilo POSIX: Use este comandocurlao usar bash, zsh, Terminal macOS, Linux ou Git Bash no Windows.curl -u '<digital-twin-instance-external-key>:<device-password>' \ -H 'Content-Type: text/plain' \ -d 'sample data 1' \ 'https://<iot-domain-short-id>.device.iot.<region>.oci.oraclecloud.com/sampletopic'Windows Powershell: Use este comando
curlneste exemplo, use-Gpara fazer uma solicitaçãoGETe anexar qualquer dado fornecido com--data-urlencodeao URL como parâmetros de consulta. Ou você pode usar as variáveis ambientais.curl.exe -u "<digital-twin-instance-external-key>:<device-password>" ` -H "Content-Type: text/plain" ` -d "sample data 1" ` "https://<iot-domain-short-id>.device.iot.<region>.oci.oraclecloud.com/sampletopic"Ao concluir a Etapa 3: Criar uma Instância Gêmea Digital, se você tiver definido o valor do parâmetro de chave externa com aspas, deverá incluir as aspas ao enviar os dados:
"external-key". Para obter informações sobre melhores práticas, consulte Diagnosticando e Solucionando Problemas.- Use qualquer cliente MQTT, este exemplo usa MQTTX com as seguintes configurações.
- Faça download e configure o MQTTX, siga estas instruções. Consulte Conceitos Básicos do MQTTX. Abra o MQTTX.
- Selecione + Nova Conexão para criar uma nova conexão.
- Informe o valor
<unique-id>da chave externa como o Nome do Usuário. Você pode encontrar a chave externa na respostaoci iot digital-twin-instance create, na Etapa 3 anterior: Criar uma Instância Digital Twin:"external-key": "<unique-id>" - Insira a senha do dispositivo. Se você testar usar o segredo do vault, esse deverá ser o conteúdo do segredo de texto sem formatação. Ou, para um ambiente de produção seguro, use um certificado mTLS.
- Informe o Host. Selecione o protocolo
mqtts://na lista drop-down host e informe o host do dispositivo:<domain-short-id>.device.iot.<region>.oci.oraclecloud.comno domínio IoT. - Informe a porta. Por exemplo:
8883Observação
Atualmente, o MQTT Secure (MQTTS) só é suportado usando a porta8883. - Ative a opção SSL/TLS.
- Ative a opção SSL Secure.
- Para o Certificado, selecione a opção Certificado do servidor assinado pela CA.
- Ao configurar a conexão MQTTX, certifique-se de estabelecer conexão usando um
clean sessione defina a opçãoLast-Will-Retaincomofalsepara permitir que as assinaturas do cliente sejam retidas se o dispositivo for desconectado brevemente. - Defina o Último QoS como 1.
- Selecione Conexão.
Depois de concluir essas etapas, você terá uma instância de gêmeo digital na plataforma IoT que poderá receber dados de um dispositivo.
O que fazer a seguir
- Revise os arquivos de amostra IoT para configurar ambientes de teste e produção.
- Configure o APEX para exibir seus dados de domínio IoT no APEX e, em seguida, instale um exemplo de aplicativo APEX IoT Explorer para monitorar visualmente seus dispositivos e mensagens IoT.
- Se você não planeja manter os recursos, exclua os domínios IoT associados ao grupo de domínios IoT e exclua o grupo de domínios IoT.