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

Un administrador debe crear políticas para que el usuario acceda a los recursos de OCI con los que desea trabajar. Para configurar este escenario se necesitan las siguientes políticas. Para obtener más información sobre las políticas adicionales relacionadas con otros escenarios IoT, consulte Requisitos.
Políticas de IoT
Utilice esta política de familia IoT para permitir que el grupo de usuarios especificado gestione cualquier recurso IoT en un compartimento específico o que el administrador pueda utilizar políticas IoT para configurar políticas específicas para recursos IoT específicos:
Allow group <group-name> to manage iot-family in compartment <your-compartment-name>
Políticas secretas de almacén

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.

Deje que cualquier usuario IoT lea secretos en un compartimento y un almacén específicos para un dominio IoT:
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.

    1. En la página de lista de grupos de dominios IoT, seleccione Crear grupo de dominios. Si necesita ayuda para buscar la página de lista, consulte Listado de grupos de dominios IoT.
    2. En la página Crear grupo de dominios, introduzca un nombre fácil de recordar para el nuevo grupo de dominios y una descripción opcional. Evite introducir información confidencial.
    3. Seleccione el compartimento en el que desea almacenar el nuevo grupo de dominios. El grupo de dominios IoT y el dominio IoT pueden estar en diferentes compartimentos. Todos los recursos IoT deben estar en la misma región.
    4. Seleccione un tipo de grupo de dominios. El desarrollador es el tipo predeterminado; no puede cambiar el tipo de grupo de dominios en su lugar, cree un nuevo grupo de dominios.
      • Desarrollador: se utiliza para el desarrollo y las pruebas, reduce los costos y utiliza menos recursos.
      • Estándar: para los grupos de dominios de producción, desactive la opción de desarrollador para escalar recursos y activar la alta disponibilidad con failover automático.
      Nota

      No puede cambiar el tipo de grupo de dominios; en su lugar, cree un nuevo grupo de dominios.
    5. Seleccione Crear.
  • Utilice el comando oci iot domain-group create y el parámetro --compartment-id necesario 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 es lightweight, 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 --type con el valor standard para 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.

  • Ejecute la operación CreateIotDomainGroup para crear un grupo de dominios IoT en un compartimento.

Paso 2: Crear un dominio IoT

    1. En la página de lista IoT Domain, seleccione un compartimento en el que desee almacenar los dominios IoT. El grupo de dominios IoT y el dominio IoT pueden estar en diferentes compartimentos. Los recursos de gemelos digitales IoT pueden estar en diferentes compartimentos y deben estar en la misma región. Si necesita ayuda para encontrar la página de lista de dominios IoT, consulte Listado de dominios IoT.
    2. Seleccione Crear Dominio.
    3. Introduzca un nombre fácil de recordar para el dominio IoT. Evite introducir información confidencial.
    4. (Opcional) introduzca una descripción.
    5. Seleccione el compartimento de grupo de dominios asociado y seleccione el grupo de dominios que desea asociar a este dominio.
    6. Seleccione Crear.
    7. Visualice y copie los puntos finales para el host del dispositivo del dominio IoT; el host del dispositivo muestra el domain short id. Seleccione Copiar para copiar este punto final y utilizarlo en el siguiente paso.

      device-host:<domain-short-id>.device.iot.<region>.oci.oraclecloud.com

      Para obtener una lista completa de las opciones, consulte Creating an IoT Domain.

    1. Utilice el comando oci iot domain create y los parámetros necesarios para crear un dominio IoT.
    2. Sustituya <iot-domain-group-OCID> por el grupo de dominios IoT que desea asociar al dominio IoT. Sustituya <compartment-OCID> por el OCID del compartimento para el dominio IoT:
      oci iot domain create --compartment-id <compartment-OCID> --iot-domain-group-id <iot-domain-group-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 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 el siguiente ejemplo, se utiliza un secret para autenticarse. Puede utilizar un secreto para un entorno de prueba. Para un entorno de producción seguro, la instancia de gemelo digital debe utilizar un certificado mTLS para autenticación.
    1. 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.
    2. Seleccione el separador Instancias gemelas digitales y, a continuación, seleccione Crear.
    3. Introduzca un nombre y, si lo desea, una descripción. Evite introducir información confidencial.
    4. 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.
    5. 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.
      • 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.
    6. Seleccione Crear.
    1. Utilice el comando oci iot digital-twin-instance create y estos parámetros para crear una instancia de gemelo digital.
    2. 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>
    Para obtener una lista completa de parámetros y valores, consulte la referencia de comandos de la CLI IoT y Referencia de comandos de la CLI.
  • 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,

    1. En la página de lista IoT Dominios, seleccione el dominio con el que desea trabajar. Si necesita ayuda para buscar la página de lista de dominios IoT o los dominios IoT, consulte Listado de dominios IoT.
    2. Detalles: visualice o edite el nombre del dominio y la descripción, copie el OCID, el punto final del host de dispositivo, vea el compartimento y el registro de hora de la creación del dominio.
      host_dispositivo: <domain-short-id>.device.iot.<region>.oci.oraclecloud.com
    3. Acceda a los distintos recursos y tareas asociados al dominio seleccionando los vínculos o separadores. Para obtener descripciones de la configuración de dominio, consulte Creating an IoT Domain
  • 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

Envíe datos de ejemplo a la instancia de gemelo digital creada en el Paso 3: Creación de una instancia de gemelo digital anterior.
  • Nombre de usuario del dispositivo: utilice external key de 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.
En el siguiente ejemplo, se utiliza un secreto para autenticarse. Como alternativa, para la producción, la instancia de gemelo digital debe utilizar un certificado mTLS para autenticación.
  • Uso de Curl

    Shells de estilo POSIX: utilice este comando curl cuando 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 curl en este ejemplo, utilice -G para realizar una solicitud GET y agregar cualquier dato proporcionado con --data-urlencode a 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.
    1. Descargue y configure MQTTX siguiendo estas instrucciones. Consulte Getting Started with MQTTX. Abra MQTTX.
    2. Seleccione + Nueva conexión para crear una nueva conexión.
    3. Introduzca el valor <unique-id> de la clave externa como Nombre de usuario. Puede encontrar la clave externa en la respuesta oci iot digital-twin-instance create, del Paso 3: Creación de una instancia gemela digital anterior:
      "external-key": "<unique-id>"
    4. 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.
    5. 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.com en el dominio IoT.
    6. Introduzca el puerto, por ejemplo: 8883
      Nota

      Actualmente, MQTT Secure (MQTTS) solo está soportado mediante el puerto 8883.
    7. Active el conmutador SSL/TLS.
    8. Active el conmutador SSL Secure.
    9. Para el certificado, seleccione la opción Certificado de servidor firmado por CA.
    10. Al configurar la conexión MQTTX, asegúrese de conectarse mediante un clean session y defina la opción Last-Will-Retain en false para permitir que se retengan las suscripciones de cliente si el dispositivo se desconecta brevemente.
    11. Defina Último valor de QoS en 1.
    12. 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.