Nota
O acceso a esta páxina require autorización. Pode tentar iniciar sesión ou modificar os directorios.
O acceso a esta páxina require autorización. Pode tentar modificar os 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.
Azure IoT Edge admite operaciones sin conexión extendidas en los dispositivos IoT Edge y también habilita las operaciones sin conexión en dispositivos posteriores. Mientras un dispositivo IoT Edge haya tenido al menos una oportunidad de conectarse a IoT Hub, ese dispositivo y cualquier dispositivo de bajada pueden seguir funcionando incluso con una conexión intermitente o sin conexión a internet.
Cómo funciona
Cuando un dispositivo de IoT Edge está en modo sin conexión, el centro de IoT Edge asume tres roles. En primer lugar, almacena los mensajes que deberían enviarse y los guarda hasta que el dispositivo vuelva a tener conexión. En segundo lugar, actúa en nombre de IoT Hub para autenticar módulos y dispositivos de bajada para que puedan seguir funcionando. En tercer lugar, permite la comunicación entre dispositivos descendentes que normalmente pasarían por IoT Hub.
En el ejemplo siguiente, se muestra cómo funciona un escenario de IoT Edge en modo sin conexión:
Configuración de dispositivos
De forma automática, los dispositivos de IoT Edge tienen habilitadas funcionalidades sin conexión. Para hacer extensible esa capacidad a otros dispositivos, hay que configurar los dispositivos de bajada para que confíen en su dispositivo principal asignado y enrutar las comunicaciones de dispositivo a nube a través del principal como puerta de enlace.
Sincronización con IoT Hub
Es necesario que, al menos una vez después de instalar el entorno de ejecución de IoT Edge, el dispositivo de IoT Edge tenga conexión para sincronizarse con IoT Hub. En esta sincronización, el dispositivo IoT Edge obtiene detalles de los dispositivos descendentes asignados a él. El dispositivo IoT Edge también actualiza de forma segura su caché local para permitir las operaciones sin conexión y recupera la configuración del almacenamiento local de mensajes de telemetría.
Desconectar
Mientras el dispositivo IoT Edge está desconectado de IoT Hub, sus módulos implementados y los dispositivos aguas abajo pueden operar indefinidamente. Mientras están sin conexión, los módulos y los dispositivos downstream pueden iniciarse y reiniciarse autenticándose frente al hub de IoT Edge. Los datos de telemetría que deben enviarse a IoT Hub se almacenan localmente. La comunicación entre módulos o entre dispositivos de bajada se realiza mediante mensajes o métodos directos.
Nueva conexión y nueva sincronización con IoT Hub
Una vez que se restaura la conexión con IoT Hub, el dispositivo de IoT Edge vuelve a sincronizarse. Los mensajes almacenados de manera local se entregan a la instancia de IoT Hub directamente, pero dependen de la velocidad de la conexión, la latencia de IoT Hub y otros factores relacionados. Los mensajes se entregan en el mismo orden en el que se almacenaron.
Las diferencias entre las propiedades deseadas y notificadas de los módulos y los dispositivos se concilian. El dispositivo IoT Edge actualiza cualquier cambio en su conjunto de dispositivos descendentes asignados.
Restricciones y límites
Las funcionalidades extendidas sin conexión descritas en este artículo están disponibles en IoT Edge versión 1.0.7 o posterior. Las versiones anteriores tienen un subconjunto de características sin conexión. Los dispositivos de IoT Edge existentes que no tienen funcionalidades sin conexión ampliadas no se pueden actualizar cambiando la versión del entorno de ejecución, sino que deben volver a configurarse con una nueva identidad de dispositivo de IoT Edge para obtener estas características.
Solo los dispositivos que no son IoT Edge pueden ser agregados como dispositivos descendentes.
Los dispositivos IoT Edge y los dispositivos descendentes asignados pueden funcionar indefinidamente sin conexión después de la sincronización inicial única. Sin embargo, el almacenamiento de mensajes depende de la configuración del tiempo de vida (TTL) y del espacio en disco disponible para el almacenamiento de estos mensajes.
Un elemento EdgeAgent de un dispositivo actualiza sus propiedades notificadas cada vez que hay un cambio en el estado de implementación, como una implementación nueva o con errores. Cuando un dispositivo está sin conexión, EdgeAgent no puede notificar el estado a Azure Portal. Por lo tanto, el estado del dispositivo en el portal de Azure puede permanecer 200 OK cuando el dispositivo IoT Edge no tiene conectividad a Internet.
Configurar dispositivos padre e hijo
De forma predeterminada, un dispositivo padre puede tener hasta 100 dispositivos secundarios. Puede cambiar este límite estableciendo la variable de entorno MaxConnectedClients en el módulo edgeHub. Un dispositivo hijo solo tiene un dispositivo padre.
Nota:
Un dispositivo aguas abajo emite datos directamente a Internet o a dispositivos de puerta de enlace (compatible o no con IoT Edge). Un dispositivo hijo puede ser un dispositivo descendente o un dispositivo gateway en una topología en bucle.
Los dispositivos descendentes pueden ser cualquier dispositivo no IoT Edge registrado en el mismo IoT Hub.
Si no está familiarizado con la creación de una relación de padre e hijo entre un dispositivo IoT Edge y un dispositivo IoT, consulte Autenticar un dispositivo descendente en Azure IoT Hub. Las secciones de clave simétrica, X.509 autofirmado y X.509 firmado por la entidad de certificación muestran ejemplos de cómo usar Azure Portal y la CLI de Azure para definir las relaciones de elementos primarios y secundarios al crear dispositivos. En el caso de los dispositivos existentes, puede declarar la relación desde la página de detalles del dispositivo del dispositivo padre o hijo.
Configuración del dispositivo principal como puerta de enlace
Se puede considerar una relación principal-secundario como una puerta de enlace transparente, donde el dispositivo secundario tiene su propia identidad en IoT Hub, pero se comunica a través de la nube por medio de su dispositivo principal. Para una comunicación segura, el dispositivo secundario debe ser capaz de comprobar que el dispositivo principal proviene de un origen de confianza. En caso contrario, terceros podrían instalar dispositivos malintencionados para suplantar a los padres e interceptar comunicaciones.
En los siguientes artículos se describe de forma detallada una manera de crear esta relación de confianza:
- Configuración de un dispositivo IoT Edge para que actúe como puerta de enlace transparente
- Conectar un dispositivo descendente (secundario) a una puerta de enlace de Azure IoT Edge
Especificación de los servidores DNS
Para mejorar la solidez, se recomienda especificar las direcciones del servidor DNS usadas en su entorno. Para configurar su servidor DNS para IoT Edge, consulte la resolución que encontrará en el apartado El módulo Agente de Edge notifica "archivo de configuración vacío" y no se inicia ningún módulo en el dispositivo del artículo de solución de problemas.
Ajustes opcionales del modo sin conexión
Si los dispositivos se desconectan, el dispositivo principal IoT Edge almacena todos los mensajes de dispositivo a nube hasta que se restablece la conexión. El módulo del centro de IoT Edge administra el almacenamiento y el reenvío de los mensajes sin conexión. En el caso de dispositivos que pueden desconectarse durante largos períodos, configure dos valores del centro de IoT Edge para optimizar el rendimiento.
En primer lugar, aumente el valor del período de vida para que el centro de IoT Edge conserve los mensajes el tiempo necesario para que su dispositivo se vuelva a conectar. A continuación, agregue espacio en disco adicional para el almacenamiento de mensajes.
Tiempo de vida útil
La configuración del período de vida es la cantidad de tiempo (en segundos) que puede esperar un mensaje para entregarse antes de que expire. El valor predeterminado es 7200 segundos (dos horas). El valor máximo solo está limitado por el valor máximo de una variable de entero, que equivale aproximadamente a dos mil millones.
Esta configuración es una propiedad deseada del centro de IoT Edge, que se almacena en el módulo gemelo. Puede configurarla en Azure Portal o directamente en el manifiesto de implementación.
"$edgeHub": {
"properties.desired": {
"schemaVersion": "1.0",
"routes": {},
"storeAndForwardConfiguration": {
"timeToLiveSecs": 7200
}
}
}
Almacenamiento de host para módulos del sistema
Los mensajes y la información de estado de los módulos se almacenan de manera predeterminada en el sistema de archivos de contenedor local del centro de IoT Edge. Para mejorar la confiabilidad, especialmente cuando se trabaja sin conexión, también puede dedicar almacenamiento en el dispositivo host de IoT Edge. Para obtener más información, consulte Dar a los módulos acceso al almacenamiento local de un dispositivo
Pasos siguientes
Más información sobre cómo configurar una puerta de enlace transparente para las conexiones de dispositivos principales y secundarios: