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 adu-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
Vea y registre la versión de software de los componentes actuales mediante el comando siguiente para configurar la máquina virtual para que admita actualizaciones de proxy:
~/demo/show-demo-components.sh
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. Observe que ambos nombres de archivo de manifiesto siguen el formato necesario y terminan con .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.
Más información sobre la importación de actualizaciones.
Creación de un grupo de actualización
Vaya a la pestaña Groups and Deployments (Grupos e implementaciones) en la parte superior de la página.
Seleccione una etiqueta de IoT Hub y una clase de dispositivo de la lista y, a continuación, seleccione Crear grupo.
Una vez creado el grupo, verá que se han actualizado la lista de grupos y el gráfico de Update Compliance. En el gráfico de Update Compliance se muestra el recuento de dispositivos en los distintos estados de compatibilidad: On latest update (Actualización más reciente), Nuevas actualizaciones disponibles y Actualizaciones en curso. Obtenga información sobre el cumplimiento de actualizaciones.
Debería ver el grupo recién creado y todas 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. Puede implementar la mejor actualización disponible en 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 actualización
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). Obtenga más información sobre Update Compliance.
Seleccione el grupo de destino haciendo clic en el nombre del grupo. Se le dirigirá a los detalles del grupo en Group basics (Conceptos básicos del grupo).
- Para iniciar la implementación, vaya a la pestaña Implementación actual. Haga clic en 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 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.
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.
Pasos siguientes
Puede usar los siguientes tutoriales para una demostración sencilla de Device Update for IoT Hub:
Tutorial de Device Update for Azure IoT Hub mediante la imagen de referencia de Raspberry Pi 3 B+ (extensible a través de código abierto para crear sus propias imágenes para otras arquitecturas según sea necesario)
Tutorial de Device Update for Azure IoT Hub mediante el sistema operativo en tiempo real de Azure