Guía de inicio rápido: Búsqueda de salas disponibles mediante Azure Digital TwinsQuickstart: Find available rooms by using Azure Digital Twins

El servicio Azure Digital Twins le permite recrear una imagen digital de su entorno físico.The Azure Digital Twins service allows you to re-create a digital image of your physical environment. Así, puede recibir notificaciones mediante eventos en su entorno y personalizar las respuestas a estos.You can then get notified by events in your environment and customize your responses to them.

Esta guía de inicio rápido usa un par de ejemplos de .NET para digitalizar un edificio de oficinas imaginario.This quickstart uses a pair of .NET samples to digitize an imaginary office building. Le muestra cómo encontrar salas disponibles en ese edificio.It shows you how to find available rooms in that building. Con Digital Twins, puede asociar muchos sensores con el entorno.With Digital Twins, you can associate many sensors with your environment. También puede averiguar si la calidad del aire de la sala disponible es óptima, con ayuda de un sensor simulado de dióxido de carbono.You also can find out if the air quality of your available room is optimal with the help of a simulated sensor for carbon dioxide. Una de las aplicaciones de ejemplo generará datos de sensor aleatorios para ayudarle a visualizar este escenario.One of the sample applications generates random sensor data to help you visualize this scenario.

El siguiente vídeo resume la configuración de la guía de inicio rápido:The following video summarizes quickstart setup:

Requisitos previosPrerequisites

  1. Antes de comenzar, si no tiene una cuenta de Azure, cree una gratuita.If you don't have an Azure account, create a free account before you begin.

  2. Las dos aplicaciones de consola que se ejecutan en esta guía de inicio rápido se escriben con C#.The two console applications you run in this quickstart are written by using C#. Instale la versión 2.1.403 del SDK de .NET Core, o cualquier versión superior en la máquina de desarrollo.Install the .NET Core SDK version 2.1.403 or above on your development machine. Si tiene instalado el SDK de .NET Core, compruebe la versión actual de C# en la máquina de desarrollo.If you have the .NET Core SDK installed, verify the current version of C# on your development machine. Ejecute dotnet --version en un símbolo del sistema.Run dotnet --version in a command prompt.

  3. Descargue el proyecto de ejemplo en C#.Download the sample C# project. Extraiga el archivo digital-twins-samples-csharp-master.zip.Extract the digital-twins-samples-csharp-master.zip archive.

Creación de una instancia de Digital TwinsCreate a Digital Twins instance

Cree una instancia de Digital Twins en el portal mediante los siguientes pasos de esta sección.Create a new instance of Digital Twins in the portal by following the steps in this section.

  1. Inicie sesión en el Azure Portal.Sign in to the Azure portal.

  2. En el panel izquierdo, seleccione Crear un recurso.From the left pane, select Create a resource. Busque Digital Twins y seleccione Digital Twins (preview) (Digital Twins [versión preliminar]).Search for digital twins, and select Digital Twins (preview). Haga clic en Crear para iniciar el proceso de implementación.Select Create to start the deployment process.

    Selecciones para crear una nueva instancia de Digital Twins

  3. En el panel Digital Twins, escriba la siguiente información:In the Digital Twins pane, enter the following information:

    • Nombre del recurso: cree un nombre único para la instancia de Digital Twins.Resource Name: Create a unique name for your Digital Twins instance.

    • Suscripción: elija la suscripción que quiere usar para crear esta instancia de Digital Twins.Subscription: Choose the subscription that you want to use to create this Digital Twins instance.

    • Grupo de recursos: seleccione o cree un grupo de recursos para la instancia de Digital Twins.Resource group: Select or create a resource group for the Digital Twins instance.

    • Ubicación: seleccione la ubicación más cercana a sus dispositivos.Location: Select the closest location to your devices.

      Panel de Digital Twins con información especificada

  4. Revise la información de Digital Twins y, a continuación, seleccione Crear.Review your Digital Twins information, and then select Create. La instancia de Digital Twins podría tardar unos minutos en crearse.Your Digital Twins instance might take a few minutes to be created. Puede ver el progreso en el panel Notificaciones.You can monitor the progress in the Notifications pane.

  5. Abra el panel Información general de la instancia de Digital Twins.Open the Overview pane of your Digital Twins instance. Observe el vínculo situado bajo Management API.Note the link under Management API.

    La dirección URL de Management API tiene el formato siguiente: https://yourDigitalTwinsName.yourLocation.azuresmartspaces.net/management/swagger.The Management API URL is formatted as https://yourDigitalTwinsName.yourLocation.azuresmartspaces.net/management/swagger. Esta dirección URL le lleva a la documentación de la API REST de Azure Digital Twins que se aplica a la instancia.This URL takes you to the Azure Digital Twins REST API documentation that applies to your instance. Lea Uso de Azure Digital Twins Swagger para aprender a leer y usar esta documentación de API.Read How to use Azure Digital Twins Swagger to learn how to read and use this API documentation.

    Modifique la dirección URL de Management API para que tenga este formato: https://yourDigitalTwinsName.yourLocation.azuresmartspaces.net/management/api/v1.0/.Modify the Management API URL to this format https://yourDigitalTwinsName.yourLocation.azuresmartspaces.net/management/api/v1.0/. La aplicación usará la dirección URL modificada como dirección URL base para acceder a la instancia.Your application will use the modified URL as the base URL to access your instance. Copie esta dirección URL modificada en un archivo temporal.Copy this modified URL to a temporary file. La necesitará en la siguiente sección.You'll need this in the next section.

    API de administración

