Aprovisionamiento del agente de actualización de dispositivos
El agente del módulo de actualización de dispositivos se puede ejecutar junto con otros procesos del sistema y módulos IoT Edge que se conectan a la IoT Hub como parte del mismo dispositivo lógico. En esta sección se describe cómo aprovisionar el agente de actualización de dispositivos como una identidad de módulo.
Cambios en el agente de Device Update en la versión de disponibilidad general
Si usa las versiones del agente de Device Update, migre a la versión 1.0.0 (la versión más reciente del agente) que es la versión de disponibilidad general. Consulte el agente de disponibilidad general para conocer los cambios y cómo realizar la actualización.
Puede comprobar la versión instalada del agente de Device Update y el agente de Optimización de distribución en la sección Propiedades del dispositivo de su dispositivo gemelo de IoT. Obtenga más información sobre las propiedades del dispositivo en la interfaz ADU Core.
Identidad de módulo e identidad de dispositivo
En IoT Hub, en cada identidad de dispositivo, puede crear hasta 50 identidades de módulos. Cada identidad de módulo genera implícitamente un módulo gemelo. En el lado del dispositivo, los SDK de dispositivo de IoT Hub le permiten crear módulos, donde cada uno abre una conexión independiente a IoT Hub. La identidad del módulo y el módulo gemelo proporcionan funcionalidades similares que la identidad del dispositivo y el dispositivo gemelo, pero con una mayor granularidad. Más información sobre identidades de módulo en IoT Hub
Si va a migrar desde un agente de nivel de dispositivo para agregar el agente como una identidad de módulo en el dispositivo, quite el agente anterior que se comunicaba a través del dispositivo gemelo. Al aprovisionar el agente de Device Update como una identidad de módulo, todas las comunicaciones entre el dispositivo y el servicio Device Update se realizarán a través del módulo gemelo, por lo que no olvide etiquetar el módulo gemelo del dispositivo al crear grupos y todas las comunicaciones deben realizarse a través del módulo gemelo.
Compatibilidad con Device Update
Actualmente se admiten los siguientes tipos de dispositivos IoT para actualizaciones por vía inalámbrica con Device Update:
Dispositivos Linux (dispositivos IoT Edge y que no son de IoT Edge):
Dispositivos restringidos:
- Ejemplos del agente de Eclipse ThreadX Device Update: Tutorial de actualización de dispositivos para Azure IoT Hub para Azure-Real-Time-Operating-System
Dispositivos desconectados:
Requisitos previos
Si está configurando el dispositivo de IoT Edge y dispositivo de IoT para las actualizaciones basadas en paquetes, agregue packages.microsoft.com a los repositorios de la máquina siguiendo estos pasos:
Inicie sesión en el equipo o el dispositivo de IoT en el que desea instalar el agente de actualización de dispositivos.
Abra una ventana del terminal.
Instale la configuración del repositorio que coincida con el sistema operativo del dispositivo.
curl https://packages.microsoft.com/config/ubuntu/18.04/multiarch/prod.list > ./microsoft-prod.list
Copie la lista generada en el directorio sources.list.d.
sudo cp ./microsoft-prod.list /etc/apt/sources.list.d/
Instale la clave pública de GPG de Microsoft.
curl https://packages.microsoft.com/keys/microsoft.asc | gpg --dearmor > microsoft.gpg
sudo cp ./microsoft.gpg /etc/apt/trusted.gpg.d/
Cómo aprovisionar el agente de actualización de dispositivos como una identidad de módulo
En esta sección se describe cómo aprovisionar el agente de Azure Device Update como una identidad de módulo en:
- Dispositivos habilitados para IoT Edge.
- Dispositivos IoT que no son de Edge.
- Otros dispositivos IoT.
Para comprobar si tiene IoT Edge habilitado en el dispositivo, consulte las Instrucciones de instalación de IoT Edge.
Siga cualquiera de las secciones siguientes, todas ellas, para agregar el agente de Device Update en función del tipo de dispositivo IoT que está administrando.
En dispositivos habilitados para IoT Edge
Siga estas instrucciones para aprovisionar el agente de actualización de dispositivos en los dispositivos habilitados para IoT Edge.
Siga las instrucciones para aprovisionar manualmente un único dispositivo IoT Edge en Linux.
Instale el agente de actualización de imágenes de Device Update.
Se proporcionan imágenes de ejemplo en el repositorio Recursos aquí. El archivo swUpdate es la imagen base que puede grabar en memoria flash en una placa Raspberry Pi B3+. El archivo .gz es la actualización que se importaría mediante Device Update for IoT Hub. En la sección en que se indica cómo instalar cómo escribir en la memoria flash la imagen de un dispositivo IoT Hub, encontrará un ejemplo.
Instale el agente de actualización de paquetes de Device Update.
Para obtener las últimas versiones del agente de packages.microsoft.com: actualice las listas de paquetes en el dispositivo e instale el paquete del agente de Device Update y sus dependencias mediante:
sudo apt-get update
sudo apt-get install deviceupdate-agent
Para cualquier versión "rc", es decir, versiones de agente candidatas para lanzamiento desde Artefactos: descargue el archivo .deb en la máquina en la que quiera instalar el agente de Device Update y aplique lo siguiente:
sudo apt-get install -y ./"<PATH TO FILE>"/"<.DEB FILE NAME>"
Si va a configurar un MCC para un escenario de dispositivo desconectado, instale el complemento APT de Optimización de distribución:
sudo apt-get install deliveryoptimization-plugin-apt
Después de instalar el agente de actualización de dispositivos, deberá editar el archivo de configuración de Device Update mediante la ejecución del comando siguiente.
sudo nano /etc/adu/du-config.json
Cambie connectionType a "AIS" para los agentes que usarán IoT Identity Service para el aprovisionamiento. El campo ConnectionData debe ser una cadena vacía. Tenga en cuenta que se deben establecer todos los valores con la etiqueta "Place value here". Consulte Configuración de un agente DU.
Ahora ya puede iniciar el agente de Device Update en el dispositivo IoT.
En dispositivos Linux de Iot sin IoT Edge instalado
Siga estas instrucciones para aprovisionar el agente de actualización de dispositivos en los dispositivos para IoT Linux.
Instale IoT Identity Service y agregue la versión más reciente al dispositivo IoT siguiendo las instrucciones de Instalación de Azure IoT Identity Service.
Configure IoT Identity Service siguiendo las instrucciones de Configuración de Azure IoT Identity Service.
Por último, instale el agente de Device Update. Proporcionamos imágenes de ejemplo en Recursos aquí; el archivo swUpdate es la imagen base que puede grabar en la memoria flash de una placa Raspberry Pi B3+ y el archivo .gz es la actualización que se importará mediante Device Update for IoT Hub. Vea un ejemplo de cómo instalar la imagen en el dispositivo IoT Hub.
Después de instalar el agente de actualización de dispositivos, deberá editar el archivo de configuración de Device Update mediante la ejecución del comando siguiente.
sudo nano /etc/adu/du-config.json
Cambie connectionType a "AIS" para los agentes que usarán IoT Identity Service para el aprovisionamiento. El campo ConnectionData debe ser una cadena vacía. Tenga en cuenta que se deben establecer todos los valores con la etiqueta "Place value here". Consulte Configuración de un agente DU.
Ahora ya puede iniciar el agente de Device Update en el dispositivo IoT.
Otros dispositivos IoT
El agente de actualización de dispositivos también puede configurarse sin el servicio de identidad de IoT para probar o en dispositivos restringidos. Siga los pasos que se indican a continuación para aprovisionar el agente de actualización de dispositivos mediante una cadena de conexión (desde el módulo o el dispositivo).
Se proporcionan imágenes de ejemplo en el repositorio Recursos aquí. El archivo swUpdate es la imagen base que puede grabar en memoria flash en una placa Raspberry Pi B3+. El archivo .gz es la actualización que se importaría mediante Device Update for IoT Hub. En la sección en que se indica cómo instalar cómo escribir en la memoria flash la imagen de un dispositivo IoT Hub, encontrará un ejemplo.
Inicie sesión en el equipo o en un dispositivo IoT Edge o de IoT.
Abra una ventana de terminal.
Agregue la cadena de conexión en el archivo de configuración de Device Update:
Escriba lo siguiente en la ventana del terminal:
- Para el agente de Ubuntu, use: sudo nano /etc/adu/du-config.json
- Para la imagen de referencia de Yocto, use: sudo nano /adu/du-config.json
Copie la cadena de conexión principal.
- Si el agente Device Update está configurado como un módulo, copie la cadena de conexión principal del módulo.
- De lo contrario, copie la cadena de conexión principal del dispositivo.
Escriba la cadena de conexión principal copiada en el valor del campo "connectionData" en el archivo du-config.json. Tenga en cuenta que se deben establecer todos los valores con la etiqueta "Place value here". Consulte Configuración de un agente DU.
Ahora ya puede iniciar el agente de Device Update en el dispositivo IoT.
Cómo iniciar el agente de actualización de dispositivos
En esta sección se describe cómo iniciar y comprobar el agente de actualización de dispositivos como una identidad de módulo que se ejecuta correctamente en el dispositivo de IoT.
Inicie sesión en el equipo o dispositivo que tiene instalado el agente de actualización de dispositivos.
Abra la ventana del terminal e introduzca el comando siguiente.
sudo systemctl restart deviceupdate-agent
Puede comprobar el estado del agente mediante el siguiente comando. Si ve algún problema, consulte esta guía de solución de problemas.
sudo systemctl status deviceupdate-agent
Debería ver el estado como Correcto.
En el portal de IoT Hub, vaya a un dispositivo IoT o a dispositivos IoT Edge para buscar el dispositivo que configuró con el agente Device Update. Allí verá que el agente de actualización de dispositivos se ejecuta como un módulo. Por ejemplo:
Cómo compilar y ejecutar el agente de actualización de dispositivos
También puede crear y modificar su propio agente de actualización de dispositivos de cliente. Siga las instrucciones para compilar Device Update Agent desde el código fuente.
Una vez que el agente se compile correctamente, es el momento de ejecutarlo. Ahora, realice los cambios necesarios para incorporar el agente a la imagen. Consulte las instrucciones sobre cómo modificar Device Update Agent.
Guía de solución de problemas
Si tiene problemas, revise la guía de solución de problemas de Device Update para IoT Hub como ayuda para resolverlos y recopilar la información necesaria que debe proporcionar a Microsoft.
Pasos siguientes
Puede usar los siguientes tutoriales para una demostración sencilla de Device Update for IoT Hub:
Actualización de la imagen: Introducción a la imagen de Yocto de referencia de Raspberry Pi 3 B+ extensible a través de código abierto para compilar sus propias imágenes para otra arquitectura según sea necesario.
Actualización del paquete: introducción al agente de paquetes de Ubuntu Server 18.04 x64
Actualización del proxy: Introducción al agente binario de Device Update para dispositivos de bajada
Introducción al agente de referencia del simulador de Ubuntu (18.04 x64)