Inicio rápido: Implementación del primer módulo de IoT Edge en un dispositivo Windows (versión preliminar)

Se aplica a: icono sí IoT Edge 1.1

Pruebe Azure IoT Edge en este inicio rápido mediante la implementación de código en contenedor en un dispositivo IoT Edge para Linux en Windows. IoT Edge permite administrar de forma remota el código de los dispositivos para que pueda enviar más cargas de trabajo al perímetro. Para este inicio rápido, es aconsejable que use su propio dispositivo para ver lo fácil que es utilizar Azure IoT Edge para Linux en Windows.

En esta guía de inicio rápido, aprenderá a hacer lo siguiente:

  • Crear un Centro de IoT.
  • Registrar un dispositivo IoT Edge en su instancia de IoT Hub.
  • Instalar e iniciar Azure IoT Edge para Linux en el runtime de Windows del dispositivo.
  • Implementar un módulo de forma remota en un dispositivo IoT Edge y enviar datos de telemetría.

Diagrama que muestra la arquitectura de este inicio rápido para el dispositivo y la nube.

En este inicio rápido se explica cómo configurar Azure IoT Edge para Linux en un dispositivo Windows. Después, podrá implementar un módulo de Azure Portal en el dispositivo. El módulo que utilizará es un sensor simulado que genera datos de temperatura, humedad y presión. Otros tutoriales de Azure IoT Edge se basan en el trabajo que se realiza aquí mediante la implementación de módulos que analizan los datos simulados para obtener información empresarial.

Si no tiene una suscripción activa a Azure, cree una cuenta gratuita antes de comenzar.

Nota

IoT Edge para Linux en Windows se encuentra en versión preliminar pública.

Requisitos previos

Prepare el entorno para la CLI de Azure.

  • Use el entorno de Bash en Azure Cloud Shell.

    Iniciar Cloud Shell en una nueva ventana

  • Si lo prefiere, instale la CLI de Azure para ejecutar sus comandos de referencia.

    • Si usa una instalación local, inicie sesión en la CLI de Azure mediante el comando az login. Siga los pasos que se muestran en el terminal para completar el proceso de autenticación. Para ver otras opciones de inicio de sesión, consulte Inicio de sesión con la CLI de Azure.

    • Cuando se le solicite, instale las extensiones de la CLI de Azure la primera vez que la use. Para más información sobre las extensiones, consulte Uso de extensiones con la CLI de Azure.

    • Ejecute az version para buscar cuál es la versión y las bibliotecas dependientes que están instaladas. Para realizar la actualización a la versión más reciente, ejecute az upgrade.

Cree un grupo de recursos en la nube para administrar todos los recursos que va a usar en este inicio rápido.

az group create --name IoTEdgeResources --location westus2

Asegúrese de que el dispositivo de IoT Edge cumpla con los requisitos siguientes:

  • Ediciones

    • Windows 10, versión 1809 o posterior; compilación 17763 o posterior
      • Professional, Enterprise, IoT Enterprise
    • Windows Server 2019, compilación 17763 o posterior
  • Requisitos de hardware

    • Memoria libre mínima: 1 GB
    • Espacio libre en disco mínimo: 10 GB

Nota

En este inicio rápido se utiliza Windows Admin Center para crear una implementación de IoT Edge para Linux en Windows. También puede emplear PowerShell. Si desea usar PowerShell para crear la implementación, siga los pasos de la guía paso a paso sobre instalación y aprovisionamiento de Azure IoT Edge para Linux en un dispositivo Windows.

Crear un centro de IoT

Empiece por crear un centro de IoT con la CLI de Azure.

Diagrama que muestra el paso para crear un centro de IoT.

El nivel gratuito de Azure IoT Hub funciona para este inicio rápido. Si ha usado IoT Hub en el pasado y ya tiene un centro creado, puede usarlo.