Definición de permisos para la aplicaciónSet permissions for your app

Esta sección registra la aplicación de ejemplo en Azure Active Directory (Azure AD), para que pueda acceder a la instancia de Digital Twins.This section registers your sample application to Azure Active Directory (Azure AD) so that it can access your Digital Twins instance. Si ya tiene el registro de una aplicación de Azure AD, puede reutilizarlo para el ejemplo.If you already have an Azure AD app registration, reuse it for your sample. Asegúrese de que está configurado como se describe en esta sección.Make sure that it's configured as described in this section.

  1. En Azure Portal, abra Azure Active Directory desde el panel izquierdo y, luego, abra el panel Propiedades.In the Azure portal, open Azure Active Directory from the left pane, and then open the Properties pane. Copie el identificador de directorio en un archivo temporal.Copy the Directory ID to a temporary file. Usará este valor para configurar una aplicación de ejemplo en la sección siguiente.You'll use this value to configure a sample application in the next section.

    Identificador de directorio de Azure Active Directory

  2. Abra el panel Registros de aplicaciones y, luego, haga clic en el botón Nuevo registro de aplicaciones.Open the App registrations pane, and then select the New application registration button.

    Panel Registros de aplicaciones

  3. Asigne un nombre descriptivo a este registro de aplicaciones en el cuadro Nombre.Give a friendly name for this app registration in the Name box. Para Tipo de aplicación, elija Nativa y para URI de redirección, elija https://microsoft.com.Choose Application type as Native, and Redirect URI as https://microsoft.com. Seleccione Crear.Select Create.

    Crear panel

  4. Abra la aplicación registrada y copie el valor del campo Id. de aplicación en un archivo temporal.Open the registered app, and copy the value of the Application ID field to a temporary file. Este valor identifica la aplicación de Azure Active Directory.This value identifies your Azure Active Directory app. Usará el identificador de la aplicación para configurar la aplicación de ejemplo en las secciones siguientes.You'll use the application ID to configure your sample application in the following sections.

    Identificador de la aplicación de Azure Active Directory

  5. Abra el panel de registro de aplicaciones.Open your app registration pane. Seleccione Configuración > Permisos necesarios y, luego:Select Settings > Required permissions, and then:

    a.a. Haga clic en Agregar en la parte superior izquierda para abrir el panel Agregar acceso de API.Select Add on the upper left to open the Add API access pane.

    b.b. Haga clic en Seleccionar una API y busque Azure Digital Twins.Select Select an API and search for Azure Digital Twins. Si la búsqueda no encuentra la API, busque en su lugar Azure Smart Spaces.If your search doesn't locate the API, search for Azure Smart Spaces instead.

    c.c. Seleccione la opción Azure Digital Twins (Azure Smart Spaces Service) y haga clic en Seleccionar.Select the Azure Digital Twins (Azure Smart Spaces Service) option and choose Select.

    d.d. Elija Seleccionar permisos.Choose Select permissions. Active la casilla de permisos delegados Acceso de lectura y escritura y elija Seleccionar.Select the Read/Write Access delegated permissions check box, and choose Select.

    e.e. En la página Agregar acceso de API, haga clic en Hecho.Select Done in the Add API access pane.

    f.f. En el panel Permisos necesarios, haga clic en el botón Conceder permisos y acepte la confirmación que aparece.In the Required permissions pane, select the Grant permissions button, and accept the acknowledgement that appears.

    Panel Permisos necesarios

