Módulos guardianes
Un módulo guardián es un hardware complementario que incorpora un chip de Azure Sphere y se conecta físicamente a un puerto de un dispositivo heredado; es decir, un dispositivo existente que ya está en uso.
Los módulos guardianes permiten agregar funcionalidades de IoT seguras a equipos que no admiten la conectividad a Internet o que no la admiten de forma segura. En resumen, un módulo guardián es una manera de implementar conectividad segura en los dispositivos existentes sin exponerlos a Internet. Como se trata de un dispositivo de Azure Sphere, dispone de todas las características de seguridad y conectividad de Azure Sphere: todos los datos están cifrados, las actualizaciones del sistema operativo y las aplicaciones se entregan de forma segura, y la autenticación garantiza que el módulo se comunique únicamente con los hosts de confianza.
Este es el funcionamiento de un módulo guardián:
El módulo guardián se conecta a un dispositivo brownfield, como se describe en la sección Conectividad de este tema. El dispositivo heredado en sí no está conectado a la red.
El sistema operativo Azure Sphere se ejecuta en el módulo guardián junto con una aplicación de alto nivel personalizada y otras aplicaciones de Azure Sphere que su escenario necesite.
El módulo guardián usa el servicio de seguridad de Azure Sphere para las funcionalidades de autenticación basada en certificados, informes de errores y actualizaciones de software inalámbricas.
El dispositivo heredado se comunica con el módulo guardián, que puede responder con una acción local o enviando un informe a una presencia en la nube, como Azure IoT Central.
Puede comprar módulos guardianes a un proveedor y personalizarlos más adelante para sus necesidades, o puede diseñar su propio módulo guardián, quizás en colaboración con un asociado de hardware. Consulte el sitio web de Azure Sphere para obtener información acerca de los proveedores de hardware.
Usos de un módulo guardián
Un módulo guardián puede hacer cualquier otro Azure Sphere dispositivo, a la vez que actúa como una interfaz segura entre el equipo existente y una red externa. Entre los posibles usos de un módulo guardián se incluyen:
- Recopilación de datos del dispositivo brownfield, procesamiento de los datos y transmisión de los datos de forma segura a un punto de conexión de nube
- Envío de datos a varios puntos de conexión, siempre que pueda autenticar cada punto de conexión
- Recopilación de datos adicionales que no están disponibles en el dispositivo brownfield; por ejemplo, los sensores del módulo guardián podrían proporcionar datos ambientales para su uso con datos operativos del dispositivo brownfield.
- Guardar datos desde el dispositivo brownfield en caso de que se pierda la conectividad
El repositorio Azure Sphere ejemplos incluye dos ejemplos que muestran cómo se podría usar un dispositivo Azure Sphere como módulo guardián:
- Dispositivo a nube muestra cómo se puede usar un dispositivo Azure Sphere para la recopilación de datos a la vez que proporciona acceso seguro a Internet para un dispositivo brownfield que está conectado a él a través de una interfaz serie.
- Los servicios de red privada muestran cómo un dispositivo Azure Sphere puede proporcionar acceso seguro a Internet para un dispositivo brownfield que está conectado a él a través de una interfaz TCP/IP.
Conectividad
Hay varios mecanismos admitidos de conectividad entre el módulo guardián y la red, y entre el módulo guardián y el dispositivo brownfield. Para obtener información general sobre las Azure Sphere de conectividad, consulte Información general sobre conectividad y Requisitos de red.
La aplicación de alto nivel de un módulo guardián se comunica en sentido ascendente con la red, incluido el servicio de seguridad de Azure Sphere y otros servicios en la nube, y de bajada con el dispositivo brownfield:
Para las conexiones ascendentes entre el módulo guardián y la red, puede usar Ethernet, Wi-Fio telefonía móvil.
Para las conexiones de bajada entre el módulo guardián y el equipo brownfield, puede usar lo siguiente:
- Cualquier interfaz serie, como UART, RS-485 o SPI, que el dispositivo brownfield expone
- Ethernet privada, que no expone el dispositivo brownfield a la red pública
- Inalámbrico, como Bluetooth o Asínsbee
Desarrollo e implementación de aplicaciones
Desarrollar e implementar una aplicación para un módulo guardián no es diferente del desarrollo e implementación de una aplicación para cualquier otro dispositivo Azure Sphere protección. Consulte Información general sobre Azure Sphere aplicaciones y Conceptos básicos de la implementación para obtener más información. Al igual que con cualquier Azure Sphere dispositivo, un módulo guardián debe tener al menos una aplicación de Azure Sphere de alto nivel y también puede tener aplicaciones con respuesta en tiempo real.
Necesitará acceso al UART del servicio, que es la interfaz principal de programación y depuración entre mt3620 y el entorno de desarrollo que se ejecuta en un equipo host. Si diseña su propio módulo guardián, deberá asegurarse de que se exponen las señales UART del servicio y de que admite una manera de interfaz con el UART del servicio, ya sea en el propio módulo guardián o en un fragmento de hardware independiente. Si compra módulos de un proveedor, este deberá proporcionar una solución para que esta conexión sea posible.
Si este proveedor u otro van a crear la aplicación, es posible que tenga que proporcionar acceso a su inquilino de Azure Sphere para que el desarrollador de la aplicación pueda cargar y probar la aplicación, y crear una implementación.
Aplicaciones de alto nivel
Una aplicación de alto nivel del módulo guardián debe estar escrita de forma personalizada para los dispositivos brownfield de cada organización. Si el proveedor del módulo guardián proporciona una aplicación, asegúrese de recibir el código fuente de la aplicación de alto nivel y las bibliotecas para que pueda modificar o actualizar la aplicación según sea necesario.
Al igual que con Azure Sphere aplicación de dispositivo, los detalles específicos del dispositivo y específicos de la aplicación deben aparecer en el manifiesto de aplicación. Por ejemplo, las conexiones del módulo guardián son detalles específicos del dispositivo que deben incluirse en el manifiesto.
Una aplicación de alto nivel que se ejecuta en un módulo guardián es responsable de lo siguiente:
- Establecimiento y mantenimiento de la conectividad con el equipo de Brownfield
- Establecimiento y mantenimiento de la conectividad con Internet, incluido el Azure Sphere Security Service y otros servicios en la nube
- Control de los datos recibidos desde el dispositivo brownfield: desempaquetar y almacenar datos, si es necesario, y comunicarse con los hosts de Internet según corresponda
- Control de los datos recibidos de un host de Internet: desempaquetar y almacenar datos, si es necesario, y comunicarse con el equipo de Brownfield según corresponda.
Los datos que se envían en sentido ascendente pueden incluir informes de errores, parámetros operativos o datos de telemetría generales. Azure Sphere garantiza que todos estos datos están cifrados. La aplicación puede conectarse a servicios web y usar la autenticación mutua para dichas conexiones.
Los datos enviados en sentido descendente pueden incluir software actualizado o cambios en la configuración o los parámetros del dispositivo heredado. Para evitar posibles infracciones de seguridad, la aplicación debe validar los datos entrantes antes de pasarlo de bajada al dispositivo brownfield.
Consideraciones sobre la aplicación
Al crear una aplicación, debe tener en cuenta los periféricos disponibles, los requisitos de almacenamiento y el consumo de energía.
Dispositivos periféricos
Al igual que otros dispositivos de Azure Sphere, los módulos guardianes difieren en los periféricos que exponen. Elija un módulo guardián que proporcione la conectividad y las funcionalidades de detección que requiera su caso.
En función de la arquitectura de hardware del módulo guardián, es decir, de cómo expone las funcionalidades del chip de Azure Sphere, puede determinar si el software necesario para acceder a las características individuales debe implementarse como una aplicación de alto nivel o como una aplicación con respuesta en tiempo real.
Requisitos de almacenamiento
Azure Sphere almacenamiento limitado, por lo que debe considerar detenidamente cuánta memoria se necesita para las aplicaciones y los datos. Consulte Memoria disponible para obtener más información.
Cuando envíe datos de bajada desde la nube al dispositivo brownfield, asegúrese de que el módulo guardián tiene suficiente espacio para contener los datos. Es posible que tenga que enviar datos en fragmentos, como se muestra en HTTPS_Curl_Multi ejemplo en el repositorio Azure Sphere GitHub ejemplos.
Al enviar datos ascendentes desde el dispositivo brownfield al módulo guardián, asegúrese de que la aplicación puede controlar los errores de conectividad ascendentes. Si el dispositivo brownfield proporciona telemetría continua, debe tener en cuenta qué datos y cuánto se conservarán y, posteriormente, enviarlos a la nube cuando se restaure la conectividad. Consulte el ejemplo de la galeríade almacenamiento y reenvío, que muestra cómo usar el almacenamiento local para almacenar temporalmente en caché los datos antes de cargarlos.
Consumo de energía
Hay muchas aplicaciones en las que el módulo guardián está inactivo la mayoría de las veces. Por ejemplo, considere un dispositivo Azure Sphere que una vez cada hora recopila datos de una red de sensores y carga los datos en la nube, una operación que puede tardar un minuto o dos. En este caso, la mayor parte de la energía consumida por el dispositivo se desperdicia.
Puede reducir significativamente el consumo de energía y, por tanto, aumentar la duración de la batería colocando el dispositivo en estado de encendido cuando está inactivo o estableciendo un perfil de energía. Consulte Administración del estado de Power Down y Establecimiento de perfiles de energía para obtener más información.