El código siguiente crea un centro F1 gratis en el grupo de recursos IoTEdgeResources. Reemplace {hub_name} por un nombre único para su centro de IoT. La creación de una instancia de IoT Hub puede tardar unos minutos.

az iot hub create --resource-group IoTEdgeResources --name {hub_name} --sku F1 --partition-count 2

Si se produce un error porque ya hay un centro gratuito en la suscripción, cambie la SKU a S1. Si recibe un error que le indica que el nombre del centro de IoT no está disponible, es que alguien más ya tiene un centro con ese nombre. Pruebe con uno nuevo.

Registro de un dispositivo de IoT Edge

Registre un dispositivo de IoT Edge con la instancia de IoT Hub recién creada.

Diagrama que muestra el paso para registrar un dispositivo con una identidad de un centro de IoT.

Cree una identidad para el dispositivo simulado, con el fin de que pueda comunicarse con su centro de IoT. La identidad del dispositivo reside en la nube, y se usa una cadena de conexión de dispositivo única para asociar un dispositivo físico a una identidad de dispositivo.

Los dispositivos de IoT Edge se comportan y se pueden administrar de manera diferente a los dispositivos de IoT típicos. Utilice la marca --edge-enabled para declarar que esta identidad es para un dispositivo IoT Edge.

  1. En Azure Cloud Shell, escriba el comando siguiente para crear un dispositivo llamado myEdgeDevice en el centro.

    az iot hub device-identity create --device-id myEdgeDevice --edge-enabled --hub-name {hub_name}
    

    Si recibe un error acerca de las claves de directiva iothubowner, asegúrese de que Cloud Shell ejecuta la versión más reciente de la extensión Azure IoT.

  2. Vea la cadena de conexión del dispositivo, que vincula el dispositivo físico con su identidad en IoT Hub. Contiene el nombre del centro de IoT, el nombre del dispositivo y una clave compartida que autentica las conexiones entre los dos.

    az iot hub device-identity connection-string show --device-id myEdgeDevice --hub-name {hub_name}
    
  3. Copie el valor de la clave connectionString desde la salida JSON y guárdelo. Este valor es la cadena de conexión del dispositivo. Lo utilizará para configurar el tiempo de ejecución de IoT Edge en la sección siguiente.

    Captura de pantalla que muestra la salida connectionString en Cloud Shell.

Instale e inicie el runtime de IoT Edge

Instale Azure IoT Edge para Linux en Windows en el dispositivo y configúrelo con la cadena de conexión del dispositivo.

Diagrama que muestra el paso para iniciar el tiempo de ejecución de IoT Edge.

  1. Descargue Windows Admin Center.

  2. Siga las indicaciones del asistente para la instalación a fin de configurar Windows Admin Center en el dispositivo.

  3. Abra Windows Admin Center.

  4. En la esquina superior derecha, seleccione el icono de engranaje Settings (Configuración) y, a continuación, Extensions (Extensiones).

  5. En la pestaña Feeds (Fuentes), seleccione Add (Agregar).

  6. Escriba https://aka.ms/wac-insiders-feed en el cuadro de texto y, después, seleccione Add (Agregar).

  7. Una vez agregada la fuente, vaya a la pestaña Available extensions (Extensiones disponibles) y espere a que se actualice la lista de extensiones.

  8. En la lista Available extensions (Extensiones disponibles), seleccione Azure IoT Edge.

  9. Instale la extensión.

  10. Una vez instalada la extensión, seleccione Windows Admin Center en la esquina superior izquierda para ir a la página principal del panel.

    La conexión localhost representa el equipo en el que se ejecuta Windows Admin Center.

    Captura de pantalla de la página de inicio de Windows Admin Center

  11. Seleccione Agregar.

    Captura de pantalla que muestra la selección del botón Add (Agregar) en Windows Admin Center.

  12. En el icono de Azure IoT Edge, seleccione Create new (Crear nuevo) para iniciar el asistente para la instalación.

    Captura de pantalla que muestra la creación de una nueva implementación en el icono de Azure IoT Edge.

  13. Continúe con el asistente para la instalación a fin de aceptar los Términos de licencia del software de Microsoft y, a continuación, seleccione Next (Siguiente).

    Captura de pantalla que muestra la selección de Next (Siguiente) para continuar con el asistente para la instalación.

  14. Seleccione Optional diagnostic data (Datos de diagnóstico opcionales) y, a continuación, Next: (Siguiente:) Implementación. Esta selección proporciona datos de diagnóstico extendidos que ayudan a Microsoft a supervisar y mantener la calidad del servicio.

    Captura de pantalla que muestra las opciones de datos de diagnóstico.

  15. En la pantalla Select target device (Seleccionar dispositivo de destino), seleccione el dispositivo de destino que desee para comprobar que cumple los requisitos mínimos. En este inicio rápido, vamos a instalar IoT Edge en el dispositivo local, por lo que debe elegir la conexión localhost. Si el dispositivo de destino cumple los requisitos, seleccione Next (Siguiente) para continuar.

    Captura de pantalla que muestra la lista de dispositivos de destino.

  16. Seleccione Next (Siguiente) para aceptar la configuración predeterminada. En la pantalla de implementación se muestra el proceso de descarga del paquete, la instalación del paquete, la configuración del host y la configuración final de la máquina virtual Linux (VM). Una implementación correcta tiene el siguiente aspecto:

    Captura de pantalla de una implementación correcta.

  17. Seleccione Siguiente: Connect (Siguiente: Conectar) para continuar al paso final para aprovisionar un dispositivo Azure IoT Edge con su identificador de dispositivo desde la instancia de IoT Hub.

  18. Pegue la cadena de conexión que ha copiado anteriormente en este inicio rápido en el campo Device connection string (Cadena de conexión de dispositivo). Luego, seleccione Provisioning with the selected method (Aprovisionar con el método seleccionado).

    Captura de pantalla que muestra la cadena de conexión en el campo de cadena de conexión de dispositivo.

  19. Una vez completado el aprovisionamiento, seleccione Finish (Finalizar) para completar y volver a la pantalla de inicio de Windows Admin Center. Debería ver el dispositivo en la lista como un dispositivo IoT Edge.

    Captura de pantalla que muestra todas las conexiones en Windows Admin Center.

  20. Seleccione el dispositivo Azure IoT Edge para ver su panel. Debería ver que se han implementado las cargas de trabajo del dispositivo gemelo en Azure IoT Hub. En IoT Edge Module List (Lista de módulos de IoT Edge), se debe mostrar un módulo en ejecución, edgeAgent, e IoT Edge Status (Estado de IoT Edge) debe ser active (running) [activo (en ejecución)].

El dispositivo de IoT Edge está ya configurado. Está preparado para ejecutar módulos implementados en la nube.

Implementación de un módulo

Administre el dispositivo Azure IoT Edge desde la nube para implementar un módulo que envía datos de telemetría a IoT Hub.

Diagrama que muestra el paso para implementar un módulo.

Una de las funcionalidades clave de Azure IoT Edge es la implementación de código en dispositivos de IoT Edge desde la nube. Los módulos de IoT Edge son paquetes ejecutables que se implementan como contenedores. En esta sección, va a implementar un módulo pregenerado desde la sección de módulos de IoT Edge de Azure Marketplace directamente desde la instancia de Azure IoT Hub.

El módulo que se implementa en esta sección simula un sensor y envía los datos generados. Este módulo es un fragmento de código útil para empezar a trabajar con IoT Edge porque se pueden usar los datos simulados para desarrollo y pruebas. Si desea ver exactamente lo que hace este módulo, puede ver el código fuente del sensor de temperatura simulado.

