Compartir a través de


Tutorial: Configuración de un entorno para el aprendizaje automático en IoT Edge

Se aplica a:yes icon IoT Edge 1.1

Importante

IoT Edge 1.1 fecha de finalización del soporte técnico fue el 13 de diciembre de 2022. Consulte la página del ciclo de vida de productos de Microsoft para obtener información sobre cómo se admite este producto, servicio, tecnología o API. Para obtener más información sobre cómo actualizar a la versión más reciente de IoT Edge, consulte Update IoT Edge.

Este artículo le ayuda a preparar el entorno para el desarrollo y la implementación. En primer lugar, configure una máquina de desarrollo con todas las herramientas que necesita. A continuación, cree los recursos en la nube necesarios en Azure.

En esta sección del tutorial, aprenderá a:

  • Configure una máquina virtual para el desarrollo.
  • Configure un IoT Hub y almacenamiento en la nube para su entorno de desarrollo.

Prerrequisitos

Este artículo forma parte de una serie de un tutorial acerca del uso de Azure Machine Learning en IoT Edge. Cada artículo de la serie se basa en el trabajo del artículo anterior. Si ha llegado directamente a este artículo, visite el primer artículo de la serie.

Configuración de la máquina virtual de desarrollo

Normalmente, este paso lo realiza un desarrollador en la nube. Parte del software también puede ser útil para un científico de datos.

Hemos creado un script de PowerShell que crea una máquina virtual de Azure con muchos de los requisitos previos ya configurados. La máquina virtual que creamos debe poder controlar la virtualización anidada, por lo que elegimos un tamaño de máquina Standard_D8s_v3 .

La máquina virtual de desarrollo se configurará con:

La máquina virtual del desarrollador no es estrictamente necesaria: todas las herramientas de desarrollo se pueden ejecutar en una máquina local. Sin embargo, recomendamos encarecidamente usar la máquina virtual para garantizar igualdad de condiciones.

La creación y configuración de la máquina virtual tarda unos 30 minutos.

  1. Clone o descargue el repositorio de ejemplo de Machine Learning e IoT Edge en su equipo local.

  2. Abra PowerShell como administrador y vaya al directorio \IoTEdgeAndMlSample\DevVM ubicado en el directorio raíz donde descargó el código. Nos referiremos al directorio raíz del origen como srcdir.

    cd c:\srcdir\IoTEdgeAndMlSample\DevVM
    

    El directorio DevVM contiene los archivos necesarios para crear una máquina virtual de Azure adecuada para completar este tutorial.

  3. Ejecute el siguiente comando para permitir la ejecución de scripts. Elija Sí a Todo cuando se le solicite.

    Set-ExecutionPolicy Bypass -Scope Process
    
  4. Ejecute Create-AzureDevVM.ps1.

    .\Create-AzureDevVm.ps1
    

    Cuando se le solicite, proporcione la siguiente información:

    • Identificador de suscripción de Azure: el identificador de suscripción, que se puede encontrar en Suscripciones de Azure en el portal.
    • Nombre del grupo de recursos: el nombre de un grupo de recursos nuevo o existente en Azure.
    • Ubicación: elija una ubicación de Azure donde se creará la máquina virtual. Por ejemplo, "Oeste de EE. UU. 2" o "Norte de Europa". Para más información, consulte Ubicaciones de Azure.
    • Nombre de usuario: proporcione un nombre memorable para la cuenta de administrador de la máquina virtual.
    • Contraseña: establezca una contraseña para la cuenta de administrador de la máquina virtual.

    El script se ejecuta durante varios minutos, ya que ejecuta los pasos siguientes:

    1. Instala el módulo Az de Azure PowerShell.
    2. Le pide que inicie sesión en Azure.
    3. Confirma la información para la creación de la máquina virtual. Presione y o Entrar para continuar.
    4. Crea el grupo de recursos si no existe.
    5. Implementa la máquina virtual.
    6. Habilita Hyper-V en la máquina virtual.
    7. Instala el software necesario para el desarrollo y clona el repositorio de ejemplo.
    8. Reinicia la máquina virtual.
    9. Crea un archivo RDP en el escritorio para conectarse a la máquina virtual.

    Si se le pide el nombre de la VM para reiniciarla, puede copiarlo desde la salida del script. La salida también muestra la ruta de acceso al archivo RDP para conectarse a la máquina virtual.

Establecimiento de la programación de apagado automático

Para ayudarle a reducir el costo, la máquina virtual de desarrollo se ha creado con una programación de apagado automático establecida en 1900 PST. Es posible que tenga que actualizar esta configuración en función de la ubicación y la programación. Para actualizar la programación de apagado:

  1. En Azure Portal, vaya a la máquina virtual que creó el script.

  2. En el menú del panel izquierdo, en Operaciones, seleccione Apagado automático.

  3. Ajuste el apagado programado y la zona horaria según sea necesario y seleccione Guardar.

Conexión a la máquina virtual de desarrollo

Ahora que hemos creado una máquina virtual, es necesario terminar de instalar el software necesario para completar el tutorial.

  1. Haga doble clic en el archivo RDP que creó el script en el escritorio.

  2. Aparecerá un cuadro de diálogo que indica que el publicador de la conexión remota es desconocido. Esto es aceptable, así que seleccione Conectar.

  3. Proporcione la contraseña de administrador que proporcionó para crear la máquina virtual y haga clic en Aceptar.

  4. Se le pedirá que acepte el certificado de la máquina virtual. Seleccione .

Instalación de extensiones de Visual Studio Code

Ahora que se ha conectado a la máquina de desarrollo, agregue algunas extensiones útiles a Visual Studio Code para facilitar la experiencia de desarrollo.

  1. Conéctese a la máquina virtual de desarrollo, abra una ventana de PowerShell y vaya al directorio C:\source\IoTEdgeAndMlSample\DevVM . Este directorio lo creó el script que creó la máquina virtual.

    cd C:\source\IoTEdgeAndMlSample\DevVM
    
  2. Ejecute el siguiente comando para permitir la ejecución de scripts. Elija Sí a Todo cuando se le solicite.

    Set-ExecutionPolicy Bypass -Scope Process
    
  3. Ejecute el script de extensiones de Visual Studio Code.

    .\Enable-CodeExtensions.ps1
    
  4. El script se ejecutará durante unos minutos instalando extensiones de VS Code:

    • Azure IoT Edge
    • Azure IoT Hub
    • Pitón
    • C#
    • Docker
    • PowerShell

Configuración de IoT Hub y Almacenamiento

Normalmente, estos pasos los realiza un desarrollador en la nube.

Azure IoT Hub es el núcleo de cualquier aplicación de IoT, ya que controla la comunicación segura entre dispositivos IoT y la nube. Es el punto de coordinación principal para el funcionamiento de la solución de aprendizaje automático de IoT Edge.

  • IoT Hub usa rutas para dirigir los datos entrantes desde dispositivos IoT a otros servicios de bajada. Aprovecharemos las rutas de IoT Hub para enviar datos de dispositivo a Azure Storage. En Azure Storage, Azure Machine Learning consume los datos del dispositivo para entrenar el clasificador de vida útil restante (RUL).

  • Más adelante en el tutorial, usaremos IoT Hub para configurar y administrar nuestro dispositivo Azure IoT Edge.

En esta sección, usará un script para crear una instancia de Azure IoT Hub y una cuenta de Azure Storage. A continuación, en Azure Portal, configurará una ruta que reenvía los datos recibidos por el centro a un contenedor de Azure Storage. Estos pasos tardan unos 10 minutos en completarse.

  1. Conéctese a la máquina virtual de desarrollo, abra una ventana de PowerShell y vaya al directorio de IoTHub .

    cd C:\source\IoTEdgeAndMlSample\IoTHub
    
  2. Ejecute el script de creación. Use los mismos valores para el identificador de suscripción, la ubicación y el grupo de recursos que hizo al crear la máquina virtual de desarrollo.

    .\New-HubAndStorage.ps1 -SubscriptionId <subscription id> -Location <location> -ResourceGroupName <resource group>
    
    • Se le pedirá que inicie sesión en Azure.
    • El script confirma la información para la creación de la cuenta de Hub y almacenamiento. Presione y o Entrar para continuar.

El script tarda unos dos minutos en ejecutarse. Una vez completado, el script genera el nombre del centro de IoT y la cuenta de almacenamiento.

Revisión de la ruta hacia el almacenamiento en IoT Hub

Como parte de la creación del centro de IoT, el script que se ejecutó en la sección anterior también creó un punto de conexión personalizado y una ruta. Las rutas de IoT Hub constan de una expresión de consulta y un punto de conexión. Si un mensaje coincide con la expresión, los datos se envían a lo largo de la ruta al punto de conexión asociado. Los puntos de conexión pueden ser Event Hubs, colas de Service Bus y Topics. En este caso, el punto de conexión es un contenedor de blobs en una cuenta de almacenamiento. Vamos a usar Azure Portal para revisar la ruta creada por nuestro script.

  1. Abra Azure Portal y vaya al grupo de recursos que usa para este tutorial.

  2. En la lista de recursos, seleccione la instancia de IoT Hub que creó el script. Tendrá un nombre que termina con caracteres aleatorios como IotEdgeAndMlHub-jrujej6de6i7w.

  3. En el menú del panel izquierdo, en Configuración del concentrador, seleccione Enrutamiento de mensajes.

  4. En la página Enrutamiento de mensajes, seleccione la pestaña Puntos de conexión personalizados .

  5. Expanda la sección Almacenamiento :

    Captura de pantalla del almacenamiento denominado turbofanDeviceStorage en la lista de puntos de conexión personalizados del portal de I o T Hub.

    Vemos que turbofanDeviceStorage está en la lista de puntos de conexión personalizados. Tenga en cuenta las siguientes características sobre este endpoint:

    • Apunta al contenedor de Blob Storage que creó denominado devicedata como se indica en Nombre del contenedor.
    • Su formato de nombre de archivo tiene la palabra "partición" en el nombre. Encontramos que este formato es más cómodo para las operaciones de archivo que haremos con Azure Notebooks más adelante en este tutorial.
    • Su estado debe ser saludable.
  6. Seleccione la pestaña Rutas .

  7. Seleccione la ruta denominada turbofanDeviceDataToStorage.

  8. En la página Detalles de las rutas, tenga en cuenta que el punto de conexión de la ruta es turbofanDeviceStorage.

    Captura de pantalla que muestra detalles sobre la ruta turbofanDeviceDataToStorage.

  9. Examine la consulta enrutamiento, que se establece en true. Esta configuración significa que todos los mensajes de telemetría del dispositivo coincidirán con esta ruta; y, por tanto, todos los mensajes se enviarán al punto de conexión turbofanDeviceStorage .

  10. Puesto que no se realizaron modificaciones, cierre esta página.

Limpieza de recursos

Este tutorial forma parte de un conjunto en el que cada artículo se basa en el trabajo realizado en los anteriores. Espere para limpiar cualquier recurso hasta completar el tutorial final.

Pasos siguientes

En este artículo, creamos una instancia de IoT Hub y configuramos una ruta a una cuenta de Azure Storage. A continuación, enviaremos datos desde un conjunto de dispositivos simulados a través de IoT Hub a la cuenta de almacenamiento. Más adelante en el tutorial, después de que hayamos configurado nuestro dispositivo y los módulos de IoT Edge, revisaremos las rutas y veremos un poco más en la consulta sobre el enrutamiento.

Continúe con el siguiente artículo para crear un dispositivo simulado para supervisar.