Nota
O acceso a esta páxina require autorización. Pode tentar iniciar sesión ou modificar os directorios.
O acceso a esta páxina require autorización. Pode tentar modificar os directorios.
Device Update for IoT Hub admite actualizaciones basadas en imágenes, en paquetes y en scripts.
Las actualizaciones basadas en paquetes son actualizaciones dirigidas que solo modifican una aplicación o un componente específicos en el dispositivo. Esto conduce a un menor consumo de ancho de banda y ayuda a reducir el tiempo necesario para descargar e instalar la actualización. Normalmente, las actualizaciones basadas en paquetes también implican menos tiempo de inactividad de los dispositivos al aplicar una actualización y evitan la sobrecarga asociada a la creación de imágenes. Usan un manifiesto de APT que proporciona al agente de Device Update la información que necesita para descargar e instalar los paquetes especificados en el archivo de manifiesto de APT (y sus dependencias) desde un repositorio designado.
Este tutorial le guía a través de la actualización de Azure IoT Edge en Ubuntu Server 18.04 x64 mediante el agente de paquetes device Update. Aunque en el tutorial se muestra cómo actualizar IoT Edge, mediante pasos similares podría actualizar otros paquetes, como el motor de contenedor que usa.
Las herramientas y los conceptos de este tutorial se siguen aplicando, aunque tenga previsto usar una configuración de plataforma de sistema operativo diferente. Concluya esta introducción a un proceso de actualización integral. A continuación, elija la forma que prefiera para actualizar una plataforma de sistema operativo para profundizar en los detalles.
En este tutorial, aprenderá a:
- Descargar e instalar el agente de Device Update y sus dependencias.
- Agregar una etiqueta al dispositivo.
- Importar una actualización.
- Cree un grupo de dispositivos.
- Implementar una actualización del paquete.
- Supervisar la implementación de la actualización.
Prerrequisitos
Si aún no lo ha hecho, cree una cuenta y una instancia de Device Update. Configure un centro de IoT.
Necesitas la cadena de conexión de un dispositivo de IoT Edge.
Si ha usado el tutorial sobre el agente del simulador para realizar pruebas anteriores a esto, ejecute el siguiente comando para invocar el controlador APT e implementar actualizaciones de paquetes por vía inalámbrica en este tutorial.
# sudo /usr/bin/AducIotAgent --register-content-handler /var/lib/adu/extensions/sources/libmicrosoft_apt_1.so --update-type 'microsoft/a pt:1'
Preparación de un dispositivo
Prepare un dispositivo automáticamente o manualmente.
Uso del botón automatizado Implementar en Azure
Para mayor comodidad, en este tutorial se usa una plantilla de Azure Resource Manager basada en cloud-init para ayudarle a configurar rápidamente una máquina virtual Ubuntu 18.04 LTS. Instala el entorno de ejecución de Azure IoT Edge y el agente de paquetes de Device Update. A continuación, configura automáticamente el dispositivo con la información de aprovisionamiento mediante la cadena de conexión del dispositivo IoT Edge (requisito previo) que proporcione. La plantilla de Resource Manager también evita la necesidad de iniciar una sesión de SSH para completar la instalación.
Para empezar, seleccione el botón:
Rellene los cuadros de texto disponibles:
- Suscripción: suscripción de Azure activa en la que se va a implementar la máquina virtual.
- Grupo de recursos: grupo de recursos existente o recién creado que va a contener la máquina virtual y sus recursos asociados.
- Región: la región geográfica en la que se implementará la máquina virtual. Este valor tiene como valor predeterminado la ubicación del grupo de recursos seleccionado.
- Prefijo de etiqueta DNS: valor requerido (de su elección) que se usa como prefijo del nombre de host de la máquina virtual.
- Nombre de usuario administrador: nombre de usuario al que se proporcionan privilegios raíz en la implementación.
- Cadena de conexión de dispositivo: cadena de conexión de un dispositivo que se ha creado en el centro de IoT de su elección.
- Tamaño de VM: tamaño de la máquina virtual que se va a implementar.
- Versión del SO Ubuntu: versión del sistema operativo Ubuntu que se va a instalar en la máquina virtual base. Deje el valor predeterminado sin cambios porque ya se establecerá en Ubuntu 18.04-LTS.
- Tipo de autenticación: elija sshPublicKey o contraseña según sus preferencias.
- Contraseña o clave de administrador: valor de la clave pública SSH o de la contraseña en función del tipo de autenticación que se haya escogido.
Una vez rellenos todos los cuadros, active la casilla situada en la parte inferior de la página para aceptar los términos. Seleccione Comprar para comenzar la implementación.
Compruebe que la implementación se ha completado correctamente. Aguarde unos minutos a que se complete la implementación para que las actividades posteriores a la instalación y la configuración terminen de instalar IoT Edge y el agente de actualización del paquete de dispositivos.
Se debe haber implementado un recurso de máquina virtual en el grupo de recursos seleccionado. Anote el nombre de la máquina, que tiene el formato
vm-0000000000000. Anote también el nombre DNS asociado, que tiene el formato<dnsLabelPrefix>.<location>.cloudapp.azure.com.El nombre DNS se puede obtener en la sección Información general de la máquina virtual recién implementada en Azure Portal.
Sugerencia
Para conectarse a través de SSH a esta máquina virtual después de configurarla, use el nombre DNS asociado con el siguiente comando:
ssh <adminUsername>@<DNS_Name>.Abra los detalles de configuración (consulte cómo definir el archivo de configuración aquí) con el comando siguiente. Establezca su connectionType en "AIS" y su connectionData como una cadena vacía.
/etc/adu/du-config.json
- Reinicie el agente de Device Update mediante la ejecución del comando siguiente:
sudo systemctl restart adu-agent
Los paquetes de software de Device Update para Azure IoT Hub están sujetos a los siguientes términos de licencia:
- Licencia de actualización de dispositivos para IoT Hub
- Licencia de cliente de Optimización de distribución
Lea los términos de licencia antes de usar un paquete. La instalación y el uso de un paquete constituyen la aceptación de estos términos. Si no acepta los términos de licencia, no utilice ese paquete.
Preparar manualmente un dispositivo
De forma similar a los pasos automatizados por el script cloud-init, se usan los pasos manuales siguientes para instalar y configurar un dispositivo. Siga estos pasos para preparar un dispositivo físico.
Siga las instrucciones para instalar el entorno de ejecución de Azure IoT Edge.
Nota:
El agente de Device Update no depende de IoT Edge. Pero depende del servicio IoT Identity Service que se instala con IoT Edge (1.2.0 y versiones posteriores) para obtener una identidad y conectarse al IoT Hub.
Aunque no se trata en este tutorial, el demonio de IoT Identity Service se puede instalar de forma independiente en dispositivos IoT basados en Linux. La secuencia de instalación es importante. El agente de paquetes de Device Update debe instalarse después de IoT Identity Service. De lo contrario, el agente de paquetes no se registrará como un componente autorizado para establecer una conexión a IoT Hub.
Instale los paquetes .deb del agente de Actualización de Dispositivos.
sudo apt-get install deviceupdate-agent deliveryoptimization-plugin-aptIntroduzca la cadena de conexión principal del módulo de su dispositivo IoT (o dispositivo, en función de cómo aprovisionó el dispositivo con Device Update) en el archivo de configuración ejecutando el siguiente comando:
/etc/adu/du-config.jsonReinicie el agente de Device Update mediante la ejecución del comando siguiente:
sudo systemctl restart adu-agent
Los paquetes de software de Device Update para Azure IoT Hub están sujetos a los siguientes términos de licencia:
- Licencia de actualización de dispositivos para IoT Hub
- Licencia de cliente de Optimización de distribución
Lea los términos de licencia antes de usar un paquete. La instalación y el uso de un paquete constituyen la aceptación de estos términos. Si no acepta los términos de licencia, no utilice ese paquete.
Adición de una etiqueta al dispositivo
Inicie sesión en Azure Portal y vaya al centro de IoT.
En el panel izquierdo, en Dispositivos, busque el dispositivo IoT Edge y vaya al dispositivo gemelo o módulo gemelo.
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 del dispositivo con el agente de Device Update, realice estos cambios en el dispositivo gemelo.
Agregue un nuevo valor de etiqueta de Device Update como se muestra a continuación:
"tags": { "ADUGroup": "<CustomTagValue>" },
Importación de la actualización
Vaya a Versiones de Device Update en GitHub y seleccione la lista desplegable Recursos. Seleccione
Tutorial_IoTEdge_PackageUpdate.zippara descargarlo. Extraiga el contenido de la carpeta para detectar un manifiesto de APT de ejemplo (sample-1.0.2-aziot-edge-apt-manifest.json) y su manifiesto de importación correspondiente (sample-1.0.2-aziot-edge-importManifest.json).Inicie sesión en el portal de Azure y vaya a su centro de IoT con Actualización de Dispositivo. En el panel izquierdo, en Administración automática de dispositivos, seleccione Actualizaciones.
Seleccione la pestaña Actualizaciones.
Seleccione + Importar nueva actualización.
Seleccione + Seleccionar desde el contenedor de almacenamiento. Seleccione una cuenta existente o cree una nueva mediante + Cuenta de almacenamiento. A continuación, seleccione un contenedor existente o cree uno nuevo mediante + Contenedor. Este contenedor se usa para almacenar provisionalmente los archivos de actualización para la importación.
Nota:
Se recomienda usar un nuevo contenedor cada vez que importe una actualización para evitar la importación accidental de archivos de actualizaciones anteriores. Si no usa un contenedor nuevo, asegúrese de eliminar los archivos del contenedor existente antes de completar este paso.
En el contenedor, seleccione Cargar y vaya hasta los archivos que descargó en el paso 1. Después de seleccionar todos los archivos de actualización, seleccione Cargar. A continuación, seleccione el botón Seleccionar para volver a la página Importar actualización.
En esta captura de pantalla se muestra el paso de importación. Es posible que los nombres de archivo no coincidan con los usados en el ejemplo.
En la página Importar actualización, revise los archivos que se importarán. A continuación, seleccione Importar actualización para iniciar el proceso de importación.
Se inicia el proceso de importación y la pantalla cambia a la sección Historial de importación. Cuando la columna Estado indique que la importación se ha realizado correctamente, seleccione el encabezado Available Updates (Actualizaciones disponibles). Debería ver la actualización importada en la lista.
Obtenga más información sobre cómo importar actualizaciones.
Creación de un grupo de actualización
Vaya a la pestaña Grupos e implementaciones en la parte superior de la página.
Seleccione el botón Agregar grupo para crear un nuevo grupo.
Seleccione una etiqueta de IoT Hub y clase de dispositivo en la lista. A continuación, seleccione Crear grupo.
Una vez creado el grupo, verá que se actualizan el gráfico de cumplimiento de actualizaciones y la lista de grupos. 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 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, se muestran 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.
Obtenga más información sobre cómo agregar etiquetas y crear grupos de actualizaciones.
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 Mejor actualización. Puede que tenga que actualizar la página una vez. Más información sobre el cumplimiento de actualizaciones.
Para elegir el grupo de destino, seleccione 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. 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 indica con el término Óptima resaltado.
Programe la implementación para que se inicie inmediatamente o en el futuro. Seleccione Crear.
Sugerencia
De forma predeterminada, la fecha y hora de inicio es de 24 horas a partir de la hora actual. Asegúrese de seleccionar una fecha y hora diferentes si quiere que la implementación comience antes.
En Detalles de implementación, Estado cambia a Activo. La actualización implementada está marcada con (implementando).
Vea el gráfico de cumplimiento para comprobar que la actualización está en curso.
Una vez que el dispositivo se ha actualizado correctamente, puede ver que el gráfico de cumplimiento y los detalles de la implementación se actualizan para reflejar lo mismo.
Supervisar la 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.
Ahora ha completado una actualización de paquetes exitosa, completa e integral mediante Device Update para IoT Hub en un dispositivo con Ubuntu Server 18.04 x64.
Limpieza de recursos
Cuando ya no sea necesario, limpie la cuenta de actualización de dispositivo, la instancia y el Hub de IoT. Limpie también el dispositivo IoT Edge si creó la máquina virtual mediante el botón Implementar en Azure. Para limpiar los recursos, vaya a cada recurso individual y seleccione Eliminar. Limpiar una instancia de actualización de dispositivo antes de limpiar la cuenta de actualización de dispositivo.
Pasos siguientes
Use los siguientes tutoriales para obtener una demostración sencilla de Device Update para IoT Hub:
- Actualización de imagen: Introducción a la imagen de referencia Yocto de Raspberry Pi 3 B+, extensible a través de código abierto para crear sus propias imágenes para otra arquitectura según sea necesario.
- Actualización de proxy: Introducción al uso del agente binario device Update para dispositivos de bajada.
- Introducción al uso del agente de referencia del simulador ubuntu (18.04 x64).
- Tutorial sobre Actualización de Dispositivo para Azure IoT Hub en el sistema operativo en tiempo real de Azure.