Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
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:
Use la versión 1.x más reciente de la implementación de referencia del agente de Device Update para beneficiarse de las mejoras más recientes. Compruebe la versión instalada en la sección de propiedades del dispositivo gemelo de IoT. Para obtener información, consulte las plataformas compatibles con Device Update para 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 dispositivo, puede usar los SDK de dispositivos de IoT Hub para crear módulos, cada uno de los cuales abre una conexión independiente a IoT Hub.
La identidad del módulo y la identidad del 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 de un agente de nivel de dispositivo para agregarlo como identidad de módulo, quite el agente anterior que se comunicaba a través del gemelo del dispositivo.
Tipos de actualización admitidos
Device Update admite los siguientes tipos de actualizaciones inalámbricas para dispositivos IoT:
- Dispositivos IoT Edge y que no son IoT Edge en Linux:
- Agente de Device Update para Eclipse ThreadX
- Dispositivos desconectados detrás de pasarelas
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.listCopie 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.gpgsudo cp ./microsoft.gpg /etc/apt/trusted.gpg.d/
Aprovisionamiento del agente de Device Update
Puede aprovisionar el agente de actualización de dispositivos como una identidad de módulo en dispositivos con IoT Edge habilitado o en dispositivos IoT sin 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 utilizar desde la sección Recursos de la página Lanzamientos. 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-agentInstale 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 updatesudo apt-get install deviceupdate-agentEn 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 con dispositivos desconectados, instale el complemento de APT para Optimización de distribución como se indica a continuación:
sudo apt-get install deliveryoptimization-plugin-apt
En dispositivos sin IoT Edge habilitado
Siga estas instrucciones para aprovisionar el agente de Device Update en dispositivos IoT con Linux sin IoT Edge instalado. Puede aprovisionar el agente mediante Azure IoT Identity Service (AIS) o mediante la configuración de credenciales directamente en el dispositivo.
Uso de Azure IoT Identity Service (AIS)
Instale la última versión de IoT Identity Service siguiendo las instrucciones de Instalación de Azure IoT Identity Service.
Configure el servicio de identidad de IoT siguiendo las instrucciones de Configuración del servicio de identidad de Azure IoT. Asegúrese de que el servicio está configurado con la identidad de dispositivo o módulo adecuada para que pueda proporcionar información de conexión al agente de Device Update.
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 incluye IoT Identity Service, aún puede instalar el agente de Device Update y configurarlo mediante una cadena de conexión o certificados X.509.
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 herey 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.
Uso de certificados X.509
La versión 1.3.0 del agente de Device Update y versiones posteriores admite la autenticación en IoT Hub mediante certificados X.509. Azure IoT Hub admite dos métodos de configuración de certificados X.509:
- Certificados firmados por entidad de certificación (recomendado): Los dispositivos se autentican mediante un certificado emitido por una entidad de certificación (CA) de confianza.
- Certificados autofirmados (basados en huella digital): Cada identidad de dispositivo está configurada con una huella digital de certificado que IoT Hub valida durante la autenticación.
Configuración de la autenticación X.509
Registre la identidad del dispositivo en IoT Hub con la autenticación X.509 habilitada.
- Configure el dispositivo mediante:
- Un certificado emitido por una entidad de certificación (CA) de confianza.
- Un certificado autofirmado con una huella digital registrada.
- Instale el agente de Device Update en el dispositivo.
Device Provisioning Service (DPS) se puede usar para aprovisionar identidades y certificados de dispositivo. Sin embargo, DPS no aprovisiona identidades de módulo. La configuración del agente de Device Update todavía debe completarse en el dispositivo.
Para obtener instrucciones de configuración paso a paso, incluidos escenarios avanzados como claves respaldadas por hardware (por ejemplo, módulos de seguridad de hardware (HSM) o almacenamiento de claves basado en PKCS#11 para el control seguro de claves), consulte la guía de autenticación X.509: Cómo usar la autenticación de certificados de cliente X.509.
Nota:
La compatibilidad de autenticación X.509 del agente Device Update utiliza la configuración estándar de identidad de Azure IoT Hub. Esta funcionalidad no se integra con la administración de certificados del Registro de dispositivos (ADR) de Azure (versión preliminar).
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 ejecutando el 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.
Azure IoT Identity Service (AIS)
-
"connectionType":"AIS" -
"connectionData":""(cadena vacía)
Nota:
Al usar Azure IoT Identity Service (AIS), el servicio debe configurarse para proporcionar la identidad correcta al agente de Device Update. Esto incluye la configuración de identidades en config.toml y la garantía de que el agente está asociado a la identidad de dispositivo o módulo adecuada. Si el agente de Device Update se ejecuta como un módulo, se debe configurar una identidad de módulo correspondiente para que AIS pueda devolver la información de conexión del módulo al agente. Para obtener más información sobre la configuración, consulte Configuring the Azure IoT Identity Service.
Cadena de conexión
-
"connectionType":"string" -
"connectionData":"HostName=<hub>.azure-devices.net;DeviceId=<device>;SharedAccessKey=<key>"(reemplazar por su nombre de host de IoT Hub, el identificador del dispositivo y la clave de acceso compartido)
Certificados X.509
-
"connectionType":"x509" -
"connectionData":"HostName=<hub>.azure-devices.net;DeviceId=<device>;x509=true"(sustitúyalo por el nombre de host de IoT Hub y el identificador del dispositivo) -
"connectionX509CertFilePath":"/etc/adu/certs/client.pem" -
"connectionX509PrivateKeyFilePath":"/etc/adu/certs/client.key" -
"connectionX509CaCertFilePath":"/etc/adu/certs/ca.pem"
Para obtener información completa sobre la configuración, consulte la Guía de configuración del agente de Device Update Azure.
Para obtener más información, consulte: Archivo de configuración de Device Update. 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-agentEjecute el siguiente comando para comprobar el estado del agente.
sudo systemctl status deviceupdate-agentDeberí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.
Cree un directorio de configuración de anulación para systemd y el archivo de anulación ejecutando el siguiente comando:
sudo mkdir -p /etc/systemd/system/deviceupdate-agent.service.d
sudo nano /etc/systemd/system/deviceupdate-agent.service.d/override.conf
Adición de los detalles del proxy a la configuración
[Service]
Environment="HTTP_PROXY=http://your.proxy.server:port"
Environment="HTTPS_PROXY=http://your.proxy.server:port"
Reinicie el agente para aplicar los cambios:
sudo systemctl daemon-reexec
sudo systemctl daemon-reload
sudo systemctl restart deviceupdate-agent
A continuación, puede comprobar que se aplican las variables de entorno mediante
sudo systemctl show deviceupdate-agent | grep -i proxy
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 en Cómo compilar el agente de Device Update para compilar el agente de Device Update a partir del código fuente.
Una vez que el agente se haya compilado correctamente, siga las instrucciones de 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 el agente de paquetes 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 simulador
- Actualización de dispositivos para Azure IoT Hub con Eclipse ThreadX