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
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
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>
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.
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 }
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.
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.
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.
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.
Seleccione la pestaña Actualizaciones.
Seleccione + Importar nueva actualización.
Elija + Seleccionar uno del contenedor de almacenamiento y seleccione la cuenta de Storage y el contenedor.
Seleccione Cargar para agregar los archivos que descargó en el paso 1.
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.
Elija Seleccionar.
La interfaz de usuario muestra ahora la lista de archivos que se importarán a Device Update. Seleccione Importar actualización.
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.
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.
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.
Vaya a la pestaña Grupos e implementaciones en la parte superior de la página.
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.
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
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.
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.
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.
Programe la implementación para que se inicie inmediatamente o en el futuro y, a continuación, seleccione Crear.
El Estado en Detalles de implementación debe cambiar a Activo y la actualización implementada debe estar marcada con "(deploying)" ([implementando]).
Consulte el gráfico de compatibilidad. Debería ver que la actualización está en curso.
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.
Supervisión de una implementación de actualizaciones
Seleccione la pestaña Historial de implementación en la parte superior de la página.
Seleccione el vínculo de detalles junto a la implementación que ha creado.
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.