Siga estos pasos para implementar el primer módulo desde Azure Marketplace.

  1. Inicie sesión en Azure Portal y vaya al centro de IoT.

  2. En el menú de la izquierda, en Administración automática de dispositivos, seleccione IoT Edge.

  3. Seleccione el identificador del dispositivo de destino en la lista de dispositivos.

  4. En la barra superior, seleccione Establecer módulos.

    Captura de pantalla que muestra la selección de Establecer módulos.

  5. En Módulos de IoT Edge, abra el menú desplegable Agregar y, a continuación, seleccione Módulo de Marketplace.

    Captura de pantalla que muestra el menú desplegable Agregar.

  6. En Marketplace de módulos IoT Edge, busque y seleccione el módulo Simulated Temperature Sensor.

    El módulo se agrega a la sección Módulos de IoT Edge con el estado en ejecución deseado.

  7. Seleccione Siguiente: Rutas para continuar con el paso siguiente del asistente.

    Captura de pantalla que muestra cómo continuar con el paso siguiente después de agregar el módulo.

  8. En la pestaña Rutas, quite la ruta predeterminada (route) y, a continuación, seleccione Siguiente: Revisar y crear para continuar al próximo paso del asistente.

    Nota

    Las rutas se construyen mediante pares de nombre-valor. Debería ver dos rutas en esta página. La ruta predeterminada (route) envía todos los mensajes a IoT Hub (que se denomina $upstream). Una segunda ruta (SimulatedTemperatureSensorToIoTHub) se creó automáticamente al agregar el módulo desde Azure Marketplace. Esta ruta envía todos los mensajes desde el módulo de temperatura simulado a IoT Hub. Puede eliminar la ruta predeterminada porque es redundante en este caso.

    Captura de pantalla que muestra cómo quitar la ruta predeterminada y pasar al paso siguiente.

  9. Revise el archivo JSON y luego seleccione Crear. El archivo JSON define todos los módulos que se implementan en el dispositivo IoT Edge. Verá el módulo SimulatedTemperatureSensor y los dos módulos en tiempo de ejecución, edgeAgent y edgeHub.

    Nota

    Cuando se envía una implementación nueva a un dispositivo IoT Edge, no se inserta nada en el dispositivo. En lugar de eso, el dispositivo consulta a IoT Hub de manera periódica para comprobar cualquier instrucción nueva. Si el dispositivo encuentra un manifiesto de implementación actualizado, usa la información sobre la nueva implementación para extraer las imágenes del módulo de la nube y, después, comienza a ejecutar localmente los módulos. Este proceso puede tardar unos minutos.

  10. Después de crear los detalles de la implementación del módulo, el asistente lo lleva nuevamente a la página de detalles del dispositivo. Vea el estado de implementación en la pestaña Módulos.

    Deben aparecer tres módulos: $edgeAgent, $edgeHub y SimulatedTemperatureSensor. Si se muestra para uno o varios de los módulos en ESPECIFICADO EN LA IMPLEMENTACIÓN pero no en NOTIFICADO POR EL DISPOSITIVO, significa que el dispositivo IoT Edge todavía los está iniciando. Espere unos minutos y actualice la página.

    Captura de pantalla que muestra el sensor de temperatura simulado en la lista de módulos implementados.

Visualización de los datos generados

En esta guía de inicio rápido, ha creado un nuevo dispositivo de IoT Edge y ha instalado el runtime de IoT Edge en él. Luego, ha usado Azure Portal para implementar un módulo de IoT Edge para que se ejecute en el dispositivo sin tener que realizar cambios en el propio dispositivo.

El módulo que ha insertado genera los datos del entorno de ejemplo que puede usar posteriormente para las pruebas. El sensor simulado está supervisando una máquina y el entorno alrededor de esta. Por ejemplo, este sensor podría estar en una sala de servidores, en una fábrica o en un aerogenerador. Los mensajes que envía incluyen la temperatura y la humedad ambientales, la temperatura y la presión de la máquina y una marca de tiempo. Los tutoriales de IoT Edge usan los datos creados por este módulo como datos de prueba con fines de análisis.

