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.5
Importante
IoT Edge 1.5 LTS es la versión compatible. IoT Edge 1.4 LTS finaliza su ciclo de vida el 12 de noviembre de 2024. Si está usando una versión anterior, consulte Actualización de IoT Edge.
En este artículo se proporcionan instrucciones paso a paso para configurar uno o varios dispositivos IoT Edge linux mediante claves simétricas. Configure automáticamente dispositivos de Azure IoT Edge con el servicio de aprovisionamiento de dispositivos (DPS) de Azure IoT Hub. Si no está familiarizado con el proceso de aprovisionamiento automático, revise la visión general del aprovisionamiento antes de continuar.
Estas son las tareas principales:
- Cree una inscripción individual para un único 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.
Sugerencia
Para una experiencia simplificada, pruebe la herramienta de configuración de Azure IoT Edge. Esta herramienta de línea de comandos, actualmente en versión preliminar pública, instala IoT Edge en el dispositivo y lo aprovisiona mediante DPS y la atestación de clave simétrica.
La atestación de claves simétricas es una manera sencilla de autenticar un dispositivo con una instancia de servicio de aprovisionamiento de dispositivos. Este método es una experiencia "Hola mundo" para desarrolladores que no están familiarizados con el aprovisionamiento de dispositivos o que no tienen requisitos de seguridad estrictos. La atestación de dispositivos con certificados TPM o X.509 es más segura y debe usarla para necesidades de seguridad más estrictas.
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
Use un dispositivo Linux físico o virtual como dispositivo IoT Edge.
Defina un identificador deregistro único para identificar cada dispositivo. Use la dirección MAC, el número de serie o cualquier información única del dispositivo. Por ejemplo, combine una dirección MAC y un número de serie para formar un identificador de registro como 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á su máquina virtual Linux o dispositivo físico para IoT Edge. A continuación, instalará IoT Edge.
Ejecute los comandos siguientes para agregar el repositorio de paquetes y luego agregue la clave de firma de paquetes de Microsoft a la lista de claves de confianza.
Importante
El 30 de junio de 2022, Raspberry Pi OS Stretch se retiró de la lista de soporte técnico del sistema operativo de nivel 1. Para evitar posibles vulnerabilidades de seguridad, actualice el sistema operativo host a Bullseye.
Para los sistemas operativos de plataforma compatibles con nivel 2, los paquetes de instalación están disponibles en versiones de Azure IoT Edge. Consulte los pasos de instalación en Instalación sin conexión o instalación de versión específica (opcional).
La instalación se puede realizar con unos pocos comandos. Abra un terminal y ejecute los comandos siguientes:
24.04:
wget https://packages.microsoft.com/config/ubuntu/24.04/packages-microsoft-prod.deb -O packages-microsoft-prod.deb sudo dpkg -i packages-microsoft-prod.deb rm packages-microsoft-prod.deb
22.04:
wget https://packages.microsoft.com/config/ubuntu/22.04/packages-microsoft-prod.deb -O packages-microsoft-prod.deb sudo dpkg -i packages-microsoft-prod.deb rm packages-microsoft-prod.deb
20.04:
wget https://packages.microsoft.com/config/ubuntu/20.04/packages-microsoft-prod.deb -O packages-microsoft-prod.deb sudo dpkg -i packages-microsoft-prod.deb rm packages-microsoft-prod.deb
Para obtener más información sobre las versiones del sistema operativo, consulte Plataformas compatibles con Azure IoT Edge.
Nota:
Los paquetes de software de Azure IoT Edge están sujetos a los términos de licencia que se encuentran cada paquete (usr/share/doc/{package-name}
o el directorio LICENSE
). Lea los términos de licencia antes de usar un paquete. La instalación y el uso de un paquete constituyen la aceptación de estos términos. Si no acepta los términos de licencia, no utilice ese paquete.
Instalación de un motor del contenedor
Azure IoT Edge utiliza un runtime de contenedor compatible con OCI. En los escenarios de producción, se recomienda utilizar el motor de Moby. El motor de Moby es el motor de contenedor admitido oficialmente con IoT Edge. Las imágenes de contenedor de Docker CE/EE son totalmente compatibles con el entorno de ejecución de Moby. Si usa acoples de Ubuntu Core, el acople de Docker se atenderá mediante Canonical y se admitirá en escenarios de producción.
Instale el motor de Moby.
sudo apt-get update; \
sudo apt-get install moby-engine
De manera predeterminada, el motor del contenedor no establece límites de tamaño de registro de contenedor. Con el tiempo, esta situación puede provocar que el dispositivo se rellene con registros y se agote el espacio en disco. Sin embargo, puede configurar el registro para que se muestre localmente, aunque es opcional. Para más información sobre la configuración de registro, consulte Preparación para implementar la solución de IoT Edge en producción.
En los pasos siguientes se muestra cómo configurar el contenedor para que use el local
controlador de registro como mecanismo de registro.
Crear o editar el archivo de configuración de daemons de Docker existente
sudo nano /etc/docker/daemon.json
Establezca el controlador de registro predeterminado en el controlador de registro
local
, tal como se muestra en el ejemplo.{ "log-driver": "local" }
Reinicie el motor de contenedores para que se apliquen los cambios.
sudo systemctl restart docker
Instalación del entorno de ejecución de IoT Edge
El servicio IoT Edge proporciona y mantiene los estándares de seguridad en el dispositivo IoT Edge. El servicio se inicia en cada arranque e inicia el resto del entorno de ejecución de IoT Edge para arrancar el dispositivo.
Nota:
A partir de la versión 1.2, el servicio de identidad de Azure IoT controla el aprovisionamiento y la administración de identidades para IoT Edge y para otros componentes de dispositivo que necesitan comunicarse con IoT Hub.
Los pasos de esta sección representan el proceso habitual para instalar la versión más reciente de IoT Edge en un dispositivo que tenga conexión a Internet. Si necesita instalar una versión específica, como una versión preliminar, o debe instalarse mientras está sin conexión, siga los pasos de instalación de la versión sin conexión o específica más adelante en este artículo.
Sugerencia
Si ya tiene un dispositivo IoT Edge que ejecuta una versión anterior y quiere actualizar a la versión más reciente, siga los pasos descritos en Actualización de IoT Edge. Las versiones más recientes son suficientemente diferentes de las versiones anteriores de IoT Edge para que sean necesarios pasos específicos para la actualización.
Instale la versión más reciente de IoT Edge y el paquete de servicio de identidad de IoT (si aún no está actualizado):
22.04:
sudo apt-get update; \ sudo apt-get install aziot-edge
20.04:
sudo apt-get update; \ sudo apt-get install aziot-edge
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.
Cree un archivo de configuración para el dispositivo basándose en un archivo de plantilla que se proporciona como parte de la instalación de IoT Edge.
sudo cp /etc/aziot/config.toml.edge.template /etc/aziot/config.toml
Abra el archivo de configuración en el dispositivo IoT Edge.
sudo nano /etc/aziot/config.toml
Busque la sección Provisioning (Aprovisionamiento) del archivo. Quite las marcas de comentario de las líneas del aprovisionamiento a DPS de clave simétrica y asegúrese de que todas las demás líneas de aprovisionamiento estén comentadas.
# DPS provisioning with symmetric key [provisioning] source = "dps" global_endpoint = "https://global.azure-devices-provisioning.net" id_scope = "PASTE_YOUR_SCOPE_ID_HERE" # Uncomment to send a custom payload during DPS registration # payload = { uri = "PATH_TO_JSON_FILE" } [provisioning.attestation] method = "symmetric_key" registration_id = "PASTE_YOUR_REGISTRATION_ID_HERE" symmetric_key = { value = "PASTE_YOUR_PRIMARY_KEY_OR_DERIVED_KEY_HERE" } # auto_reprovisioning_mode = Dynamic
Actualice los valores de
id_scope
,registration_id
ysymmetric_key
con la información de DPS y del dispositivo.El parámetro de clave simétrica puede aceptar una clave insertada, un URI de archivo o un URI PKCS#11. Quite la marca de comentario de una sola línea de clave simétrica, en función del formato que decida usar. Si usa una clave insertada, use una clave codificada en base64 como el ejemplo. Si usa un URI de archivo, el archivo debe contener los bytes sin procesar de la clave.
Si usa algún URI PKCS#11, busque la sección PKCS#11 en el archivo de configuración y escriba la información de configuración de PKCS#11.
Para obtener más información sobre las opciones de configuración de aprovisionamiento, consulte Configuración del dispositivo IoT Edge.
Opcionalmente, busque la sección del modo de reaprovisionamiento automático del archivo. Use el parámetro
auto_reprovisioning_mode
para establecer el comportamiento de reaprovisionamiento del dispositivo. Dinámico: vuelve a aprovisionar cuando el dispositivo detecta que se puede mover de una instancia de IoT Hub a otra. Este es el valor predeterminado. AlwaysOnStartup: volver a aprovisionar cuando se reinicia el dispositivo o un bloqueo hace que los daemons se reinicien. OnErrorOnly: el reaprovisionamiento del dispositivo nunca se desencadena automáticamente. Cada modo tiene una reserva de reaprovisionamiento de dispositivo implícita si el dispositivo no se puede conectar a IoT Hub durante el aprovisionamiento de identidad debido a errores de conectividad. Para más información, consulte Conceptos sobre el reaprovisionamiento de dispositivos de IoT Hub.Opcionalmente, quite el comentario del parámetro
payload
para especificar la ruta de acceso a un archivo JSON local. El contenido del archivo se envía a DPS como datos adicionales cuando el dispositivo se registra. Esto es útil para la asignación personalizada. Por ejemplo, si desea asignar los dispositivos en función de un identificador de modelo de IoT Plug and Play sin intervención humana.Guarde y cierre el archivo.
Aplique los cambios de configuración realizados en el dispositivo.
sudo iotedge config apply
Comprobación de la instalación correcta
Si el entorno de ejecución se inicia correctamente, vaya a IoT Hub e inicie la implementación de módulos de IoT Edge en el dispositivo.
Compruebe que se usa la inscripción individual que creó en el servicio de aprovisionamiento de dispositivos. Vaya a su instancia del servicio de aprovisionamiento de dispositivos en el portal de Azure. Abra los detalles de la inscripción para la inscripción individual que ha creado. El estado de la inscripción está asignado y se muestra el id. de dispositivo.
Ejecute estos comandos en el dispositivo para comprobar que IoT Edge se instala e inicia correctamente.
Compruebe el estado del servicio IoT Edge.
sudo iotedge system status
Vea los registros de servicio.
sudo iotedge system logs
Enumere los módulos en ejecución.
sudo iotedge list
Pasos siguientes
El proceso de inscripción del servicio de aprovisionamiento de dispositivos le permite establecer el identificador de dispositivo y las etiquetas de dispositivo gemelo al configurar un nuevo dispositivo. Use estos valores para dirigirse a dispositivos individuales o grupos de dispositivos con la administración automática de dispositivos. Aprenda a implementar y supervisar módulos de IoT Edge a escala mediante Azure Portal o mediante la CLI de Azure.