Compilación de la aplicaciónBuild application

Compile la aplicación de ocupación mediante estos pasos.Build the occupancy application by following these steps.

  1. Abra el símbolo del sistema.Open a command prompt. Vaya a la carpeta donde se extrajeron los archivos digital-twins-samples-csharp-master.zip.Go to the folder where your digital-twins-samples-csharp-master.zip files were extracted.
  2. Ejecute cd occupancy-quickstart/src.Run cd occupancy-quickstart/src.
  3. Ejecute dotnet restore.Run dotnet restore.
  4. Edite appSettings.json para actualizar las siguientes variables:Edit appSettings.json to update the following variables:
    • ClientId: escriba el identificador de aplicación de su registro de aplicación de Azure AD, mencionado en la sección anterior.ClientId: Enter the Application ID of your Azure AD app registration, noted in the preceding section.
    • Tenant: escriba el identificador de directorio del inquilino de Azure AD, también indicado en la sección anterior.Tenant: Enter the Directory ID of your Azure AD tenant, also noted in the previous section.
    • BaseUrl: la dirección URL de la API de administración de la instancia de Digital Twins que estará en el siguiente formato https://yourDigitalTwinsName.yourLocation.azuresmartspaces.net/management/api/v1.0/.BaseUrl: The Management API URL of your Digital Twins instance is in the format https://yourDigitalTwinsName.yourLocation.azuresmartspaces.net/management/api/v1.0/. Reemplace los marcadores de posición de esta dirección URL por los valores de la instancia de la sección anterior.Replace the placeholders in this URL with values for your instance from the previous section.

Aprovisionamiento del gráficoProvision graph

Este paso permite aprovisionar el grafo espacial de Digital Twins con:This step provisions your Digital Twins spatial graph with:

  • Varios espacios.Several spaces.
  • Un dispositivo.One device.
  • Dos sensores.Two sensors.
  • Una función personalizada.A custom function.
  • Una asignación de rol.One role assignment.

El grafo espacial se aprovisiona con el archivo provisionSample.yaml.The spatial graph is provisioned by using the provisionSample.yaml file.

  1. Ejecute dotnet run ProvisionSample.Run dotnet run ProvisionSample.

    Nota

    Se usa la herramienta de inicio de sesión de dispositivos de la CLI de Azure para autenticar al usuario en Azure AD.The Device Login Azure CLI tool is used to authenticate the user to Azure AD. El usuario debe escribir un código determinado para autenticarse mediante la página de inicio de sesión de Microsoft.The user must enter a given code to authenticate by using the Microsoft login page. Una vez que se escriba el código, siga estos pasos para autenticarse.After code is entered, follow the steps to authenticate. El usuario debe autenticarse cuando se esté ejecutando la aplicación.The user must authenticate when the tool is running.

    Sugerencia

    Al ejecutar este paso, asegúrese de que las variables se han copiado correctamente si aparece siguiente el mensaje de error: EXIT: Unexpected error: The input is not a valid Base-64 string ...When you run this step, make sure your variables were copied properly if the following error message appears: EXIT: Unexpected error: The input is not a valid Base-64 string ...

  2. El paso de aprovisionamiento puede tardar varios minutos.The provisioning step might take a few minutes. También aprovisiona IoT Hub en la instancia de Digital Twins.It also provisions an IoT Hub within your Digital Twins instance. Esto se realizará en bucle hasta que la instancia de IoT Hub muestre el estado = Running.It loops through until the IoT Hub shows Status=Running.

    Ejemplo de aprovisionamiento

  3. Al final de la ejecución, copie el valor de ConnectionString del dispositivo para usarlo en el ejemplo del simulador de dispositivos.At the end of the execution, copy the ConnectionString of the device for use in the device simulator sample. Copie solo la cadena indicada en esta imagen.Copy only the string outlined in this image.

    Ejemplo de aprovisionamiento

    Sugerencia

    Puede ver y modificar su grafo espacial mediante el visor de grafos de Azure Digital Twins.You can view and modify your spatial graph using the Azure Digital Twins Graph Viewer.