En el shell de comandos de Windows Admin Center, confirme que el módulo que ha implementado desde la nube se ejecuta en el dispositivo IoT Edge.

  1. Conéctese al dispositivo IoT Edge recién creado.

    Captura de pantalla que muestra la selección de Connect (Conectar) en Windows Admin Center.

    En la página Overview (Información general), verá IoT Edge Module List (Lista de módulos de IoT Edge ) e IoT Edge Status (Estado de IoT Edge). Puede ver los módulos que se han implementado y el estado del dispositivo.

  2. En Tools (Herramientas), seleccione Command Shell (Shell de comandos). El shell de comandos es un terminal con PowerShell que usa Secure Shell (SSH) automáticamente para conectarse a la máquina virtual Linux del dispositivo Azure IoT Edge en un PC Windows.

    Captura de pantalla en la que se muestra cómo abrir el shell de comandos.

  3. Para comprobar los tres módulos del dispositivo, ejecute el siguiente comando Bash:

    sudo iotedge list
    

    Captura de pantalla que muestra la salida de IoT Edge del shell de comandos.

  4. Vea los mensajes que se envían desde el módulo de sensor de temperatura a la nube.

    iotedge logs SimulatedTemperatureSensor -f
    

    Importante

    Los comandos de IoT Edge distinguen las mayúsculas de las minúsculas en los nombres de los módulos.

    Captura de pantalla que muestra la lista de mensajes enviados desde el módulo a la nube.

También puede utilizar la extensión de Azure IoT Hub para Visual Studio Code para ver los mensajes que llegan a su centro de IoT.

Limpieza de recursos

Si desea continuar con los tutoriales de IoT Edge, omita este paso. Puede utilizar el dispositivo que ha registrado y configurado en este inicio rápido. En caso contrario, puede eliminar los recursos de Azure que creó para evitar gastos.

Si ha creado una máquina virtual y un centro de IoT en un nuevo grupo de recursos, puede eliminar dicho grupo y todos los recursos asociados. Si no desea eliminar todo el grupo, puede eliminar recursos individuales en su lugar.

Importante

Compruebe el contenido del grupo de recursos para asegurarse de que no haya nada que desee conservar. La eliminación de un grupo de recursos es irreversible.

Utilice el comando siguiente para quitar el grupo IoTEdgeResources. La eliminación puede tardar unos minutos.

az group delete --name IoTEdgeResources

Puede confirmar que se ha eliminado el grupo de recursos mediante este comando para ver la lista de grupos de recursos.

az group list

Eliminación de Azure IoT Edge para Linux en Windows

Utilice la extensión del panel en Windows Admin Center a fin de desinstalar Azure IoT Edge para Linux en Windows.

  1. Conéctese al dispositivo IoT Edge en Windows Admin Center. Se carga la extensión de la herramienta del panel de Azure.

  2. Seleccione Desinstalar. Después de quitar Azure IoT Edge, Windows Admin Center quita la entrada de conexión de dispositivo de Azure IoT Edge de la página Inicio.

Nota

Otra forma de quitar Azure IoT Edge del sistema Windows es seleccionar Inicio > Configuración > Aplicaciones > Azure IoT Edge > Desinstalar en el dispositivo IoT Edge. Este método eliminará Azure IoT Edge del dispositivo IoT Edge, pero dejará la conexión atrás en Windows Admin Center. Para completar la eliminación, desinstale también Windows Admin Center en el menú Settings (Configuración).

Pasos siguientes

En esta guía de inicio rápido, ha creado un dispositivo IoT Edge y ha usado la interfaz en la nube de Azure IoT Edge para implementar el código en el dispositivo. Ahora tiene un dispositivo de prueba que genera datos sin procesar acerca de su entorno.

A continuación, configure el entorno de desarrollo local para que pueda empezar a crear módulos IoT Edge que ejecutan su lógica de negocios.