Inicio rápido: Crea un gemelo digital y envía datos
En este escenario se muestra cómo crear una instancia de gemelo digital y cómo probar la configuración mediante el envío de datos de muestra mediante autenticación básica.
Requisitos
Allow group <group-name> to manage iot-family in compartment <your-compartment-name>Al utilizar el comando para el Step 3: Create a digital twin instance, si utiliza la autenticación básica, deberá crear un secreto para que necesite la siguiente política.
Allow any-user to {SECRET_BUNDLE_READ, SECRET_READ} in compartment <compartment-name> where ALL {request.principal.type = 'iotdomain', target.vault.id = '<vault-OCID>'}Paso 1: Crear un grupo de dominios IoT
Si tiene un grupo de dominios IoT o un dominio IoT existente con el que desea trabajar, omita este paso y utilice esos OCID para crear la instancia de gemelo digital asociada. O complete estos pasos para crear un grupo de dominios IoT y un dominio IoT. Para obtener una lista completa de las opciones, consulte Creating an IoT Domain Group.
Utilice el comando oci iot domain-group create y el parámetro --compartment-idnecesario para crear un grupo de dominios IoT en un compartimento específico. Sustituya el valor<compartment-OCID>por el OCID del compartimento:oci iot domain-group create --compartment-id <compartment-OCID>Opción de tipo:- Si no especifica un
--type, el tipo de grupo de dominios por defecto eslightweight, para el desarrollo y la prueba de un grupo de dominios ligero que cuesta menos y utiliza menos recursos. Cuando desee crear un grupo de dominios de producción, utilice la opción estándar. - Para un grupo de dominios de producción, utilice el parámetro
--typecon el valorstandardpara crear un grupo de dominios estándar que se amplíe con alta disponibilidad y failover automático.
Para obtener una lista completa de los parámetros y valores de los comandos de la CLI, consulte Referencia de comandos de la CLI.
- Si no especifica un
Ejecute la operación CreateIotDomainGroup para crear un grupo de dominios IoT en un compartimento.
Paso 2: Crear un dominio IoT
Ejecute la operación CreateIotDomain para crear un dominio IoT.
Paso 3: Crear una instancia gemela digital
En este ejemplo, la instancia de gemelo digital no está asociada a un modelo de gemelo digital ni a un adaptador de gemelo digital. Puede utilizar este método si solo está probando la configuración de su gemelo digital o si está configurando una instancia de gemelo digital para conectarse a un dispositivo que envía datos no estructurados. Para obtener una lista completa de opciones, consulte Creación de una instancia de gemelo digital.
- Opciones de clave externa: la clave externa es el nombre de usuario del dispositivo cuando se conecta a un dispositivo para enviar datos en el paso 5. Si no incluye un parámetro
--external-key, la clave externa se genera en la respuesta. Si especifica la clave externa, se recomienda no utilizar comillas con el valor de clave externa. - Opciones de autenticación: al crear una instancia de gemelo digital, la autenticación es opcional y solo es necesaria si envía datos a o desde un dispositivo. Agregue la autenticación a la instancia de gemelo digital mediante el parámetro
--auth-id.
- En la página de lista Dominios de IoT, seleccione el dominio de IoT con el que desea trabajar. Si necesita ayuda para encontrar la página de lista de dominios de IoT, consulte Listado de dominios de IoT.
- Seleccione el separador Instancias gemelas digitales y, a continuación, seleccione Crear.
- Introduzca un nombre y, si lo desea, una descripción. Evite introducir información confidencial.
- Opcional. Introduzca una clave externa que sea un identificador único. Si no especifica una clave externa, se genera al guardar esta instancia de gemelo digital. Utilice la clave externa como nombre de usuario del dispositivo cuando se conecte o envíe datos al dispositivo.
- Seleccione el tipo:
- Conectado directamente: conecte un dispositivo o entidad directamente al dominio de IoT. Si el dispositivo o la entidad envía datos estructurados, seleccione un adaptador. Al seleccionar un adaptador, esta instancia de gemelo digital se asocia a una capa de transformación que convierte las cargas útiles del dispositivo de entrada en la estructura DTDL del modelo de gemelo digital asociado que espera la instancia.
- Seleccionar adaptador: active y seleccione un adaptador gemelo digital de la lista para asociar el adaptador a esta instancia de gemelo digital. Si no tiene un adaptador, cree un adaptador gemelo digital.
Si el dispositivo envía datos estructurados, debe seleccionar un adaptador. No es necesario un adaptador si el dispositivo o la entidad a la que desea conectarse envía datos no estructurados o recibe comandos de datos no estructurados.
- Seleccionar adaptador: active y seleccione un adaptador gemelo digital de la lista para asociar el adaptador a esta instancia de gemelo digital. Si no tiene un adaptador, cree un adaptador gemelo digital.
- No conectado: utilice esta opción para crear una instancia gemela digital solo de simulación sin ingestión de datos. Se requiere un modelo gemelo digital y no debe contener telemetría ni propiedades. Después de crear esta instancia de gemelo digital, puede agregar relaciones de gemelo digital para simular su entorno de IoT sin la complejidad de la ingestión o autenticación de datos.
- ID de autenticación: si el dispositivo o la entidad envía o recibe datos, debe especificar un ID de autenticación. Para probar el ID de autenticación de crear un secreto de almacén y para producción, crear un certificado mTLS para el ID de autenticación de la instancia de gemelo digital.
- Seleccionar ID de autenticación: seleccione la opción de secreto o certificado. Para un secreto, seleccione el compartimento del almacén, el almacén y el secreto. Para un certificado, seleccione el compartimento del certificado y, a continuación, seleccione el certificado.
- Pegar OCID de autenticación: pegue el OCID del certificado o secreto.
- Etiquetas: (opcional) agregue una o más etiquetas al adaptador de gemelos digitales. Si tiene permisos para crear un recurso, también los tiene para aplicar etiquetas de formato libre a ese recurso. Para aplicar una etiqueta definida, debe tener permisos para utilizar el espacio de nombres de la etiqueta. Para obtener más información sobre el etiquetado, consulte Etiquetas de recursos. Si no está seguro de si desea aplicar etiquetas, omita esta opción o pregunte a un administrador. Puede aplicar etiquetas más tarde.
- Conectado directamente: conecte un dispositivo o entidad directamente al dominio de IoT. Si el dispositivo o la entidad envía datos estructurados, seleccione un adaptador. Al seleccionar un adaptador, esta instancia de gemelo digital se asocia a una capa de transformación que convierte las cargas útiles del dispositivo de entrada en la estructura DTDL del modelo de gemelo digital asociado que espera la instancia.
- Seleccione Crear.
- Utilice el comando oci iot digital-twin-instance create y estos parámetros para crear una instancia de gemelo digital.
- Sustituya
<iot-domain-OCID>por el dominio IoT que desea asociar a esta instancia de gemelo digital IoT. Sustituya<secret-or-certificate-OCID>por el OCID del secreto de almacén:oci iot digital-twin-instance create --auth-id <secret-OCID> --iot-domain-id <iot-domain-OCID>
Ejecute la operación CreateDigitalTwinInstance para crear una instancia de gemelo digital.
Paso 4: Obtener los detalles del dominio IoT
Si tiene el punto final de host de dispositivo para el dominio IoT que desea utilizar, omita este paso.
Los detalles del dominio IoT contienen el host de dispositivo, incluido el domain short id, para obtener más información sobre obtención de detalles de un dominio IoT,
Utilice el comando oci iot domain get y el parámetro necesario para obtener los detalles de un dominio IoT, incluido el host de dispositivo con el ID corto de dominio:
oci iot domain get --iot-domain-id <iot-domain-OCID>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 GetIotDomain para obtener los detalles de un dominio.
Paso 5: Enviar datos
- Nombre de usuario del dispositivo: utilice
external keyde la instancia de gemelo digital como nombre de usuario del dispositivo. - Contraseña de dispositivo: está asociada al ID de autenticación de la instancia de gemelo digital. Si la instancia de gemelo digital utiliza un OCID secreto de almacén para la autenticación, utilice el contenido del secreto de texto sin formato como contraseña del dispositivo. Consulte Creación de un secreto y Obtención del contenido de un secreto. El uso de un secreto de almacén como contraseña de dispositivo solo se recomienda para pruebas, no para producción.
Uso de Curl
Shells de estilo POSIX: utilice este comandocurlcuando utilice bash, zsh, terminal macOS, Linux o Git Bash en 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: utilice este comando
curlen este ejemplo, utilice-Gpara realizar una solicitudGETy agregar cualquier dato proporcionado con--data-urlencodea la URL como parámetros de consulta. También puede utilizar las variables ambientales.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"Al completar el Paso 3: Crear una instancia gemela digital, si ha definido el valor del parámetro de clave externa con comillas, debe incluir las comillas al enviar los datos:
"external-key". Para obtener más información sobre las mejores prácticas, consulte Solución de problemas.- Utilice cualquier cliente MQTT, en este ejemplo se utiliza MQTTX con la siguiente configuración.
- Descargue y configure MQTTX siguiendo estas instrucciones. Consulte Getting Started with MQTTX. Abra MQTTX.
- Seleccione + Nueva conexión para crear una nueva conexión.
- Introduzca el valor
<unique-id>de la clave externa como Nombre de usuario. Puede encontrar la clave externa en la respuestaoci iot digital-twin-instance create, del Paso 3: Creación de una instancia gemela digital anterior:"external-key": "<unique-id>" - Introduzca la contraseña del dispositivo. Si prueba el uso del secreto de almacén, este debe ser el contenido del secreto de texto sin formato. O para un entorno de producción seguro, utilice un certificado mTLS.
- Introduzca el Host. Seleccione el protocolo
mqtts://en la lista desplegable de hosts e introduzca el host del dispositivo:<domain-short-id>.device.iot.<region>.oci.oraclecloud.comen el dominio IoT. - Introduzca el puerto, por ejemplo:
8883Nota
Actualmente, MQTT Secure (MQTTS) solo está soportado mediante el puerto8883. - Active el conmutador SSL/TLS.
- Active el conmutador SSL Secure.
- Para el certificado, seleccione la opción Certificado de servidor firmado por CA.
- Al configurar la conexión MQTTX, asegúrese de conectarse mediante un
clean sessiony defina la opciónLast-Will-Retainenfalsepara permitir que se retengan las suscripciones de cliente si el dispositivo se desconecta brevemente. - Defina Último valor de QoS en 1.
- Seleccione Connect (Conectar).
Después de finalizar estos pasos, tiene una instancia de gemelo digital en la plataforma IoT que puede recibir datos de un dispositivo.
Qué hacer después
- Revise los IoT sample files para configurar los entornos de prueba y producción.
- Configure APEX para ver los datos de dominio IoT en APEX y, a continuación, instale una aplicación APEX IoT Explorer de ejemplo para supervisar visualmente los dispositivos y mensajes IoT.
- Si no tiene previsto mantener los recursos, suprima los dominios IoT asociados al grupo de dominios IoT y suprima el grupo de dominios IoT.