Envío de datos de sensorSend sensor data

Compile y ejecute la aplicación de simulación del sensor mediante estos pasos.Build and run the sensor simulator application by following these steps.

  1. Abra un nuevo símbolo del sistema.Open a new command prompt. Vaya al proyecto que descargó en la carpeta digital-twins-samples-csharp-master.Go to the project you downloaded in the digital-twins-samples-csharp-master folder.

  2. Ejecute cd device-connectivity.Run cd device-connectivity.

  3. Ejecute dotnet restore.Run dotnet restore.

  4. Edite appsettings.json para actualizar DeviceConnectionString con el valor de ConnectionString anterior.Edit appsettings.json to update DeviceConnectionString with the previous ConnectionString.

  5. Ejecute dotnet run para empezar a enviar los datos del sensor.Run dotnet run to start sending sensor data. Verá que se envían a Digital Twins tal como se muestra en la siguiente imagen.You see it sent to Digital Twins as shown in the following image.

    Conectividad de dispositivos

  6. Vamos a dejar que se ejecute este simulador para que pueda ver los resultados en paralelo con la acción del paso siguiente.Let this simulator run so that you can view results side by side with the next step action. Esta ventana muestra los datos del sensor simulado que se envían a Digital Twins.This window shows you the simulated sensor data sent to Digital Twins. En el siguiente paso se puede consultar en tiempo real las salas disponibles con aire fresco.The next step queries in real time to find available rooms with fresh air.

    Sugerencia

    Al ejecutar este paso, asegúrese de que DeviceConnectionString se ha copiado correctamente si aparece siguiente el mensaje de error: EXIT: Unexpected error: The input is not a valid Base-64 string ...When you run this step, make sure DeviceConnectionString was copied properly if the following error message appears: EXIT: Unexpected error: The input is not a valid Base-64 string ...

Búsqueda de espacios disponibles con aire frescoFind available spaces with fresh air

El ejemplo del sensor simula los valores de datos aleatorios de dos sensores.The sensor sample simulates random data values for two sensors. Son el movimiento y el dióxido de carbono.They're motion and carbon dioxide. En nuestro ejemplo, los espacios disponibles con aire fresco se definen en el ejemplo por la no presencia de nadie en la sala.Available spaces with fresh air are defined in the sample by no presence in the room. Y también viene definida por un nivel de dióxido de carbono inferior a 1000 ppm.They're also defined by a carbon dioxide level under 1,000 ppm. Si no se cumple la condición, el espacio no aparece como disponible o la calidad del aire es deficiente.If the condition isn't fulfilled, the space isn't available or the air quality is poor.

  1. Abra el símbolo del sistema que se usó para ejecutar el paso de aprovisionamiento anterior.Open the command prompt you used to run the previous provisioning step.

  2. Ejecute dotnet run GetAvailableAndFreshSpaces.Run dotnet run GetAvailableAndFreshSpaces.

  3. Examine este símbolo del sistema y el símbolo del sistema de los datos del sensor en paralelo.Look at this command prompt and the sensor data command prompt side by side.

    Un símbolo del sistema envía datos simulados de movimiento y dióxido de carbono a Digital Twins cada cinco segundos.One command prompt sends simulated motion and carbon dioxide data to Digital Twins every five seconds. El otro comando lee el grafo en tiempo real para encontrar las salas disponibles con aire fresco en función de los datos simulados aleatorios.The other command reads the graph in real time to find out available rooms with fresh air based on random simulated data. Se mostrará una de estas condiciones casi en tiempo real en función de los datos del sensor que se enviaron por última vez:It displays one of these conditions in near real time based on the sensor data that was sent last:

    • Habitaciones disponibles con aire fresco.Available rooms with fresh air.

    • Ocupada o mala calidad del aire de la habitación.Occupied or poor air quality of the room.

      Obtención de espacios disponibles con aire fresco

