Aprovisionamiento del agente de Azure Device Update for IoT Hub
El agente del módulo Device Update se puede ejecutar junto con otros procesos del sistema y con módulos IoT Edge que se conectan a la instancia de IoT Hub como parte de la misma unidad lógica. En este artículo se describe cómo aprovisionar el agente de Device Update como una identidad de módulo.
Nota:
Si usa el agente de Device Update, asegúrese de que tiene la versión 1.0.0 de disponibilidad general (GA). 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 gemelo de IoT. Para más información, consulte Migración de dispositivos y grupos a la versión más reciente de Device Update for IoT Hub.
Identidad de módulo e identidad de dispositivo
Puede crear hasta 50 identidades de módulo bajo cada identidad de dispositivo de Azure IoT Hub. Cada identidad de módulo genera implícitamente una identidad de módulo gemelo. En el lado del dispositivo, puede usar los SDK de dispositivo de IoT Hub para crear módulos que cada uno abra una conexión independiente a IoT Hub.
La identidad de módulo y la identidad de módulo gemelo proporcionan funcionalidades similares que la identidad del dispositivo y el dispositivo gemelo, pero con una mayor granularidad. Para más información, consulte Uso de módulos gemelos en IoT Hub.
Al aprovisionar el agente de Device Update como una identidad de módulo, todas las comunicaciones entre el dispositivo y el servicio Device Update deben producirse a través del módulo gemelo. Recuerde etiquetar el módulo gemelo del dispositivo al crear grupos de dispositivos. Si migra desde un agente de nivel de dispositivo para agregar el agente como una identidad de módulo, quite el agente anterior que se comunicaba a través del dispositivo gemelo.
Tipos de actualización admitidos
Device Update admite los siguientes tipos de dispositivos IoT por vía inalámbrica:
- Dispositivos IoT Edge y que no son IoT Edge en Linux:
- Agente de Device Update para Eclipse ThreadX
- Dispositivos desconectados detrás de puertas de enlace
Preparación para las actualizaciones de paquetes
Para configurar un dispositivo IoT o IoT Edge para instalar las actualizaciones basadas en paquetes, agregue packages.microsoft.com
a los repositorios de la máquina siguiendo estos pasos:
Abra una ventana de Terminal en la máquina o dispositivo IoT donde quiera instalar el agente de Device Update.
Instale la configuración del repositorio que coincida con el sistema operativo del dispositivo, por ejemplo:
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/
Aprovisionamiento del agente de Device Update
Puede aprovisionar el agente de Device Update como identidad de módulo en los dispositivos habilitados para IoT Edge o dispositivos IoT que no son IoT Edge. Para comprobar si tiene IoT Edge habilitado en el dispositivo, consulte Visualización de dispositivos registrados y recuperación de información de aprovisionamiento.
Puede descargar imágenes de ejemplo para usarlas en la sección Activos de la página Versiones. En Tutorial_RaspberryPi3.zip, el archivo swUpdate es la imagen base que puede instalar en una placa Raspberry Pi B3+. El archivo .gz es la actualización que se puede importar mediante Device Update. Para más información, consulte Azure Device Update for IoT Hub con una imagen de Raspberry Pi.
En dispositivos habilitados para IoT Edge
Siga estas instrucciones para aprovisionar el agente de Device Update en los dispositivos habilitados para IoT Edge.
Siga las instrucciones para aprovisionar manualmente un único dispositivo IoT Edge en Linux.
Reinicie el agente de actualización de imágenes de Device Update con el comando siguiente:
sudo apt-get install deviceupdate-agent
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
En el caso de las versiones del agente candidatas a lanzamiento (RC), descargue el archivo .deb de Versiones a la máquina en la que desea instalar el agente de Device Update y, a continuación, ejecute el siguiente comando:
sudo apt-get install -y ./"<PATH TO FILE>"/"<.DEB FILE NAME>"
Si va a configurar una Caché conectada de Microsoft (MCC) para un escenario de dispositivo desconectado, instale el complemento APT de Optimización de distribución de la forma siguiente:
sudo apt-get install deliveryoptimization-plugin-apt
En dispositivos habilitados para IoT Edge
Siga estas instrucciones para aprovisionar el agente de Device Update en los IoT para Linux sin IoT Edge instalado.
Instale la última versión de IoT Identity Service 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.
Reinicie el agente de Device Update con el comando siguiente:
sudo apt-get install deviceupdate-agent
Nota:
Si el dispositivo IoT no puede ejecutar IoT Identity Service o IoT Edge, que agrupa IoT Identity Service, todavía puede instalar el agente de Device Update y configurarlo mediante una cadena de conexión.
Configuración del agente de Device Update
Después de instalar el agente de Device Update, edite el archivo de configuración de Device Update mediante la ejecución del comando siguiente.
sudo nano /etc/adu/du-config.json
En el archivo du-config.json, establezca todos los valores que tienen un marcador de posición Place value here
. Para los agentes que usan IoT Identity Service para el aprovisionamiento, cambie a connectionType
AIS
y establezca el campo ConnectionData
en una cadena vacía. Para ver un ejemplo, consulte Contenido del archivo "du-config.json" de ejemplo.
Uso de una cadena de conexión
Para probar en dispositivos restringidos, puede configurar el agente de Device Update sin usar la instancia de IoT Identity Service. Puede usar una cadena de conexión para aprovisionar el agente de Device Update desde el módulo o dispositivo.
En Azure Portal, copie la cadena de conexión principal. Si el agente de Device Update está configurado como identidad de módulo, copie la cadena de conexión principal del módulo. De lo contrario, copie la cadena de conexión principal del dispositivo.
En una ventana de Terminal de la máquina o dispositivo IoT en el que instaló el agente de Device Update, edite el archivo de configuración de Device Update mediante la ejecución del comando siguiente:
- Para un agente de Ubuntu:
sudo nano /etc/adu/du-config.json
. - Para obtener una imagen de referencia de Yocto:
sudo nano /adu/du-config.json
.
- Para un agente de Ubuntu:
En el archivo du-config.json, establezca todos los valores que tienen un marcador de posición
Place value here
y escriba la cadena de conexión principal copiada como valor del campoconnectionData
. Para ver un ejemplo, consulte Contenido del archivo "du-config.json" de ejemplo.
Inicio del agente de Device Update
Inicie el agente de Device Update y compruebe que se está ejecutando correctamente en el dispositivo.
En una ventana de Terminal de la máquina o dispositivo IoT donde instaló el agente de Device Update, reinicie el agente mediante la ejecución del comando siguiente:
sudo systemctl restart deviceupdate-agent
Ejecute el siguiente comando para comprobar el estado del agente.
sudo systemctl status deviceupdate-agent
Debería ver el estado
OK
.En la página del portal de IoT Hub, vaya a Dispositivos o IoT Edge para buscar el dispositivo que configuró y ver el agente de Device Update que se ejecuta como módulo. Por ejemplo:
Habilitación del agente de Device Update detrás de un servidor proxy
Los dispositivos que ejecutan el agente de Device Update envían solicitudes HTTPS para comunicarse con IoT Hub. Si ha conectado el dispositivo a una red que usa un servidor proxy, debe configurar el servicio systemd Device Update para comunicarse a través del servidor.
Antes de configurar Device Update, asegúrese de que tiene la dirección URL del proxy. La dirección URL del proxy tiene el formato protocol://proxy_host:proxy_port.
Vaya a la configuración de Device Update mediante la ejecución del comando siguiente:
sudo systemctl edit deviceupdate-agent.service
Adición de los detalles del proxy a la configuración
[Service]
Environment="https_proxy=<Proxy URL>"
Reinicie el agente para aplicar los cambios:
sudo systemctl daemon-reload
sudo systemctl restart deviceupdate-agent
sudo systemctl status deviceupdate-agent
Creación y ejecución de un agente de Device Update
También puede crear y modificar su propio agente de Device Update personalizado. Siga las instrucciones de Creación del agente de Device Update para crearlo a partir del origen.
Una vez creado correctamente el agente, siga Ejecución del agente de referencia de Device Update for IoT Hub para ejecutar el agente. Para realizar los cambios necesarios para incorporar el agente a la imagen, siga Cómo modificar el código del agente de Device Update.
Solución de problemas
Si tiene problemas, consulte la guía de solución de problemas de Device Update for IoT Hub como ayuda para resolverlos y recopilar la información necesaria que debe proporcionar a Microsoft.
Contenido relacionado
- Guía para la solución de problemas de Device Update for IoT Hub
- Azure Device Update for IoT Hub con una imagen de Raspberry Pi
- Azure Device Update for IoT Hub con un agente de paquete de Ubuntu
- Tutorial: Completar una actualización de proxy mediante Device Update for Azure IoT Hub
- Azure Device Update for IoT Hub con un agente de simulador
- Device Update for Azure IoT Hub mediante Eclipse ThreadX