Tutorial sobre la actualización de dispositivos para Azure IoT Hub mediante el agente de referencia del simulador de Ubuntu 18.04 (x64)

Device Update para IoT Hub admite dos formas de actualizaciones: basada en imágenes y basada en paquetes.

Las actualizaciones con imágenes proporcionan un mayor nivel de confianza en el estado final del dispositivo. Normalmente, es más fácil replicar los resultados de una actualización basada en imágenes entre un entorno de preproducción y un entorno de producción, ya que no plantea los mismos desafíos que los paquetes y sus dependencias. Debido a su naturaleza atómica, también puede adoptar fácilmente un modelo de conmutación por error A/B.

Este tutorial le guiará por los pasos necesarios para completar una actualización basada en imágenes de un extremo a otro mediante Device Update para IoT Hub.

En este tutorial, aprenderá a:

  • Descargar e instalación de Java
  • Adición de una etiqueta a un dispositivo IoT
  • Importación de una actualización
  • Creación de un grupo de dispositivos
  • Implementación de una actualización basada en imágenes
  • Supervisión de la implementación de la actualización

Requisitos previos

Descarga e instalación

  • Cmdlets Az (CLI de Azure) para PowerShell:
    • Abra PowerShell > Instalar la CLI de Azure ("Y" para solicitar la instalación desde un origen que "no es de confianza").
PS> Install-Module Az -Scope CurrentUser

Habilitación de WSL en un dispositivo Windows (Subsistema de Windows para Linux)

  1. Abra PowerShell como administrador en la máquina y ejecute el siguiente comando (es posible que se le pida que la reinicie después de cada paso; reiníciela cuando se le pida):
PS> Enable-WindowsOptionalFeature -Online -FeatureName VirtualMachinePlatform
PS> Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux

(es posible que se le pida que la reinicie después de este paso)

  1. Vaya a Microsoft Store en la web e instale Ubuntu 18.04 LTS.

  2. Inicie "Ubuntu 18.04 LTS" e instálelo.

  3. Una vez instalado, se le pedirá que establezca el nombre de raíz (nombre de usuario) y la contraseña. Asegúrese de usar un nombre de raíz y una contraseña fáciles de recordar.

  4. En PowerShell, ejecute el siguiente comando para establecer que Ubuntu sea la distribución de Linux predeterminada:

PS> wsl --setdefault Ubuntu-18.04
  1. Enumere todas las distribuciones de Linux y asegúrese de que Ubuntu es la predeterminada.
PS> wsl --list
  1. Debería ver: Ubuntu-18.04 (valor predeterminado)

Descarga del agente de referencia del simulador de Ubuntu 18.04 (x64) de Device Update

El agente de referencia de Ubuntu se puede descargar de la sección Assets (Recursos) de las notas de la versión aquí.

Hay dos versiones del agente. En este tutorial, dado que está trabajando en el escenario basado en imágenes, use AducIotAgentSim-microsoft-swupdate. Si en su lugar trabajara en el escenario basado en paquetes, usaría AducIotAgentSim-microsoft-apt.

Instalación del simulador de Device Update Agent

  1. Inicie Ubuntu WSL y escriba el siguiente comando (tenga en cuenta el espacio adicional y el punto al final).
explorer.exe .
  1. Copie AducIotAgentSim-microsoft-swupdate (o AducIotAgentSim-microsoft-apt) de la carpeta local en que se descargó (debajo de /mnt) a su carpeta local de WSL.

  2. Ejecute el siguiente comando para que se puedan ejecutar los archivos binarios.

sudo chmod u+x AducIotAgentSim-microsoft-swupdate

or

sudo chmod u+x AducIotAgentSim-microsoft-apt

El software de Device Update para Azure IoT Hub está sujeto a los siguientes términos de licencia:

Lea los términos de licencia antes de usar el agente. La instalación y el uso constituyen la aceptación de estos términos. Si no está de acuerdo con los términos de licencia, no use el agente de Device Update para IoT Hub.

Incorporación de un dispositivo a Azure IoT Hub

Una vez que Device Update Agent se ejecuta en un dispositivo IoT, el dispositivo debe agregarse a Azure IoT Hub. En Azure IoT Hub, se generará una cadena de conexión para un dispositivo concreto.

  1. En Azure Portal, inicie Device Update para IoT Hub.
  2. Cree un dispositivo.
  3. En el lado izquierdo de la página, vaya a "IoT Devices" (Dispositivos IoT) y seleccione "New" (Nuevo).
  4. Especifique un nombre para el dispositivo en "ID. de dispositivo": asegúrese de que la casilla "Autogenerate keys" (Generar claves automáticamente) esté activada.
  5. Seleccione "Guardar".
  6. Volverá a la página "Dispositivos" y el dispositivo que ha creado debería estar en la lista. Seleccione ese dispositivo.
  7. En la vista de dispositivos, seleccione el icono "Copiar", que está junto a "Cadena de conexión principal".
  8. Pegue en algún lugar los caracteres copiados para su uso posterior en los pasos siguientes. Esta cadena copiada es la cadena de conexión del dispositivo.

Adición de una cadena de conexión al simulador

Inicie Device Update Agent en los nuevos dispositivos de software.

  1. Inicie Ubuntu.
  2. Ejecute Device Update Agent y especifique la cadena de conexión del dispositivo de la sección anterior entre comillas:

Reemplace <device connection string> por una cadena de conexión

sudo ./AducIotAgentSim-microsoft-swupdate "<device connection string>"

o bien