Para comprender qué ha sucedido en esta guía de inicio rápido y las API que se han llamado, abra Visual Studio Code con el proyecto de área de trabajo de código que se encuentra en digital-twins-samples-csharp.To understand what happened in this quickstart and what APIs were called, open Visual Studio Code with the code workspace project found in digital-twins-samples-csharp. Use el comando siguiente:Use the following command:

<path>\occupancy-quickstart\src>code ..\..\digital-twins-samples.code-workspace

Los tutoriales incluyen un análisis más detallado del código.The tutorials go deep into the code. Le enseñan cómo modificar los datos de configuración y a qué API se llama.They teach you how to modify configuration data and what APIs are called. Para más información sobre las API de administración, vaya a la página Digital Twins Swagger:For more information on Management APIs, go to your Digital Twins Swagger page:

https://YOUR_INSTANCE_NAME.YOUR_LOCATION.azuresmartspaces.net/management/swagger
NOMBREName Reemplazar porReplace with
YOUR_INSTANCE_NAMEYOUR_INSTANCE_NAME El nombre de la instancia de Digital Twins.The name of your Digital Twins instance
YOUR_LOCATIONYOUR_LOCATION La región de servidor en la que está hospedada la instanciaWhich server region your instance is hosted on

O para mayor comodidad, vaya a Digital Twins Swagger.Or for convenience, browse to Digital Twins Swagger.

Limpieza de recursosClean up resources

En los tutoriales se analiza en detalle cómo:The tutorials go into detail about how to:

  • Compilar una aplicación para que los administradores de instalaciones puedan aumentar la productividad de los ocupantes.Build an application for facility managers to increase occupant productivity.
  • Operar el edificio con mayor eficacia.Operate the building more efficiently.

Para poder seguir con los tutoriales, no elimine los recursos que se crearon en esta guía de inicio rápido.To continue to the tutorials, don't clean up the resources created in this quickstart. Si no tiene pensado hacerlo, elimine todos los recursos que se crearon en esta guía de inicio rápido.If you don't plan to continue, delete all the resources created by this quickstart.

  1. Elimine la carpeta que se creó al descargar el repositorio de ejemplo.Delete the folder that was created when you downloaded the sample repository.

  2. Seleccione Todos los recursos en el menú de la izquierda de Azure Portal.From the menu on the left in the Azure portal, select All resources. A continuación, seleccione el recurso de Digital Twins.Then select your Digital Twins resource. En la parte superior del panel Todos los recursos, seleccione Eliminar.At the top of the All resources pane, select Delete.

    Sugerencia

    Si tiene problemas al eliminar una instancia de Digital Twins, se ha incorporado una actualización del servicio con la corrección.If you experienced trouble deleting your Digital Twins instance, a service update has been rolled out with the fix. Vuelva a intentar eliminar la instancia.Please retry deleting your instance.

Pasos siguientesNext steps

En esta guía de inicio rápido se usa un escenario simple para mostrar cómo encontrar salas con buenas condiciones para trabajar.This quickstart used a simple scenario to show how to find rooms with good working conditions. Para un análisis detallado de este escenario, consulte este tutorial:For in-depth analysis of this scenario, see this tutorial: