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.
Se aplica a: IoT Edge 1.1
Importante
IoT Edge 1.1 fecha de finalización del soporte técnico fue el 13 de diciembre de 2022. Consulte la página del ciclo de vida de productos de Microsoft para obtener información sobre cómo se admite este producto, servicio, tecnología o API. Para obtener más información sobre cómo actualizar a la versión más reciente de IoT Edge, consulte Update IoT Edge.
En este artículo se proporcionan instrucciones de un extremo a otro para registrar y aprovisionar un dispositivo Windows IoT Edge.
Nota:
Azure IoT Edge con contenedores de Windows no se admitirá a partir de la versión 1.2 de Azure IoT Edge.
Considere la posibilidad de usar el nuevo método para ejecutar IoT Edge en dispositivos Windows, Azure IoT Edge para Linux en Windows.
Si quiere usar Azure IoT Edge para Linux en Windows, puede seguir los pasos descritos en la guía de procedimientos equivalente de .
Todos los dispositivos que se conectan a IoT Hub tienen un identificador de dispositivo que se usa para realizar un seguimiento de las comunicaciones de la nube al dispositivo o del dispositivo a la nube. Configure un dispositivo con su información de conexión, que incluye el nombre de host del centro de IoT, el identificador de dispositivo y la información que el dispositivo usa para autenticarse en IoT Hub.
Los pasos de este artículo le guían a través de un proceso denominado aprovisionamiento manual, donde conecta un único dispositivo a su centro de IoT. En el caso del aprovisionamiento manual, tiene dos opciones para autenticar dispositivos IoT Edge:
Claves simétricas: cuando se crea una identidad de dispositivo en IoT Hub, el servicio crea dos claves. Debe colocar una de las claves en el dispositivo para que este la presente a IoT Hub al autenticarse.
Este método de autenticación es más rápido para comenzar, pero no es tan seguro.
X.509 auto firmado: se crean dos certificados de identidad X.509 y se colocan en el dispositivo. Cuando se crea una nueva identidad de dispositivo en IoT Hub, se proporcionan huellas digitales de ambos certificados. Cuando el dispositivo se autentica en IoT Hub, presenta un certificado, y IoT Hub comprueba que el certificado coincide con su huella digital.
Este método de autenticación es más seguro y se recomienda para los escenarios de producción.
En este artículo se describe el uso de certificados X.509 como método de autenticación. Si desea usar claves simétricas, consulte Creación y aprovisionamiento de un dispositivo IoT Edge en Windows mediante claves simétricas.
Nota:
Si tiene muchos dispositivos para configurar y no quiere aprovisionar manualmente cada uno, siga uno de los artículos a continuación para obtener información sobre cómo funciona IoT Edge con IoT Hub Device Provisioning Service:
Prerrequisitos
En este artículo se explica cómo registrar un dispositivo IoT Edge e instalar IoT Edge en él. Estas tareas tienen requisitos previos y utilidades diferentes que se usan para realizarlas. Asegúrese de que cumple todos los requisitos previos antes de continuar.
Herramientas de administración de dispositivos
Puede usar Azure Portal, Visual Studio Code o la CLI de Azure para seguir los pasos para registrar el dispositivo. Cada utilidad tiene sus propios requisitos previos:
Un centro de IoT gratuito o estándar en la suscripción de Azure.
Requisitos del dispositivo
Un dispositivo Windows.
IoT Edge con contenedores de Windows requiere la versión 1809/compilación 17763 de Windows, que es la última versión de soporte a largo plazo de Windows. Asegúrese de revisar la lista de sistemas compatibles para obtener una lista de SKUs admitidas.
Generación de los certificados de identidad del dispositivo
El aprovisionamiento manual con certificados X.509 requiere IoT Edge, versión 1.0.10 o posterior.
Al aprovisionar un dispositivo IoT Edge con certificados X.509, se usa lo que se denomina certificado de identidad de dispositivo . Este certificado solo se usa para aprovisionar un dispositivo IoT Edge y autenticarlo en Azure IoT Hub. Es un certificado final que no firma otros certificados. El certificado de identidad del dispositivo es independiente de los certificados de la entidad de certificación (CA) que el dispositivo IoT Edge presenta a los módulos o dispositivos de nivel inferior para la verificación.
En el caso de la autenticación mediante certificados X.509, la información de autenticación de cada dispositivo se proporciona en forma de huellas digitales tomadas de los certificados de identidad del dispositivo. Estas huellas digitales se proporcionan a IoT Hub en el momento de registrar el dispositivo para que el servicio pueda reconocer el dispositivo al conectarse.
Para obtener más información sobre cómo se usan los certificados de CA en los dispositivos IoT Edge, consulte Información sobre los certificados de Azure IoT Edge.
Necesita los siguientes archivos para el aprovisionamiento manual con X.509:
Dos certificados de identidad de dispositivo junto con sus certificados de clave privada correspondientes en formatos .cer o .pem.
Se proporciona un conjunto de archivos de certificado o clave al entorno de ejecución de IoT Edge. Al crear los certificados de identidad del dispositivo, establezca el nombre común (CN) con el ID de dispositivo que desea asignar al dispositivo en el centro de IoT.
Huellas digitales tomadas de ambos certificados de identidad del dispositivo.
Los valores de huella digital son 40 caracteres hexadecimales para hashes de tipo SHA-1 o 64 caracteres hexadecimales para hashes de tipo SHA-256. Ambas huellas digitales se proporcionan a IoT Hub en el momento del registro del dispositivo.
Si no tiene certificados disponibles, puede proceder a la Creación de certificados de demostración para probar las características de dispositivo IoT Edge. Siga las instrucciones de ese artículo para configurar scripts de creación de certificados, crear un certificado de entidad de certificación raíz y, a continuación, crear dos certificados de identidad de dispositivo IoT Edge.
Una manera de recuperar la huella digital de un certificado es con el siguiente comando openssl:
openssl x509 -in <certificate filename>.pem -text -fingerprint
Registro del dispositivo
Puede usar Azure Portal, Visual Studio Code o la CLI de Azure para registrar el dispositivo, según su preferencia.
En su centro de IoT en Azure Portal, los dispositivos IoT Edge se crean y administran por separado de los dispositivos IOT que no están habilitados para Edge.
Inicie sesión en Azure Portal y vaya a IoT Hub.
En el panel izquierdo, seleccione Dispositivos en el menú y, luego, elija Agregar dispositivo.
En la página Crear un dispositivo, proporcione la información siguiente:
- Cree una identificación descriptiva para el dispositivo. Anote este identificador de dispositivo, ya que lo usará más adelante.
- Marque la casilla Dispositivo IoT Edge.
- Seleccione X.509 autofirmado como el tipo de autenticación.
- Proporcione las huellas digitales de certificado de identidad principal y secundaria. Los valores de huella digital son 40 caracteres hexadecimales para hashes de tipo SHA-1 o 64 caracteres hexadecimales para hashes de tipo SHA-256.
Selecciona Guardar.
Ahora que tiene un dispositivo registrado en IoT Hub, recupere la información que usa para completar la instalación y el aprovisionamiento del entorno de ejecución de Azure IoT Edge.
Visualización de dispositivos registrados y recuperación de la información de aprovisionamiento
Los dispositivos que usan la autenticación con certificados X.509 necesitan el nombre de su centro de IoT, su nombre de dispositivo y sus archivos de certificado para completar la instalación y el aprovisionamiento del entorno de ejecución de Azure IoT Edge.
Todos los dispositivos habilitados para Edge que se conectan al centro de IoT se enumeran en la página Dispositivos. Puede filtrar la lista por tipo dispositivo IoT Edge.
Instalación de IoT Edge
En esta sección, preparará la máquina virtual Windows o el dispositivo físico para IoT Edge. A continuación, instala IoT Edge.
Azure IoT Edge se basa en un entorno de ejecución de contenedor compatible con OCI. Moby, un motor basado en Moby, se incluye en el script de instalación, lo que significa que no hay pasos adicionales para instalar el motor.
Para instalar el entorno de ejecución de IoT Edge:
Ejecute PowerShell como administrador.
Use una sesión AMD64 de PowerShell, no PowerShell(x86). Si no está seguro del tipo de sesión que está usando, ejecute el siguiente comando:
(Get-Process -Id $PID).StartInfo.EnvironmentVariables["PROCESSOR_ARCHITECTURE"]
Ejecute el comando Deploy-IoTEdge, que realiza las siguientes tareas:
- Comprueba que la máquina Windows está en una versión compatible
- Activa la función de contenedores
- Descarga el motor moby y el entorno de ejecución de IoT Edge
. {Invoke-WebRequest -useb https://aka.ms/iotedge-win} | Invoke-Expression; ` Deploy-IoTEdge
Reinicie el dispositivo si se le solicita.
Al instalar IoT Edge en un dispositivo, puede usar parámetros adicionales para modificar el proceso, entre los que se incluyen:
- Dirigir el tráfico para pasar por un servidor proxy
- Apuntar el instalador a un directorio local para la instalación sin conexión
Para obtener más información sobre estos parámetros adicionales, consulte scripts de PowerShell para IoT Edge con contenedores de Windows.
Aprovisionamiento del dispositivo con su identidad de nube
Ahora que el motor de contenedor y el entorno de ejecución de IoT Edge están instalados en el dispositivo, está listo para el siguiente paso, que consiste en configurar el dispositivo con su información de autenticación e identidad en la nube.
En el dispositivo IoT Edge, ejecute PowerShell como administrador.
Use el comando initialize-IoTEdge para configurar el entorno de ejecución de IoT Edge en la máquina.
. {Invoke-WebRequest -useb https://aka.ms/iotedge-win} | Invoke-Expression; ` Initialize-IoTEdge -ManualX509
Si descargó el script de IoTEdgeSecurityDaemon.ps1 en el dispositivo para una instalación de versión sin conexión o específica, asegúrese de hacer referencia a la copia local del script.
. <path>/IoTEdgeSecurityDaemon.ps1 Initialize-IoTEdge -ManualX509
Cuando se le solicite, proporcione la siguiente información:
-
IotHubHostName: nombre de host del centro de IoT al que se conectará el dispositivo. Por ejemplo:
{IoT_hub_name}.azure-devices.net
. - DeviceId: el identificador que proporcionó al registrar el dispositivo.
-
X509IdentityCertificate: ruta de acceso absoluta a un certificado de identidad en el dispositivo. Por ejemplo:
C:\path\identity_certificate.pem
. -
X509IdentityPrivateKey: ruta de acceso absoluta al archivo de clave privada para el certificado de identidad proporcionado. Por ejemplo:
C:\path\identity_key.pem
.
-
IotHubHostName: nombre de host del centro de IoT al que se conectará el dispositivo. Por ejemplo:
Al aprovisionar un dispositivo manualmente, puede usar parámetros adicionales para modificar el proceso, entre los que se incluyen:
- Dirigir el tráfico para pasar por un servidor proxy
- Declare una imagen de contenedor edgeAgent específica y proporcione credenciales si está en un registro privado.
Para obtener más información sobre estos parámetros adicionales, consulte scripts de PowerShell para IoT Edge con contenedores de Windows.
Comprobación de configuración correcta
Compruebe que el runtime se ha instalado y configurado correctamente en el dispositivo de IoT Edge.
Compruebe el estado del servicio IoT Edge.
Get-Service iotedge
Examine los registros del servicio.
. {Invoke-WebRequest -useb aka.ms/iotedge-win} | Invoke-Expression; Get-IoTEdgeLog
Enumere los módulos en ejecución.
iotedge list
Instalación sin conexión o de una versión específica (opcional)
Los pasos de esta sección corresponden a escenarios que no se tratan en los pasos de instalación estándar. Esto puede incluir:
- Instalación de IoT Edge sin conexión
- Instalación de una versión candidata para lanzamiento
- Instalación de una versión distinta de la más reciente
Durante la instalación se descargan tres archivos:
- Un script de PowerShell, que contiene las instrucciones de instalación
- Paquete de Microsoft Azure IoT Edge, que contiene el demonio de seguridad de IoT Edge (iotedged), el motor de contenedores Moby y la CLI de Moby
- Instalador del paquete redistribuible de Visual C++ (entorno de ejecución de VC)
Si el dispositivo estará sin conexión durante la instalación o si desea instalar una versión específica de IoT Edge, puede descargar estos archivos con antelación en el dispositivo. Cuando sea el momento de la instalación, apunte el script de instalación en el directorio que contiene los archivos descargados. El instalador comprueba primero ese directorio y, a continuación, solo descarga los componentes que no se encuentran. Si todos los archivos están disponibles sin conexión, se puede instalar sin una conexión a Internet.
Para obtener los archivos de instalación más recientes de IoT Edge, así como las versiones anteriores, consulte versiones de Azure IoT Edge.
Busque la versión que desea instalar y descargue los siguientes archivos de la sección Recursos de las notas de la versión en su dispositivo IoT:
- IoTEdgeSecurityDaemon.ps1
- Microsoft-Azure-IoTEdge-amd64.cab desde el canal de lanzamiento 1.1.
Es importante usar el script de PowerShell de la misma versión que el archivo de .cab que usa porque la funcionalidad cambia para admitir las características de cada versión.
Si el archivo .cab que descargó tiene un sufijo de arquitectura en él, cambie el nombre del archivo a solo Microsoft-Azure-IoTEdge.cab.
Opcionalmente, descargue un instalador para Visual C++ redistributable. Por ejemplo, el script de PowerShell usa esta versión: vc_redist.x64.exe. Guarde el instalador en la misma carpeta del dispositivo IoT que los archivos de IoT Edge.
Para instalar con componentes sin conexión, utiliza el comando 'dot source' en la copia local del script de PowerShell.
Ejecute el comando Deploy-IoTEdge con el parámetro
-OfflineInstallationPath
. Proporcione la ruta de acceso absoluta al directorio de archivos. Por ejemplo. path_to_powershell_module_here\IoTEdgeSecurityDaemon.ps1 Deploy-IoTEdge -OfflineInstallationPath path_to_file_directory_here
El comando de implementación usará los componentes que se encuentran en el directorio de archivos local proporcionado. Si falta el archivo .cab o el instalador de Visual C++, intentará descargarlos.
Desinstalación de IoT Edge
Si quiere quitar la instalación de IoT Edge del dispositivo Windows, use el comando Uninstall-IoTEdge de una ventana de PowerShell administrativa. Este comando quita el entorno de ejecución de IoT Edge, junto con la configuración existente y los datos del motor de Moby.
. {Invoke-WebRequest -useb aka.ms/iotedge-win} | Invoke-Expression; `
Uninstall-IoTEdge
Para obtener más información sobre las opciones de desinstalación, use el comando Get-Help Uninstall-IoTEdge -full
.
Pasos siguientes
Continúa con la implementación de módulos de IoT Edge para aprender a desplegar módulos en tu dispositivo.