Tutorial: Completar una actualización de proxy mediante Device Update para Azure IoT Hub

Si aún no lo ha hecho, consulte Uso de actualizaciones de proxy con Device Update para Azure IoT Hub.

Configuración de un dispositivo de prueba o una máquina virtual

En este tutorial se usa una máquina virtual (VM) Ubuntu Server 18.04 LTS como ejemplo.

Instalación del agente y las dependencias de Device Update

  1. Registro de packages.microsoft.com en el repositorio de paquetes de APT:

    sudo apt-get update
    
    sudo apt install curl
    
    curl https://packages.microsoft.com/config/ubuntu/18.04/multiarch/prod.list > ~/microsoft-prod.list
    
    sudo cp ~/microsoft-prod.list /etc/apt/sources.list.d/
    
    curl https://packages.microsoft.com/keys/microsoft.asc | gpg --dearmor > ~/microsoft.gpg
    
    sudo cp ~/microsoft.gpg /etc/apt/trusted.gpg.d/
    
    sudo apt-get update
    
  2. Instale deviceupdate-agent en el dispositivo IoT. Descargue el archivo Debian de Device Update más reciente desde packages.microsoft.com:

    sudo apt-get install deviceupdate-agent
    

    Como alternativa, copie el archivo Debian descargado en la VM de prueba. Si usa PowerShell en el equipo, ejecute el siguiente comando de shell:

    scp <path to the .deb file> tester@<your vm's ip address>:~
    

    A continuación, acceda de forma remota a la VM y ejecute el siguiente comando de shell en la carpeta home:

    #go to home folder 
    cd ~
    #install latest Device Update agent
    sudo apt-get install ./<debian file name from the previous step>
    
  3. Vaya a Azure IoT Hub y copie la cadena de conexión principal del módulo Device Update del dispositivo IoT. Reemplace cualquier valor predeterminado del campo connectionData por la cadena de conexión principal del archivo du-config.json:

    sudo nano /etc/adu/du-config.json  
    

    Nota

    En su lugar, puede copiar la cadena de conexión principal del dispositivo, pero se recomienda usar la cadena para el módulo Device Update. Para obtener información sobre cómo configurar el módulo, consulte Aprovisionamiento del agente de actualización de dispositivos.

  4. Asegúrese de que /etc/adu/du-diagnostics-config.json contiene la configuración correcta de la recopilación de registros. Por ejemplo:

    {
      "logComponents":[
        {
          "componentName":"adu",
           "logPath":"/var/log/adu/"
        },
        {
          "componentName":"do",
          "logPath":"/var/log/deliveryoptimization-agent/"
        }
      ],
      "maxKilobytesToUploadPerLogPath":50
    }
    
  5. Reinicio del agente de Device Update:

    sudo systemctl restart deviceupdate-agent
    

Configuración de componentes de prueba

Con fines de prueba y demostración, crearemos los siguientes componentes de prueba en el dispositivo:

  • Tres motores
  • Dos cámaras
  • "hostfs"
  • "rootfs"

Importante

La configuración del componente anterior depende de la implementación de una extensión de enumerador de componentes de ejemplo denominada libcontoso-component-enumerator.so. También requiere este archivo de datos de inventario de componentes ficticios: /usr/local/contoso-devices/components-inventory.json.

  1. Copie la carpeta demo en el directorio principal de la VM de prueba. A continuación, ejecute el siguiente comando para copiar los archivos necesarios en las ubicaciones correctas:

    `~/demo/tools/reset-demo-components.sh` 
    

    El comando reset-demo-components.sh realiza los pasos siguientes en su nombre:

    • Copia components-inventory.json y lo agrega a la carpeta /usr/local/contoso-devices.

    • Copia la extensión de enumerador de componentes de Contoso (libcontoso-component-enumerator.so) de la carpeta Assets y la agrega a la carpeta /var/lib/adu/extensions/sources.

    • Registra la extensión:

      sudo /usr/bin/AducIotAgent -E /var/lib/adu/extensions/sources/libcontoso-component-enumerator.so
      

Importación de una actualización de ejemplo

