Creación y aprovisionamiento de dispositivos IoT Edge a escala en Windows mediante claves simétricas
Se aplica a: IoT Edge 1.1
Importante
IoT Edge 1.1: la 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 más información sobre cómo actualizar a la versión más reciente de IoT Edge, consulte Actualización de IoT Edge.
En este artículo se proporcionan instrucciones completas para el aprovisionamiento automático de uno o varios dispositivos Windows IoT Edge con claves simétricas. Puede aprovisionar automáticamente los dispositivos Azure IoT Edge con Azure IoT Hub Device Provisioning Service (DPS). Si no está familiarizado con el proceso de aprovisionamiento automático, revise la información general sobre el aprovisionamiento antes de continuar.
Nota:
Azure IoT Edge con contenedores 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 desea usar Azure IoT Edge para Linux en Windows, puede seguir los pasos de la guía de procedimientos equivalente.
Las tareas son las siguientes:
- Crear una inscripción individual para un dispositivo o una inscripción de grupo para un conjunto de dispositivos.
- Instale el entorno de ejecución de IoT Edge y conéctese a IoT Hub.
La atestación de clave simétrica es un enfoque sencillo para autenticar un dispositivo con una instancia de Device Provisioning Service. Este método de atestación representa una experiencia de "Hola mundo" para los desarrolladores que no estén familiarizados con el aprovisionamiento de dispositivos, o no tengan estrictos requisitos de seguridad. La atestación de dispositivo mediante un TPM o certificado X.509 es más segura y se debe usar cuando los requisitos de seguridad son más estrictos.
Requisitos previos
Recursos en la nube
- Un centro de IoT activo.
- Una instancia de IoT Hub Device Provisioning Service en Azure que esté vinculada a IoT Hub.
- Si no tiene una instancia de Device Provisioning Service, puede seguir las instrucciones de las secciones Creación de una instancia de IoT Hub Device Provisioning Service y Vínculo al centro de IoT y a Device Provisioning Service del inicio rápido de IoT Hub Device Provisioning Service.
- Cuando tenga la instancia del servicio de aprovisionamiento de dispositivo en ejecución, copie el valor de Ámbito de id. de la página de información general. Use este valor cuando configure el entorno de ejecución de IoT Edge.
Requisitos del dispositivo
Un dispositivo Windows físico o virtual para que sea el dispositivo IoT Edge.
Se debe definir un identificador de registro único para identificar cada dispositivo. Puede usar la dirección MAC, el número de serie o cualquier otra información única del dispositivo. Por ejemplo, podría usar una combinación de una dirección MAC y un número de serie que formen la siguiente cadena de un identificador de registro: sn-007-888-abc-mac-a1-b2-c3-d4-e5-f6
. Solo se pueden usar caracteres alfanuméricos en minúsculas y guiones (-
).
Crear una inscripción de DPS
Cree una inscripción para aprovisionar uno o varios dispositivos mediante DPS.
Si desea aprovisionar un único dispositivo IoT Edge, cree una inscripción individual. Si necesita aprovisionar varios dispositivos, siga los pasos para crear una inscripción de grupo de DPS.
Al crear una inscripción en DPS, tiene la oportunidad de declarar un estado inicial de dispositivo gemelo. En el dispositivo gemelo, puede establecer etiquetas para agrupar dispositivos por cualquier métrica que necesite en su solución, como la región, el entorno, la ubicación o el tipo de dispositivo. Estas etiquetas se usan para crear implementaciones automáticas.
Para más información sobre las inscripciones en Device Provisioning Service, vea Administración de inscripciones de dispositivos.
Creación de una inscripción individual de DPS
Sugerencia
Los pasos de este artículo son para Azure Portal, pero también puede crear inscripciones individuales mediante la CLI de Azure. Para más información, consulte az iot dps enrollment. Como parte del comando de la CLI, use la marca edge-enabled para especificar que la inscripción es para un dispositivo de IoT Edge.
En Azure Portal, vaya a la instancia de IoT Hub Device Provisioning Service.
En Configuración, seleccione Administrar inscripciones.
Seleccione Add individual enrollment (Agregar inscripción individual) y, a continuación, complete los pasos siguientes para configurar la inscripción:
En Mecanismo, seleccione Clave simétrica.
Proporcione un Id. de registro único para el dispositivo.
De manera opcional, proporcione un Id. de dispositivo IoT Hub para el dispositivo. Puede usar identificadores de dispositivo para dirigirse a un dispositivo individual para la implementación del módulo. Si no proporciona un id. de dispositivo, se usará el id. de registro.
Seleccione Verdadero para declarar que la inscripción es para un dispositivo IoT Edge.
De manera opcional, agregue un valor de etiqueta a Estado inicial de dispositivo gemelo. Puede usar etiquetas para los grupos de dispositivos de destino para la implementación del módulo. Por ejemplo:
{ "tags": { "environment": "test" }, "properties": { "desired": {} } }
Seleccione Guardar.
Copie el valor de Clave principal de la inscripción individual para usarlo al instalar el entorno de ejecución de Azure IoT Edge.
Ahora que existe una inscripción para este dispositivo, el entorno de ejecución de Azure IoT Edge puede aprovisionar automáticamente el dispositivo durante la instalación.
Instalación de IoT Edge
En esta sección, preparará la VM o el dispositivo físico Windows para IoT Edge. A continuación, instalará IoT Edge.
Azure IoT Edge utiliza un runtime 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 ningún paso adicional para instalar el motor.
Para instalar el entorno de ejecución de IoT Edge:
Ejecute PowerShell como administrador.
Use una sesión de AMD64 de PowerShell, no PowerShell (x86). Si no está seguro del tipo de sesión que usa, ejecute el comando siguiente:
(Get-Process -Id $PID).StartInfo.EnvironmentVariables["PROCESSOR_ARCHITECTURE"]
Ejecute el comando Deploy-IoTEdge, que realiza las tareas siguientes:
- Comprueba que la máquina Windows se encuentra en una versión compatible.
- Activa la característica de los contenedores.
- Descarga el motor de Moby y el entorno de ejecución de IoT Edge.
. {Invoke-WebRequest -useb https://aka.ms/iotedge-win} | Invoke-Expression; ` Deploy-IoTEdge
Si se le solicita, reinicie el dispositivo.
Al instalar IoT Edge en un dispositivo, puede usar parámetros adicionales para modificar el proceso, entre los que se incluyen los siguientes:
- Dirigir el tráfico para que pase por un servidor proxy
- Haga que el instalador apunte a un directorio local, en el caso de una instalación sin conexión.
Para más información sobre estos parámetros adicionales, consulte Scripts de PowerShell para IoT Edge con contenedores Windows.
Aprovisionamiento del dispositivo con su identidad de nube
Una vez que el entorno de ejecución esté instalado en el dispositivo, configure el dispositivo con la información que usa para conectarse a Device Provisioning Service y a IoT Hub.
Tenga lista la siguiente información:
- El valor Ámbito de id. del DPS
- El Id. de registro del dispositivo que ha creado
- La Clave principal de una inscripción individual o una clave derivada para dispositivos que usan una inscripción de grupo.
Abra una ventana de Azure PowerShell en modo de administrador. Asegúrese de usar una sesión de AMD64 de PowerShell para instalar IoT Edge, no PowerShell (x86).
El comando Initialize-IoTEdge configura el entorno de ejecución de Azure IoT Edge en el equipo. De forma predeterminada, el comando realiza el aprovisionamiento manual con contenedores de Windows, a menos que se use la marca
-DpsSymmetricKey
para emplear el aprovisionamiento automático con la autenticación de clave simétrica.Reemplace los valores de marcador de posición para
paste_scope_id_here
,paste_registration_id_here
ypaste_symmetric_key_here
con los datos que ha recopilado antes.. {Invoke-WebRequest -useb https://aka.ms/iotedge-win} | Invoke-Expression; ` Initialize-IoTEdge -DpsSymmetricKey -ScopeId paste_scope_id_here -RegistrationId paste_registration_id_here -SymmetricKey paste_symmetric key_here
Comprobación de instalación correcta
Si el entorno de ejecución se inició correctamente, puede ir a IoT Hub y empezar a implementar módulos de IoT Edge en el dispositivo.
Puede comprobar que la inscripción individual que ha creado en Device Provisioning Service se ha usado. En Azure Portal, vaya a la instancia de Device Provisioning Service. Abra los detalles de la inscripción para la inscripción individual que ha creado. Tenga en cuenta que el estado de la inscripción está asignado y se muestra el id. de dispositivo.
Use los siguientes comandos en el dispositivo para comprobar que la instancia de IoT Edge se haya instalado e iniciado correctamente.
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
Pasos siguientes
El proceso de inscripción en Device Provisioning Service permite establecer el id. de dispositivo y las etiquetas del dispositivo gemelo al mismo tiempo que se aprovisiona el nuevo dispositivo. Puede usar esos valores para dirigirse a dispositivos individuales o grupos de dispositivos con la administración automática de dispositivos. Aprenda a implementar y supervisar los módulos de IoT Edge a escala mediante Azure Portal o la CLI de Azure.