./AducIotAgentSim-microsoft-apt -c '<device connection string>'
  1. Desplácese hacia arriba y busque la cadena que indica que el dispositivo está en estado "Inactivo". El estado "Inactivo" significa que el dispositivo está listo para los comandos de servicio:
Agent running. [main]

Adición de una etiqueta a un dispositivo

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

  2. En "Dispositivos IoT" o "IoT Edge" en el panel de navegación izquierdo, busque el dispositivo IoT y vaya al dispositivo o módulo gemelo.

  3. En el módulo gemelo del agente de Device Update, cambie los valores de etiqueta de Device Update existentes a null para eliminarlos. Si usa la identidad de dispositivo con el agente de Device Update, realice estos cambios en el dispositivo gemelo.

  4. Agregue un nuevo valor de etiqueta de Device Update como se muestra a continuación.

    "tags": {
            "ADUGroup": "<CustomTagValue>"
            }

Importación de actualización

  1. Descargue el manifiesto de importación de ejemplo y la actualización de imagen de ejemplo. Nota: Se trata de archivos de actualización que se usan de nuevo en el tutorial de Raspberry Pi, ya que la actualización de este tutorial se simulará y, por tanto, no importa el contenido específico del archivo.

  2. Inicie sesión en Azure Portal y vaya a su instancia de IoT Hub con Device Update. A continuación, seleccione la opción Actualizaciones de dispositivos en Administración de dispositivos automática en la barra de navegación izquierda.

  3. Seleccione la pestaña Actualizaciones.

  4. Seleccione "+ Import New Update" (Importar nueva actualización).

  5. Seleccione el icono de la carpeta o el cuadro de texto en "Select an Import Manifest File" (Seleccionar un archivo de manifiesto de importación). Verá un cuadro de diálogo para seleccionar archivos. Seleccione el manifiesto de importación de ejemplo que ha descargado en el paso 1 anterior. Seleccione el icono de la carpeta o el cuadro de texto en "Select one or more update files" (Seleccionar uno o varios archivos de importación). Verá un cuadro de diálogo para seleccionar archivos. Seleccione la actualización de imagen de ejemplo que ha descargado en el paso 1 anterior.

    Captura de pantalla que muestra la selección del archivo de actualización.

  6. Seleccione el icono de la carpeta o el cuadro de texto en "Select a storage container" (Seleccionar un contenedor de almacenamiento). Luego, seleccione la cuenta de almacenamiento adecuada.

  7. Si ya ha creado un contenedor, puede volver a usarlo (de lo contrario, seleccione "+ Contenedor" para crear contenedor de almacenamiento para las actualizaciones). Seleccione el contenedor que desee usar y haga clic en "Seleccionar".

Captura de pantalla que muestra la selección del contenedor.

  1. Seleccione "Enviar" para iniciar el proceso de importación.

  2. Se inicia el proceso de importación y la pantalla cambia a la sección "Historial de importación". Seleccione "Actualizar" para ver el progreso hasta que se complete el proceso de importación. En función del tamaño de la actualización, puede completarse en unos minutos, pero puede tardar más tiempo.

    Captura de pantalla que muestra la secuencia de importación de la actualización.

  3. Cuando la columna Estado indique que la importación se ha realizado correctamente, seleccione el encabezado "Ready to Deploy" (Listo para implementar). Debería ver la actualización importada en la lista.

Más información sobre la importación de actualizaciones.

Creación de un grupo de actualización

  1. Vaya a la instancia de IoT Hub que conectó anteriormente a la instancia de Device Update.

  2. Seleccione la opción Actualizaciones del dispositivo en Administración de dispositivos automática en la barra de navegación izquierda.

  3. Seleccione la pestaña Groups (Grupos) en la parte superior de la página.

  4. Seleccione el botón Add (Agregar) para crear un grupo.

  5. Seleccione en la lista la etiqueta IoT Hub que ha creado en el paso anterior. Seleccione Create update group (Crear grupo de actualización).

    Captura de pantalla que muestra la selección de etiquetas.

Más información sobre cómo agregar etiquetas y crear grupos de actualización

Implementación de la actualización

  1. Una vez creado el grupo, debería ver que hay una actualización nueva disponible para el grupo de dispositivos, con un vínculo a la actualización en Actualizaciones pendientes. Es posible que tenga que actualizar una vez.

  2. Haga clic en la actualización disponible.

  3. Confirme que se ha seleccionado el grupo correcto como grupo de destino. Programe la implementación y, a continuación, seleccione Deploy update (Implementar actualización).

    Select update (Seleccionar actualización)

  4. Consulte el gráfico de compatibilidad. Debería ver que la actualización está en curso.

    Actualización en curso

  5. Una vez que el dispositivo se haya actualizado correctamente, debería ver que el gráfico de compatibilidad y la actualización de los detalles de implementación reflejan lo mismo.

    Actualización correcta

Supervisión de una implementación de actualizaciones

  1. Seleccione la pestaña Implementaciones en la parte superior de la página.

    Pestaña Implementaciones

  2. Seleccione la implementación que creó para ver los detalles de la implementación.

    Detalles de implementación

  3. Seleccione Actualizar para ver los detalles de estado más recientes. Continúe con este proceso hasta que el estado cambie a Succeded (Correcto).

Ya ha completado una actualización basada en imágenes de un extremo a otro, para lo que ha usado Device Update para IoT Hub mediante el agente de referencia del simulador Ubuntu 18.04 (x64).

Limpieza de recursos

Cuando ya no los necesite, limpie la cuenta de Device Update, la instancia, IoT Hub y el dispositivo IoT.

Pasos siguientes