Si todavía no lo ha hecho, cree una instancia y una cuenta de Device Update, incluida la configuración de un centro de IoT. A continuación, inicie el procedimiento siguiente.

  1. Descargue los manifiestos e imágenes de importación de actualizaciones de proxy de la versión más reciente de Device Update en Recursos.

  2. Inicie sesión en Azure Portal y vaya a su instancia de IoT Hub con Device Update. En el panel izquierdo, seleccione Administración de dispositivos>Actualizaciones.

  3. Seleccione la pestaña Actualizaciones.

  4. Seleccione + Importar nueva actualización.

  5. Elija + Seleccionar uno del contenedor de almacenamiento y seleccione la cuenta de Storage y el contenedor.

    Captura de pantalla que muestra el botón para seleccionar la importación desde un contenedor de almacenamiento.

  6. Seleccione Cargar para agregar los archivos que descargó en el paso 1.

  7. Cargue el manifiesto de importación primario, el manifiesto de importación secundario y los archivos de carga al contenedor.

    En el ejemplo siguiente se muestran los archivos de ejemplo cargados para actualizar las cámaras conectadas a un dispositivo de limpieza inteligente. También incluye un script de preinstalación para apagar las cámaras antes de la actualización por vía inalámbrica.

    En el ejemplo, el manifiesto de importación primario es contoso.Virtual-Vacuum-virtual-camera.1.4.importmanifest.json. El manifiesto de importación secundario con detalles para actualizar la cámara es Contoso.Virtual-Vacuum.3.3.importmanifest.json. Ambos nombres de archivo de manifiesto siguen el formato necesario y terminan en .importmanifest.json.

    Captura de pantalla que muestra archivos de ejemplo cargados para actualizar cámaras conectadas a un dispositivo de limpieza inteligente.

  8. Elija Seleccionar.

  9. La interfaz de usuario muestra ahora la lista de archivos que se importarán a Device Update. Seleccione Importar actualización.

    Captura de pantalla que muestra los archivos enumerados y el botón para importar una actualización.

  10. 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 finalice el proceso de importación. Según el tamaño de la actualización, la importación podría finalizar en unos minutos o tardar más.

  11. Cuando la columna Estado indique que la importación se ha realizado correctamente, seleccione la pestaña Actualizaciones disponibles. Ahora debería ver la actualización importada en la lista.

    Captura de pantalla que muestra la actualización importada agregada a la lista.

Para más información sobre el proceso de importación, consulte Importación de una actualización a Device Update.

Visualización de grupos de dispositivos

Device Update usa grupos para organizar los dispositivos. Este servicio ordena automáticamente los dispositivos por grupos en función de las etiquetas y propiedades de compatibilidad que tienen asignadas. Cada dispositivo pertenece solo a un grupo, pero los grupos pueden tener varios subgrupos para ordenar diferentes clases de dispositivos.

  1. Vaya a la pestaña Grupos e implementaciones en la parte superior de la página.

    Captura de pantalla que muestra los dispositivos desagrupados.

  2. Vea la lista de grupos y el gráfico de cumplimiento de actualizaciones. En el gráfico de Update Compliance se muestra el recuento de dispositivos en los distintos estados de compatibilidad: En la actualización más reciente, Nuevas actualizaciones disponibles y Actualizaciones en curso. Obtenga más información sobre Update Compliance.

    Captura de pantalla que muestra la vista de cumplimiento de actualizaciones.

  3. Debería ver un grupo de dispositivos que contiene el dispositivo simulado que ha configurado en este tutorial junto con las actualizaciones disponibles para los dispositivos del nuevo grupo. Si hay dispositivos que no cumplen los requisitos de clase de dispositivo del grupo, se mostrarán en un grupo no válido correspondiente. Para implementar la mejor actualización disponible en el nuevo grupo definido por el usuario desde esta vista, seleccione Implementar junto al grupo.

Para más información sobre etiquetas y grupos, consulte Administración de grupos de dispositivos.

Implementación de la actualización

  1. Una vez creado el grupo, debería ver una nueva actualización disponible para el grupo de dispositivos, con un vínculo a la actualización en Best Update (Mejor actualización) (puede que deba actualizar una vez).

    Para más información sobre el cumplimiento, consulte Cumplimiento de Device Update.

  2. Seleccione el grupo de destino haciendo clic en el nombre del grupo. Se le dirigirá a los detalles del grupo en los aspectos básicos del grupo.

    Detalles del grupo

  3. Para iniciar la implementación, vaya a la pestaña Implementación actual. Seleccione el vínculo de implementación situado junto a la actualización deseada en la sección Actualizaciones disponibles. La mejor actualización disponible para un grupo determinado se indicará con el término "Óptima" resaltado.

    Seleccionar actualización

  4. Programe la implementación para que se inicie inmediatamente o en el futuro y, a continuación, seleccione Crear.

    Creación de una implementación

  5. El Estado en Detalles de implementación debe cambiar a Activo y la actualización implementada debe estar marcada con "(deploying)" ([implementando]).

    Implementación activa

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

  7. Una vez que el dispositivo se ha actualizado correctamente, debería ver que el gráfico de cumplimiento y los datos de implementación se actualizan para reflejar lo mismo.

    Actualización correcta

Supervisión de una implementación de actualizaciones

  1. Seleccione la pestaña Historial de implementación en la parte superior de la página.

    Historial de implementación

  2. Seleccione el vínculo de detalles junto a la implementación que ha creado.

    Detalles de implementación

  3. Seleccione Actualizar para ver los detalles de estado más recientes.

Acaba de completar una actualización correcta del proxy de un extremo a otro mediante Device Update for IoT Hub.

Limpieza de recursos

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

Pasos siguientes