Compartir por


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

Si aún no lo ha hecho, consulte el documento titulado 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. Registre packages.microsoft.com en un repositorio de paquetes 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 máquina virtual 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, realice el control remoto en la máquina virtual y ejecute el siguiente comando de shell en la carpeta principal :

          #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 para el módulo Device Update del dispositivo IoT. Reemplace cualquier valor predeterminado para el connectionData campo 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 para el 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 Device Update.

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

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

    sudo systemctl restart adu-agent
    

Configurar componentes simulados

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

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

Importante

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

  1. Copie la carpeta de demostración en el directorio principal de la máquina virtual de prueba. A continuación, ejecute el siguiente comando para copiar los archivos necesarios en las ubicaciones adecuadas:

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

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

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

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

    3. Registra la extensión:

      sudo /usr/bin/AducIotAgent -E /var/lib/adu/extensions/sources/libcontoso-component-enumerator.so
      
  2. Vea y registre la versión de software de los componentes actuales mediante el siguiente comando para configurar la máquina virtual para admitir actualizaciones de proxy:

    ~/demo/show-demo-components.sh
    

Importación de una actualización de ejemplo

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

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

  2. Inicie sesión en el portal de Azure y vaya a su centro de IoT con Device Update. En el panel izquierdo, seleccione Actualizaciones de administración de> dispositivos.

  3. Seleccione la pestaña Actualizaciones.

  4. Seleccione + Importar nueva actualización.

  5. Seleccione + Seleccionar desde el contenedor de almacenamiento, y luego elija su cuenta de almacenamiento y el contenedor.

    Captura de pantalla que muestra el botón para seleccionar importar 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 padre, el manifiesto de importación hijo y los archivos de carga en su contenedor.

    En el ejemplo siguiente se muestran los archivos de ejemplo cargados para actualizar las cámaras conectadas a un dispositivo de aspirador inteligente. También incluye un script de preinstalación para desactivar las cámaras antes de la actualización 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. Tenga en cuenta que ambos nombres de archivo de manifiesto siguen el formato necesario y terminan con .importmanifest.json.

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

  8. Elija Seleccione.

  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. El proceso de importación comienza 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. En función del tamaño de la actualización, la importación puede finalizar en unos minutos o tardar más.

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

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

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

Creación de un grupo de actualizaciones

  1. Vaya a la pestaña Grupos e implementaciones en la parte superior de la página. Captura de pantalla de dispositivos no agrupados.

  2. Seleccione el botón "Agregar grupo" para crear un nuevo grupo. Captura de pantalla de la adición del grupo de dispositivos.

  3. Seleccione una etiqueta de IoT Hub y Clase de dispositivo en la lista y, a continuación, seleccione Crear grupo. Captura de pantalla de la selección de etiquetas.

  4. Una vez creado el grupo, verá que se actualizan el gráfico de cumplimiento de actualizaciones y la lista de grupos. El gráfico de cumplimiento de actualizaciones muestra el recuento de dispositivos en varios estados de cumplimiento: En la actualización más reciente, Nuevas actualizaciones disponibles y Actualizaciones en curso. Obtenga información sobre el cumplimiento de actualizaciones.Captura de pantalla de la vista de cumplimiento de actualizaciones.

  5. Debería ver el grupo recién creado y las actualizaciones disponibles para los dispositivos del nuevo grupo. Si hay dispositivos que no cumplen los requisitos de clase de dispositivo del grupo, aparecerán en un grupo no válido correspondiente. Puede implementar la mejor actualización disponible para el nuevo grupo definido por el usuario desde esta vista haciendo clic en el botón "Implementar" situado junto al grupo.

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

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 Mejor actualización (es posible que tenga que actualizar una vez). Más información sobre el cumplimiento de actualizaciones.

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

Detalles del grupo

  1. Para iniciar la implementación, vaya a la pestaña Implementación actual. Haga clic en el vínculo Implementar situado junto a la actualización deseada de la sección Actualizaciones disponibles. La mejor actualización disponible para un grupo determinado se indicará con un resaltado "Mejor".

Seleccionar actualización

  1. Programe la implementación para que se inicie inmediatamente o en el futuro y seleccione Crear.

Creación de una implementación

  1. El estado en Detalles de implementación debe activarse y la actualización implementada debe marcarse con "(deploying)".

Implementación activa

  1. Vea el gráfico de cumplimiento. Debería ver que la actualización está en curso.

  2. Una vez que su dispositivo se haya actualizado correctamente, debería ver que el gráfico de cumplimiento y los detalles de implementación se actualizan para reflejar esto mismo.

    actualización exitosa

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 situado junto a la implementación que creó.

    detalles de implementación

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

Ahora ha completado una actualización exitosa del proxy integral usando Device Update para 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

Puede usar los siguientes tutoriales para obtener una demostración sencilla de Device Update para IoT Hub: